背景Kubernetes をビジネスのオーケストレーションと管理に使用する場合、通常、Kubernetes にはビジネスの南北トラフィックにアクセスするためのソリューションがいくつかあります。この記事では、アクセス ソリューションについて簡単に紹介します。 交通アクセスソリューションKubernetes コミュニティは、クラスターにエントリ ポイントを追加することで、外部トラフィック管理の問題を解決します。 kube-proxy 経由のプロキシ通常、最も単純なテスト環境または個人開発環境では、 kubectl port-forwardを使用して kube-proxy プロセスを開始し、コマンドが実行されるホスト ノードに内部サービスをプロキシできます。ホストにパブリック IP があり、転送リスニング ポートが0.0.0.0の場合、パブリック ネットワークからサービスにアクセスできます。このメソッドは、単一の Pod、Deployment、または Servcie をプロキシできます。 $ kubectl ポート転送-h NodePort メソッド 2番目によく使用される方法は、NodePort メソッドです。 K8s のサービス タイプを NodePort メソッドに変更すると、ポート範囲 30000 ~ 32767 のホスト ポートが取得されます。同様に、ホストはパブリック IP を持っている場合はサービスを公開できますが、NodePort がホスト ポートを占有します。 1 つのサービスは 1 つの NodePort に対応します。この方法は 4 層のみであり、SSL 証明書をアンロードすることはできません。サービスが単一のノードの NodePort に転送される場合、高可用性は実現できません。通常、高可用性を実現するには、NodePort の前に負荷分散を備えた複数のバックエンド NodePort を追加する必要があります。 ロードバランサー4層レイヤー 4トラフィック転送の場合、LB ポートは 1 つのサービスにのみ対応し、サービス タイプは NodePort です。たとえば、次の図に示すように、LoadBalancer のポート 88 は、servcieA に対応するバックエンド NodePort のポート 32111 に転送されます。 LB 上のポート 8080 は、バックエンド NodePort のポート 32001 に転送されます。このソリューションでは、複数の NodePort を追加することで高可用性を実現できますが、レイヤー 4 であり SSL をアンロードできないため、対応する NodePort が LB 内のポートを占有する必要があります。 7階第 7 層では、LB のドメイン名転送を使用して、複数のサービスに対応する 1 つのドメイン名ポートを実現できます。図に示すように、パスによれば、/cmp は NodePort の 32111 に対応し、/gateway は NodePort の 32000 ポートに対応します。これにより、高可用性を実現できるだけでなく、第 7 層での SSL アンロードも実現できます。 現在、一般的なパブリッククラウドの LB レベルにはレイヤー 4 とレイヤー 7 の機能があり、これらを組み合わせて使用することで柔軟なビジネス トラフィックの公開を実現できます。 イングレスK8s には、異なるパスやその他の構成ルールに従って、K8 クラスター内の異なるサービスに単一のドメイン名転送を実装するための Ingress リソースがあります。ただし、ユーザー リクエストは、Ingress-nginx コントローラーのサービスの NodePort など、Ingress 実装コントローラーの NodePort にアクセスする必要があります。特定のビジネス ドメイン名には通常ポートがないため、通常はその前にポート転送 80/443 のレイヤーが必要です。 業界では、よく知られている Ingress (nginx/Ingress-traefik) など、Ingress Controller を実装するためのソリューションが数多く存在します。 ロードバランサー + イングレス下の図に示すように、ポート 80/443 を ingress-provider の Service の NodePort に転送するために、前面に 4 層の LB があります。 K8s クラスター内には複数のサービスが構成されています。 Ingress-nginx の詳細な説明上記のソリューションでは、Ingress が使用されています。 Nginx-ingress は、K8s イングレス リソースを実装するために Nginx によって公式に提供されるソリューションです。同時に、Kubernetes は Nginx をベースにした Ingress ソリューションも公式に提供しています。 Nginx Ingress は、リソース オブジェクト Ingress、Ingress コントローラー、Nginx の 3 つの部分で構成されます。 Ingress コントローラーの目的は、構成ファイル (nginx.conf) を構築することです。これは主に、構成ファイルの変更を検出した後に Nginx をリロードすることによって実現されますが、アップストリームが変更されたとき (アプリケーションのデプロイ時にエンドポイントを変更したとき) に Nginx をリロードするだけではありません。これは lua-nginx-module を使用して実装されます。 次の図は、Ingress-nginx の使用シナリオをよりよく理解するのに役立ちます。 この図には次の情報が表示されます。
黄色と紫色の矢印はクライアント トラフィックに関連する接続を表し、黒色の矢印は Kubernetes API へのアクセスを表します。 簡潔にするために、デプロイメントやサービスなど、多くの必要な Kubernetes リソースは表示されませんが、管理者とユーザーはこれらのリソースを作成する必要があります。 他のK8s では、Alibaba の ACK、Tencent の TKE、Huawei の CCE など、クラウドベンダーが CNI 対応の LB を提供することが多く、K8s クラスターを作成すると LB タイプのサービスが自動的に作成されます。しかし、自作や個人的なテストのシナリオでは、オープンソースのMetallb[1]が適切な選択肢となります。 K8s のネイティブな方法で LB タイプのサービス サポートを提供し、すぐに使用できます。もちろん、QingCloud TechnologyのKubeSphereチームによるオープンソースのロードバランサプラグインOpenELB[2]もあります。これは、物理マシン(ベアメタル)、エッジ(Edge)、プライベート環境向けに設計されたロードバランサプラグインです。 Kubernetes、K3s、KubeSphere の LB プラグインとして使用して、クラスターの外部に「LoadBalancer」タイプのサービスを公開できます。 2021 年 11 月に CNCF Sandbox ホスティングに参加し、ベアメタルまたはプライベート環境、特に物理マシンやエッジ クラスターに Kubernetes クラスターを展開するユーザーの悩みも解決します。 Kubernetes は LoadBalancer を提供しておらず、クラウドベースのロードバランサーと同じユーザーエクスペリエンスを提供します。 参考リンク[1]Metallb: https://github.com/metallb/metallb. [2]OpenELB: https://openelb.io/. |
<<: クラウドコンピューティング市場を拡大し強化するには、現実的でなければならない
>>: クラウドストレージ緊急訓練システムの構築とシナリオ設計
現時点では、答えはすでに非常に明確です。ライブストリーミング電子商取引は電子商取引の主流の形態になっ...
Admin5 Webmaster Network ニュース: 12 月 18 日に、Baidu We...
編集者注: この記事の著者は、Tencent Weibo Open Platform の Xu Zh...
Impactvps は 8 月に新しい NVMe シリーズの KVM 仮想 VPS をリリースしまし...
gcorelabs のモスクワ 2 データ センターは新しく開設され、KVM 仮想化、純粋な SSD...
2009 年に設立されたこの VPS 企業 Hostmist は、価格を値下げし、プロモーションを行...
小紅書が主要なAndroidアプリストアから削除された疑いがあるというニュースは、今朝すぐにWeib...
カリフォルニア州に登録されている会社である beastnode (http://kepler.sos...
Oracle Hospitality は最近、Oracle PartnerNetwork (OPN)...
この記事はもともと500.coに掲載されたもので、Mark Saldañaによって執筆されました。こ...
翻訳者 |李睿校正:孫淑娟攻撃から守るための巨大な壁、強固な門、監視塔、堀を備えた巨大な要塞を想像す...
【51CTO.comオリジナル記事】 [[376638]] [51CTO オリジナル記事、パートナー...
Google は私のお気に入りの検索エンジンです。私は Google の精神に感銘を受け、Googl...
Zenlayerは日本に自社データセンターを構えており、日本独立サーバーに従来回線を標準で提供するほ...
Wenaiyun(wenaiyun)は、2007年に香港(LOKWIN INTERNATIONAL ...