Kubernetes 内のネットワークは、物理的な世界のネットワークとそれほど変わりません。ネットワークの基本的な知識があれば、コンテナ ポッドとサービス間の通信を簡単に実現できます。 スイッチ、ルーター、イーサネット ケーブルを使用する物理ネットワークから、ソフトウェア定義ネットワーク (SDN) と仮想インターフェイスを使用する仮想ネットワークに移行するには、多少の学習が必要です。もちろん、原則は同じですが、規範やベストプラクティスは異なります。 Kubernetes には独自のルールセットがあり、コンテナやクラウドを扱う場合は、Kubernetes ネットワークの仕組みを理解しておくと役立ちます。 Kubernetes ネットワーク モデルには、覚えておくべき一般的なルールがいくつかあります。
Kubernetes ネットワークはどのような問題を解決しますか?Kubernetes ネットワークは、Kubernetes 内のさまざまなエンティティ タイプが通信できるように設計されています。 Kubernetes インフラストラクチャのレイアウトは、設計上、多くの分離が行われています。名前空間、コンテナ、およびポッドは、コンポーネントを互いに区別できるように設計されているため、高度に構造化された通信計画が重要です。 コンテナ間ネットワークコンテナ間のネットワークは、Pod ネットワーク名前空間を通じて行われます。ネットワーク名前空間を使用すると、システムの他の部分から分離され、独立して実行される独立したネットワーク インターフェイスとルーティング テーブルを持つことができます。各ポッドには独自のネットワーク名前空間があり、コンテナは同じ IP アドレスとポートを共有します。これらのコンテナはすべて同じ名前空間の一部であるため、コンテナ間の通信はすべて localhost を介して行われます。 (図では緑の線で示されています。) ポッド間ネットワークKubernetes では、各ノードにポッド用の指定された CIDR IP 範囲があります。これにより、各ポッドがクラスター内の他のポッドから認識できる一意の IP アドレスを受け取ることが保証されます。新しいポッドが作成されても、IP アドレスが重複することはありません。コンテナ間ネットワークとは異なり、Pod を同じノードにデプロイするか、クラスター内の異なるノードにデプロイするかに関係なく、Pod 間の通信は実際の IP を使用して行われます。 上の図は、ポッドが相互に通信するためには、ポッド ネットワーク名前空間とルート ネットワーク名前空間の間でトラフィックが流れる必要があることを示しています。これは、仮想イーサネット デバイスまたは veth ペア (図では veth0 を Pod 名前空間 1 に、veth1 を Pod 名前空間 2 に接続) を介して Pod 名前空間とルート名前空間を接続することによって実現されます。仮想ブリッジはこれらの仮想インターフェイスを接続し、アドレス解決プロトコル (ARP) を使用してそれらの間で通信が流れるようにします。 データが Pod 1 から Pod 2 に送信される場合、イベント フローは次のようになります。
ポッドからサービスへのネットワークポッドは動的です。需要に応じて規模を拡大または縮小する必要があるかもしれません。アプリケーションがクラッシュしたりノードに障害が発生した場合でも、再度作成できます。これらのイベントにより、Pod の IP アドレスが変更され、ネットワークの問題が発生する可能性があります。 Kubernetes は、次のことを実行するサービス機能を使用してこの問題を解決します。
クラスター内で負荷を分散する方法は 2 つあります。
上の図は、Pod 1 から Pod 3 へのパケット フローを示しています。このフローは、サービスを経由してさまざまなノード (赤でマーク) に渡されます。仮想ブリッジ宛てのパケットは、ブリッジ上で実行されている ARP がそのサービスを理解しないため、デフォルト ルート (eth0) を使用する必要があります。その後、パケットは iptables を介してフィルタリングされる必要があります。iptables は、kube-proxy によってノードに定義されたルールを使用します。したがって、図は現在のパスを示しています。 インターネットからサービスネットワークへこれまで、クラスター内でトラフィックをルーティングする方法について説明しました。ただし、Kubernetes ネットワークには、アプリケーションを外部ネットワークに公開するという別の側面もあります。 アプリケーションを外部ネットワークに公開するには、2 つの方法があります。
ディスカバリーサービスKubernetes は次の 2 つの方法でサービスを検出します。
公開されたサービスの ServiceTypes Kubernetes サービスは、通常ラベル セレクターを使用して定義される一連の Pod にアクセスする方法を提供します。これは、クラスター内の他のアプリケーションにアクセスしようとするアプリケーションである場合もあれば、クラスター内で実行されているアプリケーションを外部に公開できるようにする場合もあります。クベネフィット さまざまな ServiceTypes には次のものが含まれます。
ネットワークソフトウェア使用されているテクノロジーを理解していれば、Kubernetes 内のネットワークは物理的な世界のネットワークとそれほど変わりません。一生懸命勉強してネットワークの基礎を覚えておけば、コンテナ、ポッド、サービス間の通信を簡単に実現できます。 |
<<: Azure で発見された 6 つの「悪夢」のクラウド セキュリティ脆弱性に対する Microsoft の対応
>>: ビジネスニーズを中心としたクラウドネイティブアーキテクチャシステムの構築
供給とモデルの二重のボトルネックに遭遇地元の高級品電子商取引は変革の困難に直面チー・ジエ資金打ち切り...
筆者は最近、自動車製品のプロモーションを担当しており、過去数か月間に利益と損失の両方を経験しました。...
tnahosting は、公式には に設立されたと主張していますが、実際には誇張が非常に大きく、主に...
SAP は本日開催された SAPPHIRE NOW カンファレンスにおいて、ビジネス成果の向上、経済...
マーケティングの世界では、どこでも見かける言葉があります。それは「強力な提携」です。しかし、この4つ...
IDC Review Network (idcps.com) は 6 月 9 日に次のように報告しま...
5G の高速性と低遅延性をエッジ コンピューティングの処理能力と組み合わせることで、IoT とモバイ...
Nexusbytes は現在、米国西海岸のロサンゼルス データ センターの VPS をフラッシュ セ...
冬が来ました。南の人々が暖を取るために純粋に「属性」に頼るのに対し、北の人々は冬を乗り切るために「装...
hosteons はシンガポールに登録されている会社です (HOSTEONS PTE. LTD.、登...
ウェブサイトの改訂後、IP アドレスの数は 1 日あたり数万から数百に減少しました。バッファ回復期間...
初心者として、SEO 業界に参入する前に、まず SEO を理解する必要があります。 1. SEO と...
COVID-19パンデミックは多くの企業の業務に大きな変化をもたらしました。多くの企業は、顧客の期待...
GOOGLEが中国市場から撤退して以来、Baiduは国内市場の大部分を占めることに成功している。最近...
記者の趙娜が北京からレポートします春節休暇は、一年の最初のゴールデンウィークとして、常に全国にとって...