Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ポッド ネットワークの IP アドレス管理の構成

概要 クラウドネイティブの Contrail® Networking は、ポッドとサービスの IP アドレス管理(IPAM)をサポートします。IPアドレスの割り当てを容易にするために、 Subnet リソースを設定します。

クラウドネイティブなContrail NetworkingのIPAM

Cloud-Native Contrail Networking では、ポッドとサービスの IPAM を目的とした Subnet リソースと SubnetPool リソースが導入されています。各 Subnet には SubnetPoolが関連付けられています。これらのリソースを使用すると、クラスターで IPv4 および IPv6 アドレス割り当てを設定できます。 VirtualNetworkSubnet リソースを参照して、新しいポッドとサービスに使用できるサブネットを決定します。複数の VirtualNetworks が同じ Subnetを参照できます。 Subnet リソースはIPAMに変換され、制御ノードとvRouterエージェントによって消費されます。

サブネットプールの概要

SubnetPoolは、Subnetsが割り当てられるアドレスのプールを管理します。IP アドレスの要求が発生すると、その IP アドレスは仮想ネットワークに関連付けられているSubnetPoolから割り当てられます。IPアドレス割り当てのCIDRパラメータ(プレフィックス長、容量、範囲)は、SubnetPool作成時に決定されます。SubnetPoolを使い果たした場合は、追加のプレフィックスを割り当てることができます。

次の SubnetPool 例を考えてみます。

capacity パラメータは、プール内で使用可能な ID の合計数を示します。count パラメータは、プール内で使用されている ID の数を示します。max パラメーターは、プールから割り振ることができる ID の最大数を示します。特定の ID は、Subnet プール内の IP アドレスにマッピングされます。

サブネットの概要

Subnetは、IP アドレスと、それらのアドレスに関連付けられた設定のブロックです。Subnetは、一度に1つのアドレスファミリー(IPv4、IPv6)に基づいています。IPv4 と IPv6 のSubnetsを別々に作成する必要があります。SubnetPoolを指定しない場合、Subnetは Contrail Classic IPAM として機能します。これは、Subnetが 1 つの名前空間に分離されていることを意味します。

次の Subnet 仕様の例を考えてみましょう。

cidr パラメーターと defaultGateway パラメーターは、Subnet リソースを定義する主要なパラメーターです。cidrパラメータは、そのSubnetで割り当て可能なIPの範囲を決定します。defaultGatewayパラメータは、SubnetdefaultGatewayのIPアドレスを定義します。defaultGatewayアドレスの指定はオプションです。defaultGateway アドレスを指定しない場合は、Subnetの最初の IP アドレスとして自動的に設定されます。

Kubernetes ノード構成には、podCIDR構成パラメーターを含めることができます。podCIDRdefault-podnetwork-subnetのサブセットです。podCIDRが存在する場合、そのノードで作成されたポッドの IP アドレスには、podCIDRから割り当てられた IP アドレスが含まれます。podCIDRが存在しない場合は、Subnetの CIDR 内のすべての IP アドレスをノードに割り当てることができます。podCIDRは、ワイルドカードキーを参照することもできます。この例では、IP アドレス割り当てリクエストは、キーcontrail-k8s-kubemanager-ocp-kparmar-4yu0qk-ocp-kparmar-4yu0qk-ctrl-1 を持つノードに要求元の Pod が作成されている限り、IP 10.128.0.0 から 10.128.0.255 を選択します。

または、 ranges パラメータを定義することもできます。 ranges パラメーターは、割り当てに使用できる IP のリストを定義します。 ranges パラメータは、CIDRパラメータが仕様に存在する場合、そのパラメータを上書きします。 ranges パラメーターは、 podCIDR パラメーターをオーバーライドしません。

仮想ネットワークの概要

Cloud-Native Contrail Networking は、IPAM 実装と互換性があるように VirtualNetwork リソースを更新します。次の例について考えてみます。

IPv4 アドレス ファミリーと IPv6 アドレス ファミリーの個別のSubnet参照に注意してください。そのVirtualNetworkのライフサイクル全体を通じて、VirtualNetworkSubnet参照を更新することはできません。

サービスとしてのBGP セッションIPアドレスの概要

BGP as a Service(BGPaaS)を使用すると、制御ノードとワークロードまたはポッドのIPアドレスとの間でBGPセッションを確立できます。DisableBGPaaSIPAutoAllocationフラグをfalseまたはtrueに設定してSubnetを作成できます。DisableBGPaaSIPAutoAllocation を false に設定すると、次のようになります。

  • すぐにBGPaaSPrimaryIPまたはBGPaaSSecondaryIPにIPアドレスは割り当てられません。これらのIPは、このSubnetネットワーク内で最初のBGPAsAService が構成されている場合にのみ(CIDR範囲内Subnet)割り当てられます。

  • Subnetに関連付けられているBGPAsAServiceリソースをすべて削除すると、BGPaaSPrimaryIPBGPaaSSecondaryIPに割り当てられたIPアドレスがプールから解放され、空の値に設定されます。これらのアドレスは、BGPAsAServiceが再設定されたときにプールから再割り当てされます。

DisableBGPaaSIPAutoAllocation フラグを true に設定すると、次のようになります。

  • BGPaaSPrimaryIP フィールドと BGPaaSSecondaryIP フィールドにユーザー定義値を使用できます。これらの IP フィールドは必須であり、空のままにすることはできません。これらのフィールドのユーザー定義値も、Subnetプールで予約されています。

  • BGPaaSPrimaryIPBGPaaSSecondaryIPに使用されるIPアドレスは、BGPAsAServiceが設定されていない場合や、BGPAsAServiceリソースがすべて削除された場合でも、Subnetプールに予約されたままです。

DisableBGPaaSIPAutoAllocation フィールドを false から true に変更すると、BGPaaSPrimaryIPBGPaaSSecondaryIP は必須フィールドになります。このフラグを false から true に変更する前に IP が自動的に割り当てられた場合、それらの IP はプールから解放され、新しいユーザー指定の IP がプールに予約されます。

DisableBGPaaSIPAutoAllocation を true から false に変更すると、次のようになります。

  • Subnet内でBGPAsAServiceが設定されていない場合、BGPaaSPrimaryIPBGPaaSSecondaryIP 値はプールから解放され、これらのフィールドは空になります。

    .
  • 少なくとも 1 つの BGPAsAService が設定されている場合、 BGPaaSPrimaryIPBGPaaSSecondaryIPの既存の値は変更されません。

サービスとしての BGP(BGPaaS)の詳細については、「 サービスとしての BGP を有効にする 」セクションを参照してください。