IPv4 CIDRブロックおよびKubernetesエンジン(OKE)
Kubernetes Engine (OKE)の使用時に指定するCIDRブロックについて確認します。
Kubernetesエンジンで使用するようにVCNおよびサブネットを構成する場合、CIDRブロックを指定して、リソースに割り当てることができるネットワーク・アドレスを示します。CIDRブロックは、Kubernetes APIエンドポイント、ワーカー・ノード、ロード・バランサ、ポッドの(VCNネイティブ・ポッド・ネットワーキングの場合)に使用されます。クラスタの作成とデプロイメントのためのネットワーク・リソース構成を参照してください。
IPv4 CIDRは、ポッド・ネットワーク用のチャネルCNIプラグインを使用するときにブロックします
Kubernetes Engineでクラスタを作成し、ポッド・ネットワーキングにflannel CNIプラグインを使用する場合は、次を指定します:
- KubernetesサービスのCIDRブロック
- クラスタで実行されているポッドに割り当てることができるCIDRブロック(コンソール・ワークフローを使用したKubernetesクラスタの作成を参照)
ポッド・ネットワークにFlannel CNIプラグインを使用する場合、次の点に注意してください。
- チャネルCNIプラグインは、管理対象ノード・プールがあるクラスタでポッド・ネットワーキングに使用できますが、仮想ノード・プールがあるクラスタでは使用できません。
- VCNおよびサブネットに指定するCIDRブロックは、Kubernetesサービスおよびポッドに指定するCIDRブロックと重複することはできません。
- Kubernetes APIエンドポイント・サブネットには小さいCIDRブロックのみが必要です。これは、クラスタはこのサブネットに1つのIPアドレスしか必要としないためです。ネットワーク・アドレスの/29 CIDRブロックは、通常、Kubernetes APIエンドポイント・サブネットに十分です(複数のクラスタに同じCIDRブロックを使用し、その場合はより大きなCIDRブロックを指定する場合を除く)。
- クラスタで実行されているポッドに指定するCIDRブロックは、Kubernetes APIエンドポイント、ワーカー・ノードおよびロード・バランサ・サブネットに指定するCIDRブロックと重複できません。
- ワーカー・ノードで実行されている各ポッドには、独自のネットワーク・アドレスが割り当てられます。Kubernetes Engineは、クラスタ内のワーカー・ノードごとにネットワーク・アドレスの/25 CIDRブロックを割り当てて、そのノードで実行されているポッドに割り当てます。/25 CIDRブロックは128個の個別IPアドレスに相当し、そのうちの1つは予約されています。したがって、各ワーカー・ノードで実行されているポッドには、最大127個のネットワーク・アドレスを割り当てることができます(ノード当たりのポッド数が110に制限されている場合は十分です)。
- クラスタを作成する場合、クラスタの「ポッドCIDRブロック」プロパティの値を指定します。これは、「クイック作成」ワークフローの場合は暗黙的に、カスタム作成ワークフローの場合は明示的に指定します。クラスタの作成後にクラスタの「ポッドCIDRブロック」プロパティを変更することはできません。クラスタの「ポッドCIDRブロック」プロパティは、クラスタ内のすべてのノードで実行されているポッドへの割当てに使用できるネットワーク・アドレスの最大合計数を制約するため、クラスタ内のノード数を効果的に制限します。デフォルトでは、クラスタの「ポッドCIDRブロック」プロパティは/16 CIDRブロックに設定され、65,536個のネットワーク・アドレスがクラスタ内のすべてのノードに使用可能になります。128個のネットワーク・アドレスがノードごとに割り当てられるため、クラスタの「ポッドCIDRブロック」プロパティに/16 CIDRブロックを指定すると、クラスタ内のノード数が512に制限されます。通常はこれで十分です。クラスタで512を超えるノードをサポートするには、「カスタム作成」ワークフローでクラスタを作成し、クラスタのポッドCIDRブロック・プロパティにより大きい値を指定します。例:
- 2,000ノードを含むクラスタをサポートするには、クラスタの「ポッドCIDRブロック」プロパティに/14 CIDRブロックを指定します。このブロックには262,144のネットワーク・アドレスが含まれており、2048 /25 CIDRブロックに十分な領域があります。
- 5,000ノードを含むクラスタをサポートするには、クラスタの「ポッドCIDRブロック」プロパティに/12 CIDRブロックを指定します。このブロックには1,048,576個のネットワーク・アドレスが含まれており、8192 /25個のCIDRブロックに十分な領域があります。
IPv4 CIDRブロックは、ポッド・ネットワークにOCI VCNネイティブ・ポッド・ネットワークCNIプラグインを使用する場合
Kubernetesエンジンでクラスタを作成し、ポッド・ネットワークにOCI VCNネイティブ・ポッド・ネットワークCNIプラグインを使用する場合は、次を指定します:
- KubernetesサービスのCIDRブロック
ポッド・ネットワークにOCI VCNネイティブ・ポッド・ネットワークCNIプラグインを使用する場合、次の点に注意してください:
- OCI VCNネイティブ・ポッド・ネットワーキングCNIプラグインは、管理対象ノード・プールを持つクラスタ、および仮想ノード・プールを持つクラスタを持つポッド・ネットワーキングに使用できます。
- VCNおよびサブネットに指定するCIDRブロックは、Kubernetesサービスに指定するCIDRブロックと重複することはできません。
- Kubernetes APIエンドポイント・サブネットには小さいCIDRブロックのみが必要です。これは、クラスタはこのサブネットに1つのIPアドレスしか必要としないためです。ネットワーク・アドレスの/29 CIDRブロックは、通常、Kubernetes APIエンドポイント・サブネットに十分です(複数のクラスタに同じCIDRブロックを使用し、その場合はより大きなCIDRブロックを指定する場合を除く)。
- ノード・プール内のすべてのワーカー・ノード(インスタンス)には、プライマリIPアドレスを持つプライマリ仮想ネットワーク・インタフェース・カード(VNIC)があります。ノード・プールに選択したシェイプによっては、各ワーカー・ノードに1つ以上のセカンダリVNICがアタッチされていることもあります。VNICは、ポッド通信用に選択されたサブネット内に存在します。各VNICは複数のセカンダリIPアドレスに関連付けることができます。ワーカー・ノードで実行されているポッドは、VNICからセカンダリIPアドレスを取得し、そのIPアドレスを自身に割り当て、そのIPアドレスをインバウンドおよびアウトバウンド通信に使用できます。ワーカー・ノードにアタッチされている各セカンダリVNICは、最大31のセカンダリIPアドレスを割り当てることができます。
- 通常、ポッド・サブネットのネットワーク・アドレスの/19 CIDRブロックで十分です。ただし、ポッド数が多いクラスタでは、ネットワーク・アドレスのCIDRブロックが大きくなります(たとえば、/16)。