ポッド・ネットワーク

Kubernetes Engine (OKE)を使用して作成されたクラスタ内のワーカー・ノードのポッドとの通信について確認します。

Kubernetesネットワーキング・モデルは、ポッドにクラスタ内で一意のルーティング可能なIPアドレスがあることを前提としています。Kubernetesネットワーキング・モデルでは、ポッドはこれらのIPアドレスを使用して、クラスタのコントロール・プレーン・ノード、他のクラスタ上のポッド、他のサービス(ストレージ・サービスなど)およびインターネットと通信します。Kubernetesは、ネットワーク・リソース管理用のコンテナ・ネットワーク・インタフェース(CNI)仕様を採用しています。CNIは、Linuxコンテナでネットワーク・インタフェースを構成するためのプラグインを記述するための仕様およびライブラリと、サポートされている多数のプラグインで構成されます。

Kubernetesクラスタは、CNIプラグインを使用して、ワーカー・ノードで実行されているポッドのネットワーク接続を実装します。CNIプラグインは、ネットワーク・インタフェースの構成、IPアドレスのプロビジョニング、および接続の維持を行います。

KubernetesエンジンでKubernetesクラスタを作成する場合、クラスタに選択したネットワーク・タイプによって、ポッド・ネットワーキングに使用されるCNIプラグインが決まります:

クラスタ内のすべてのノード・プールで、同じCNIプラグインが使用されます。クラスタの作成後は、最初に選択したCNIプラグインを変更できません。ポッドネットワークに使用されるCNIプラグインは、重要なクラスタアドオンと見なされます。クラスタのネットワークタイプを指定すると、クラスタとそのノードプールは最初に対応するCNIプラグインの最新バージョンを使用します。CNIプラグインの更新は定期的にリリースされます。Oracleで更新をクラスタに自動的にデプロイするように指定できます(デフォルト)。または、デプロイするバージョンを選択するように指定できます。バージョンを選択する場合、アドオンを最新に保つ責任があります。Configuring Cluster Add-onsを参照してください。

Calicoを使用して、Kubernetes NetworkPolicyリソースを実装できます。ネットワーク・ポリシーは、ラベルを使用してポッドを選択し、選択したポッドに許可されるトラフィックを指定するルールを定義することで、クラスタ・セキュリティの粒度を高めます。Calicoは、コンテナ、仮想マシンおよびネイティブ・ホストベースのワークロード向けのオープン・ソースのネットワーキングおよびネットワーク・セキュリティのソリューションです。例: Calicoのインストールおよびネットワーク・ポリシーの設定を参照してください。

OCI VCNネイティブ・ポッド・ネットワーキングCNIプラグインは、仮想ノード・プールと管理対象ノード・プールの両方で使用できます。管理対象ノード・プールでは、チャネルCNIプラグインを使用できます。

OCI VCNネイティブ・ポッド・ネットワーキングCNIプラグインとフラッシュCNIプラグインの両方を自己管理ノードで使用できます。詳細については、Working with Self-Managed Nodesを参照してください。

OCI VCNネイティブ・ポッド・ネットワーキングCNIプラグインは、Kubernetes 1.22以降を実行しているクラスタでのみ使用できます。2022年7月より前のリリースでは、Kubernetes Engineで作成したクラスタは、ポッド・ネットワーキングに常にflannel CNIプラグインを使用していました。2022年7月より後のリリースでは、コンソールを使用してクラスタ(Kubernetes 1.22以降を実行)を作成する場合、OCI VCNネイティブ・ポッド・ネットワーキングCNIプラグインがデフォルトです。ただし、「カスタム作成」ワークフローを使用する場合は、Flannel CNIプラグインを使用するクラスタを作成することもできます。APIを使用する場合、チャネルCNIプラグインは引き続きデフォルトになりますが、OCI VCNネイティブ・ポッド・ネットワーキングCNIプラグインの使用を選択できます。