Kubernetes をデプロイすると、完全なクラスターが作成されます。 Kubernetes は、最も人気があり、広く採用されているコンテナ オーケストレーションおよび管理プラットフォームであり、その背後には一連の強力なコンポーネントがあり、それらが連携して、コンテナ化されたアプリケーションの自動展開、柔軟な拡張、サービス検出、負荷分散などの主要機能を実現します。この記事では、Kubernetes クラスターの主なコンポーネントを紹介し、それらの役割と相互関係を明らかにし、Kubernetes の内部の仕組みを深く理解できるようにします。 インストール前に理解しておくべき概念がいくつかあります - ノード: Kubernetes では、ノードはクラスター内のワーカー マシンです。各ノードはコンテナを実行し、Kubernetes によって管理されます。
- API サーバー: API サーバーは、Kubernetes クラスター コントロール プレーンのフロントエンドであり、ユーザーや他のコンポーネントからの API 要求を処理し、要求を認証し、構成データを永続化します。
- kubelet: kubelet は各ノード上で実行されるエージェントです。マスター ノードと通信して、ノード上で実行されているコンテナーが期待どおりの状態であることを確認する役割を担います。
- kube-proxy: kube-proxy は、ノード上のネットワーク ルールを維持し、サービス間のネットワーク通信を確保するためにサービスの負荷分散とプロキシ機能を提供します。
- etcd: etcd は、クラスターの構成データ、ステータス、メタデータを保存するために使用される分散キー値ストレージ システムです。これは、Kubernetes コントロール プレーンの重要なコンポーネントの 1 つです。
- スケジューラ: スケジューラは、ノード リソースや制約などの要素を考慮してスケジュールの決定を行い、新しく作成されたポッドを適切なノードに割り当てる役割を担います。
- コントローラー マネージャー: コントローラー マネージャーには、クラスターの状態の変化を監視し、目的の状態に基づいて調整を行う複数のコントローラーが含まれています。たとえば、レプリケーション コントローラはレプリカの数を管理する役割を担います。
1. kube-apiserver kube-apiserver は Kubernetes コントロール プレーンのフロントエンドであり、ユーザーや他のコンポーネントがクラスターと対話するためのエントリ ポイントとして機能します。クライアント、コマンドライン ツール、コントローラーからの API リクエストを処理し、認証、承認、データの永続化を実行し、クラスターの構成状態を etcd に保存します。 kube-apiserver の機能性と安定性は、クラスター全体の信頼性にとって重要です。 機能と効果: - API フロントエンド: kube-apiserver は、Kubernetes クラスターの統合 API エントリ ポイントを提供し、ユーザー、コマンドライン ツール、およびさまざまなコンポーネントが RESTful API を介してクラスターと対話できるようにします。これには、ポッド、サービス、デプロイメントなどのリソース オブジェクトの作成、更新、削除が含まれます。
- 認証と承認: kube-apiserver は、リクエストの ID を検証し、認証されたユーザーとコンポーネントのみが API にアクセスできるようにする役割を担います。さらに、ユーザーの権限に基づいてリソースに対して要求された操作を許可するかどうかを決定する承認の役割も担います。
- データの永続性: クラスターの構成データとステータス情報は etcd に保存され、kube-apiserver は etcd との通信、構成データの etcd への永続化、etcd からのデータの読み取りを担当します。
- リソース管理: kube-apiserver は、リソースのステータスと変更を監視し、リソースのステータスが変更されたときにコントローラーと他のコンポーネントに通知して対応する操作を実行する役割を担います。これにより、クラスター内の各リソースの一貫した望ましい状態が維持されます。
- 拡張性とカスタマイズ: kube-apiserver はマルチバージョン API をサポートしているため、ユーザーは特定のビジネス ニーズに合わせてリソース タイプとコントローラーをカスタマイズできます。
2. などetcd は、Kubernetes 用の分散キー値ストレージ システムであり、クラスターの構成データ、ステータス、メタデータを保存するために使用されます。 Kubernetes コントロール プレーンの永続ストレージとして、etcd の信頼性と一貫性は、クラスター全体の安定した動作に不可欠です。 etcd の主な機能は次のとおりです。 - 一貫性: etcd はデータ ストレージの強力な一貫性を保証します。これは Raft コンセンサス アルゴリズムを使用しており、これによりクラスター内の複数のノードがデータの状態について合意に達することができます。
- 分散: etcd は複数のノードのクラスターで実行されるように設計されています。これにより、冗長性とフォールト トレランスが保証されます。
- キー値ストレージ: etcd は、キーを使用してデータを保存および取得できるシンプルなキー値データ モデルを提供します。値は文字列、バイナリ データ、または JSON のようなシリアル化されたデータ構造にすることができます。
- 監視メカニズム: etcd は、特定のキーが変更されたときにアプリケーションが通知を受け取ることができる監視メカニズムをサポートしています。これは、構成やその他の重要なデータの変更に反応するアプリケーションを構築する場合に役立ちます。
- HTTP/gRPC API: etcd は HTTP および gRPC API を提供するため、さまざまなプログラミング言語やプラットフォームを使用してクラスターと対話することが容易になります。
- 構成管理: etcd は、分散アプリケーションの構成データを保存するのによく使用されます。これにより、複数のアプリケーション インスタンスにわたって構成設定を簡単に更新できるようになります。
- サービス検出: etcd はサービス検出に使用でき、アプリケーションは分散システム内のサービスの場所を動的に検出できます。
- リーダー選出: etcd の Raft コンセンサス アルゴリズムは、分散システムが調整されたリーダー ノードを選択する必要があるリーダー選出シナリオでも使用できます。
- セキュリティ: etcd は、クラスター内の通信のセキュリティを確保するために、認証と送信の暗号化をサポートしています。
3. kubeスケジューラkube-scheduler は Kubernetes クラスターのコア コンポーネントであり、新しく作成された Pod を実行するためにクラスター内の適切なノードを選択する役割を担います。一連のポリシーと条件に基づいてポッドを最も適切なノードに割り当て、負荷分散とリソース使用率の最適化を実現します。 kube-scheduler の主な動作原理と機能は次のとおりです。 - ノード選択戦略: kube-scheduler は、構成可能なノード選択戦略のセットに基づいて、Pod を割り当てるノードを決定します。これらのポリシーは、リソース要件、アフィニティ、アンチアフィニティ、ノードテイントなどの要素に基づいて設定できます。
- リソース使用率の最適化: kube-scheduler は、クラスター内の各ノードのリソース使用率を考慮して、新しいポッドが十分なリソースを持つノードに割り当てられるようにし、リソースの無駄や過度の混雑を回避します。
- アフィニティとアンチアフィニティ: kube-scheduler は、特定のノードに対するポッドのアフィニティまたはアンチアフィニティを設定できます。つまり、指定されたラベルを満たすノードにポッドを割り当てたり、特定のラベルを持つノードに割り当てられないようにしたりすることができます。
- ノードのテイントと許容範囲: ノードには、特定のハードウェアやソフトウェアなどの特定の制限があることを示すテイントを設定できます。ポッドは、許容範囲を通じて許容できるノード テイントを示すことができるため、kube-scheduler は許容範囲に一致するノードにポッドを割り当てます。
- プラグイン拡張: kube-scheduler を使用すると、ユーザーはプラグインを通じてノード選択プロセスをカスタマイズできます。これにより、ユーザーはニーズに応じてカスタマイズされたスケジュール戦略を追加できます。
- スケーラビリティ: kube-scheduler は複数のスケジューラ インスタンスを同時に実行することをサポートしており、各インスタンスは異なる構成とポリシーを持つことができます。このアーキテクチャは、必要に応じてスケールアウトして、より大きなクラスターを処理できます。
- スケジューリングの遅延: スケジューラは決定を下すために複数の要素を考慮する必要があるため、新しいポッドを作成するときにスケジューリングの遅延が発生する可能性があります。これは、クラスターの負荷、スケジューリング戦略、およびその他の要因によって異なります。
4. kube コントローラー マネージャーkube-controller-manager は、Kubernetes クラスターのコア コンポーネントです。さまざまなコントローラーの管理、クラスターの状態の監視、クラスター内の実際の状態が予想される状態と一致していることを確認する役割を担います。これらのコントローラーは、レプリカ制御、ノード管理、サービス、エンドポイントなど、クラスター内のさまざまなタスクと機能を自動化する役割を担います。 kube-controller-manager の主な機能とコントローラーの例を以下に示します。 - レプリケーション コントローラー: Pod レプリカの数を管理し、クラスター内で常に指定された数の Pod インスタンスが実行されていることを確認します。ポッドの数が必要な数より少ない場合、レプリケーション コントローラーは新しいポッドのレプリカを作成します。
- デプロイメント コントローラー: 宣言型構成に基づいて Pod のデプロイメントと更新を管理します。アプリケーションの複数のバージョンを作成および管理し、ローリング アップデートとロールバックをサポートできます。
- ノード コントローラー: ノードのステータスを監視し、クラスター内のノードの数が必要な範囲内に留まるようにする役割を担います。ノードがオフラインまたは使用できない場合、ノード コントローラーはそれを調整するためのアクションを実行します。
- サービス コントローラー: サービス オブジェクトで定義されたネットワーク エンドポイントが、基盤となる Pod の変更と一致していることを確認します。これは、基盤となる Endpoints オブジェクトを更新することによって行われます。
- 名前空間コントローラー: 名前空間の作成と削除が期待どおりに行われることを確認し、名前空間が削除されたときに関連リソースをクリーンアップします。
- 永続ボリューム コントローラー: 永続ボリュームと永続ボリューム要求のステータスを監視して、ストレージ リソースの正しい割り当てを確保します。
- ジョブ コントローラ: 1 回限りのタスクを管理し、タスクが正常に実行されるようにするために使用されます。タスクの再試行と失敗を処理できます。
- DaemonSet コントローラー: 各ノードで Pod のコピーが実行されるようにします。各ノードで特定のタスクが実行されるシナリオに適しています。
5. クベレットKubelet は Kubernetes クラスターの重要なコンポーネントです。各ノード上で実行され、ノード上のコンテナとポッドの管理を担当します。コントロール プレーン (API サーバーや kube-controller-manager など) と通信して、ノード上のコンテナーが目的の状態と一致していることを確認します。 kubelet の主な機能とその仕組みは次のとおりです。 - ポッド管理: kubelet はノード上のポッドの管理を担当します。 API サーバーから取得した Pod 定義 (PodSpec) に基づいて、コンテナを作成、起動、停止、削除します。
- コンテナのライフサイクル管理: Kubelet は、コンテナの実行状態を監視し、必要に応じて障害が発生したコンテナを再起動する役割を担います。また、ストレージ ボリュームのマウントやコンテナーのネットワーク設定などの操作も処理します。
- リソース管理: kubelet はノードのリソース使用率を監視し、ノードのリソース制限を超えないようにします。リソースの要求と制限に基づいて適切な QoS クラスを設定し、Pod リソースの割り当てを調整できます。
- ヘルスチェックとプローブ: Kubelet は、定期的なヘルスチェックとプローブを通じてコンテナのヘルス状態を監視します。コンテナが正常でない場合、kubelet はコンテナを再起動したり、サービスから削除したりするなど、適切なアクションを実行します。
- ポッド イベントとステータスのレポート: Kubelet は、ノードで発生したイベントとステータス情報をクラスターの API サーバーに報告し、コントロール プレーンが各ノードとポッドのステータスを追跡できるようにします。
- コントロール プレーンとの通信: kubelet は API サーバーおよび kube-controller-manager と通信して、Pod 定義を取得し、ステータスを報告し、コンテナを起動または停止する指示を受信します。
- ポッドライフサイクルフック: Kubelet は、コンテナの作成前と後、コンテナの停止前と後など、コンテナライフサイクルのさまざまな段階でユーザー定義フックの実行をサポートしています。
- リソースの割り当てと制限: kubelet は、Pod のリソース要求と制限に基づいて、コンテナのリソース使用量を監視および制限します。
- イメージ管理: Kubelet は指定されたコンテナ イメージ リポジトリからイメージをダウンロードしてコンテナを起動します。
6. kubeプロキシkube-proxy は Kubernetes クラスターのコア コンポーネントであり、クラスター内でのネットワーク通信の実装を担当します。ノード上のネットワーク ルールと転送ルールを維持することで、Pod にネットワーク プロキシ機能と負荷分散機能を提供し、クラスター内の Pod が相互に通信できるようにします。 kube-proxy の主な機能とその動作は次のとおりです。 - 負荷分散: kube-proxy は、仮想 IP アドレスまたは IPVS 負荷分散ルールを作成して、サービス トラフィックを複数のバックエンド ポッドに分散します。これにより、クラスター内のアプリケーションを複数のインスタンス間で負荷分散できるようになります。
- ネットワーク プロキシ: サービスへのトラフィックの場合、kube-proxy はノード上にルールを作成し、トラフィックを適切なバックエンド ポッドにリダイレクトします。このプロキシ アプローチにより、クライアントはサービスの背後にある Pod がどのようにデプロイされているかを知らなくても、サービスに透過的にアクセスできるようになります。
- サービス実装モード: kube-proxy は、iptables、IPVS、ユーザー空間など、複数のサービス実装モードをサポートしています。異なるモードは、異なるネットワーク環境で異なるパフォーマンスと機能を提供します。
- サービス検出: kube-proxy はサービス検出機能も提供しており、クライアントはバックエンド Pod の特定の IP アドレスを知らなくても、サービス名を通じてサービスにアクセスできます。
- ルールのメンテナンス: kube-proxy は、サービスとエンドポイントの変更、およびポッドの追加と削除を監視します。変更があった場合は、対応するルールを更新して、ネットワーク トラフィックがターゲット Pod に正しくルーティングされるようにします。
- 環境適応性: kube-proxy の基盤となる実装は、クラスター ノードのオペレーティング システムとネットワーク環境によって異なります。環境の違いに応じて適切な実装モードを選択します。
- 高可用性: 通常、ノード障害が発生した場合でもサービス接続が維持されるように、各ノードで kube-proxy インスタンスが実行されます。
7. コンテナランタイムコンテナ ランタイムは、コンテナの作成、実行、管理を担当するソフトウェア コンポーネントです。 Kubernetes クラスターでは、コンテナ ランタイムがノード上でコンテナ化されたアプリケーションの作成と管理を担当します。 Kubernetes はコンテナと直接やり取りするのではなく、コンテナ ランタイムを通じてコンテナを管理します。コンテナ ランタイムと対話して、コンテナを作成、開始、停止、削除し、コンテナのライフサイクルを管理します。 一般的なコンテナ ランタイムを次に示します。 - Docker: Docker は最も広く使用されているコンテナ ランタイムです。コンテナの作成と管理には Docker イメージを使用します。 Docker のクライアント モデルとサーバー モデルは、コンテナーの優れた抽象化を提供します。
- containerd: containerd は、もともと Docker によって開発され、後に独立したプロジェクトとなった軽量のコンテナ ランタイムです。コンテナの作成、起動、停止などの基本的なコンテナ機能を提供します。
- CRI-O: CRI-O は、Kubernetes 専用に設計されたコンテナ ランタイムです。 Kubernetes Container Runtime Interface (CRI) に準拠しており、コンテナのライフサイクル管理とイメージ管理をサポートします。
- rkt (Rocket): rkt は、セキュリティの重視やイメージ形式の簡素化などの機能を備えた、CoreOS によって開発されたコンテナ ランタイムです。
- Kata Containers: Kata Containers は、仮想マシンと軽量コンテナ テクノロジを組み合わせて、より高い分離性とセキュリティを提供するオープン ソース プロジェクトです。
- gVisor: gVisor は、コンテナのセキュリティを強化するサンドボックス メカニズムを提供する、Google のオープン ソース コンテナ ランタイムです。
8. コアDNS / kube-dns CoreDNS と kube-dns はどちらも、Kubernetes クラスター内のドメイン名解決 (DNS) に使用されるサービスです。それらの役割は、ポッド名とサービス名を対応する IP アドレスに解決し、それによってクラスター内でのサービス検出とネットワーク通信を可能にすることです。 これら 2 つの機能は似ていますが、いくつか違いもあります。以下では、それぞれの機能と用途について詳しく説明します。 kube-dns: kube-dns は、Kubernetes によって導入された最初の DNS ソリューションです。それは3つの部分から構成されます: - kube-dns サーバー (SkyDNS): これは、Kubernetes クラスター内のサービスに対してドメイン名解決を提供する DNS サーバーです。サービス名を対応する Pod IP アドレスにマッピングする DNS レコードを維持します。
- etcd: kube-dns は etcd を使用して DNS レコードを保存および管理します。これらのレコードには、サービスとポッド間のドメイン名のマッピングが含まれます。
- サイドカー コンテナ: Pod が kube-dns にアクセスできるように、kube-dns は各ノードに「kube-dns」という名前のサイドカー コンテナをデプロイします。このコンテナはポッド内の DNS クエリをリッスンし、それらを kube-dns サーバーに転送します。
コアDNS: CoreDNS は、Kubernetes のデフォルトの DNS ソリューションとして kube-dns を徐々に置き換えつつある、プラグ可能な最新の DNS サーバーです。以下の機能があります: - モジュラー アーキテクチャ: CoreDNS は、プラグインを通じて DNS 機能を拡張およびカスタマイズできるモジュラー アーキテクチャを使用します。これにより、柔軟性が高まり、拡張が容易になります。
- 柔軟な構成: CoreDNS は Corefile ファイルを使用してドメイン名解決ルールを構成し、構成構文はより直感的で理解しやすいものになっています。
- 複数のバックエンドのサポート: CoreDNS は、ファイル、etcd、Kubernetes API などの複数のバックエンド データ ソースをサポートしているため、さまざまな環境に適切に統合できます。
- パフォーマンス: CoreDNS は、より優れたパフォーマンスを備えた軽量で高性能な DNS サーバーとして設計されています。
9. ノードKubernetes では、「ノード」はクラスター内のワーカーノードを指します。ワーカー ノードは、コンテナー化されたアプリケーションの実行とそれに関連付けられたリソースの管理を担当するクラスター内のコンピューティング リソースです。各ノードは独立した物理マシンまたは仮想マシンであり、これらが組み合わさって Kubernetes クラスターのインフラストラクチャを形成します。 各ノードではいくつかの主要コンポーネントが実行されていますが、その中で最も重要なのは kubelet です。ノードの主なコンポーネントと機能は次のとおりです。 - Kubelet: Kubelet は各ノードで実行されるエージェントであり、Kubernetes コントロール プレーンと通信し、ノード上のコンテナーと Pod が期待どおりに実行されるようにします。 API サーバーから取得した Pod 定義に基づいてコンテナを作成および管理します。
- コンテナ ランタイム: コンテナ ランタイムは、ノード上でコンテナを作成して実行するソフトウェアです。一般的なコンテナ ランタイムには、Docker、containerd、CRI-O などがあります。
- Kube-proxy: kube-proxy は、サービス検出と負荷分散をサポートするために、ノード上のネットワーク ルールと転送ルールを維持する役割を担います。 Pod にネットワーク プロキシ機能を提供します。
- CNI プラグイン: CNI (Container Network Interface) プラグインは、コンテナのネットワーク接続の構成と管理を担当します。これによって、ポッドがクラスターの内外で通信できるようになります。
- コンテナ ボリューム プラグイン: これらのプラグインは、アプリケーションが永続データにアクセスできるように、ボリューム (永続ボリュームなど) をコンテナにマウントする役割を担います。
- ノード エージェント: ノード エージェントは、ノード上で実行される補助コンポーネントであり、ノードのヘルス状態、リソース使用率などの情報を収集し、コントロール プレーンに状態を報告するために使用されます。
- リソース マネージャー: リソース マネージャー (kubelet など) は、ノード上のリソースの使用状況を監視し、ノードのリソース制限を超えないようにします。
- オペレーティング システムとハードウェア: 各ノードは、コンテナー化されたアプリケーションを実行するためのコンピューティング、ストレージ、およびネットワーク リソースを提供するオペレーティング システムと基盤となるハードウェアを実行します。
10. ダッシュボードいくつかの k8s Web 管理インターフェース ツール:- Kubernetes ダッシュボード: これは、コンテナ アプリケーションのデプロイと管理、クラスター リソースの監視、問題のトラブルシューティングなどに使用できる公式の Web ベースの Kubernetes ユーザー インターフェイスです。ダッシュボードをデプロイするには、kubectl apply -f コマンドを使用し、ダッシュボードにアクセスするには、kubectl proxy コマンドを使用します。 。
- Rancher: ハイブリッド クラウドやローカル データ センターでの Kubernetes クラスターの集中的な展開と管理を実現し、豊富な機能と使いやすいインターフェイスを提供する、オープン ソースのエンタープライズ レベルのマルチ クラスター Kubernetes 管理プラットフォームです。 docker run rancher/rancher コマンドで Rancher を起動し、http://<SERVER_IP>:8080 で Rancher にアクセスできます。詳細については、を参照してください。
- Kuboard: これは Kubernetes をベースにしたマイクロサービス管理インターフェースであり、ユーザーが Kubernetes 上でマイクロサービスを迅速に実装できるように設計されています。簡潔なダッシュボード、便利なアプリケーションの展開とログの表示、完全な中国語のドキュメントとチュートリアルを提供します。 kubectl apply -f コマンドを使用して Kuboard をデプロイし、http://<your.k8s.ip>:32567 から Kuboard にアクセスできます。
- Lens: これはオープンソースの無料デスクトップ アプリケーションであり、「Kubernetes クラスターを管理するために必要な唯一の IDE」と自称し、複数のプラットフォームと複数のクラスターをサポートしています。直感的なユーザーインターフェースを提供し、クラスターのステータスの表示、パフォーマンス指標の監視、ワークロードとサービスの管理などを簡単に行うことができます。Lensは[6]からダウンロードでき、kubeconfigファイルを使用してKubernetesクラスターに接続できます。
KubernetesダッシュボードKubernetes Dashboard は、Kubernetes クラスターを視覚的に管理および監視するための Web ユーザー インターフェイスです。クラスター内のリソース、アプリケーション、サービスをグラフィカルに表示および管理する方法を提供し、ユーザーによる操作と監視を容易にします。 Kubernetes ダッシュボードの主な機能と機能は次のとおりです。 - リソースの概要: ノード、ポッド、サービス、レプリケーション コントローラー、名前空間など、クラスター内のさまざまなリソースの概要を提供します。
- ポッドとコンテナの管理: ユーザーはポッドとコンテナのステータス、ログ、構成を表示および管理できます。
- アプリケーションのデプロイメント: アプリケーションのデプロイメント、レプリカ セット、およびサービスを作成および管理するためのグラフィカル インターフェイスを提供します。
- サービス検出: クラスター内のサービスと、それらのバックエンド ポッドとの関連を表示します。
- 名前空間管理: ユーザーが名前空間を作成および管理して、さまざまなプロジェクトやアプリケーションを分離できるようにします。
- イベントとログ: クラスター内のイベントとログを表示し、発生したイベントや問題をユーザーが理解できるようにします。
- リソース監視: CPU やメモリの使用状況など、リアルタイムのリソース監視情報を提供します。
- ユーザー権限: ユーザー ロールと権限設定に基づいて、クラスター リソースへのユーザー アクセスと操作権限を制御できます。
- 拡張プラグイン: プラグインを使用してダッシュボードの機能を拡張し、カスタム ダッシュボードとビューを追加できます。
11. ネットワークプラグインKubernetes クラスターには、コンテナとポッド間のネットワーク通信、およびサービス検出や負荷分散などのネットワーク機能を管理するためのネットワーク プラグインが必要です。異なるネットワーク プラグインは、異なるネットワーク モデルと機能を提供します。クラスターのニーズに応じて適切なプラグインを選択できます。一般的な Kubernetes ネットワーク プラグインをいくつか紹介します。 - Flannel: Flannel は、オーバーレイベースの VXLAN やホストゲートウェイベースの方法など、さまざまなバックエンド実装を使用する、仮想ネットワークに基づく軽量ネットワーク プラグインです。クラスター全体をカバーする仮想ネットワークを作成し、ポッドがノード間で通信できるようにします。
- Calico: Calico は、IP 対応ルーティングと ACL をサポートし、大規模クラスターで効率的なネットワーク接続を提供できる高性能ネットワーク プラグインです。 BGP プロトコルを使用してルーティングを実装し、ネットワーク ポリシーを通じてセキュリティ グループ ルールを実装します。
- Cilium: Cilium は、Linux カーネルの BPF (eBPF) テクノロジーをベースにした強力なネットワークおよびセキュリティ プラグインです。よりきめ細かいネットワークおよびセキュリティ ポリシーを提供し、HTTP、gRPC、およびその他のアプリケーション層プロトコルの階層型ルーティングと負荷分散をサポートします。
- Weave Net: Weave Net は、マルチクラウド環境をサポートするネットワーク プラグインです。オーバーレイ ネットワーク テクノロジーを使用して、異なるクラウドや物理環境の Pod を接続します。
- Antrea: Antrea は、ネットワーク接続、セキュリティ ポリシー、およびサービス検出を提供する Open vSwitch ベースの CNI プラグインです。
- Multus CNI: Multus は、マルチネットワークをサポートする CNI プラグインであり、Pod で複数のネットワーク インターフェイスを使用できます。これは、複数のネットワーク シナリオ (複数の IP アドレス、複数のネットワーク セグメントなど) を実装する場合に非常に便利です。
|