クラシック・サブネットと IP アドレスの構成
IBM Cloud® Kubernetes Service クラスターにサブネットを追加して、使用可能なポータブル・パブリック IP アドレスまたはポータブル・プライベート IP アドレスのプールを変更します。
IBM Cloud Kubernetes Service でのクラシック・ネットワーキングの概要
IBM Cloud Kubernetes Service クラスターでのクラシック・ネットワーキングの基本概念を理解します。IBM Cloud Kubernetes Service は、VLAN、サブネット、および IP アドレスを使用して、クラスター・コンポーネントのネットワーク接続を提供します。
VLAN
クラスターを作成すると、クラスターの各ワーカー・ノードが 1 つの VLAN に自動的に接続されます。 VLAN では、ワーカー・ノードとポッドをまとめた 1 つのグループを、それらのワーカー・ノードとポッドが同じ物理ワイヤーに接続されているかのように構成し、それらのワーカーとポッド間の接続に 1 つのチャネルを提供します。
- 標準クラスター用の VLAN
- 標準クラスターでは、あるゾーンで初めてクラスターを作成したときに、そのゾーン内のパブリック VLAN とプライベート VLAN が IBM Cloud インフラストラクチャー・アカウントで自動的にプロビジョンされます。 それ以降、そのゾーンにクラスターを作成するたびに、そのゾーンで使用したい VLAN のペアを指定する必要があります。 VLAN は複数のクラスターで共有できるので、お客様用に作成された同一のパブリック VLAN とプライベート VLAN を何度も使用することができます。 ワーカー・ノードをパブリック VLAN とパブリック VLAN の両方に接続することも、プライベート VLAN だけに接続することもできます。 ワーカー・ノードをプライベート VLAN にのみ接続する場合は、既存のプライベート VLAN の ID を使用することもできますし、プライベート VLAN を作成し、クラスター作成時にその ID を使用することもできます。
アカウントの各ゾーンにプロビジョンされている VLAN を確認するには、ibmcloud ks vlan ls --zone <zone>.
を実行します。1 つのクラスターがプロビジョンされている VLAN を確認するには、ibmcloud ks cluster get --cluster <cluster_name_or_ID> --show-resources
を実行して、サブネット VLAN セクションを探します。
IBM Cloud インフラストラクチャーは、ゾーンに最初のクラスターを作成する際に自動的にプロビジョンされる VLAN を管理します。 VLAN からすべてのワーカー・ノードを削除した場合などのように、VLAN を未使用の状態にすると、IBM Cloud インフラストラクチャーは VLAN を再利用します。 その後、新規 VLAN が必要な場合は、IBM Cloud サポートにお問い合わせください。
- VLANの決定は後で変更できますか?
- クラスターのワーカー・プールを変更することで、VLAN セットアップを変更できます。 詳しくは、ワーカー・ノードの VLAN 接続を変更するを参照してください。
サブネットと IP アドレス
ワーカー・ノードとポッドに加えて、サブネットも VLAN に自動的にプロビジョンされます。 サブネットは、クラスター・コンポーネントに IP アドレスを割り当てることによって、クラスター・コンポーネントにネットワーク接続を提供します。
次の各サブネットが、デフォルトのパブリック VLAN とプライベート VLAN に自動的にプロビジョンされます。
パブリック VLAN サブネット
- 1 次パブリック・サブネットでは、クラスター作成時にワーカー・ノードに割り当てられるパブリック IP アドレスを決定します。 同じ VLAN に参加している複数のクラスターでは、1 つの 1 次パブリック・サブネットを共有することができます。
- ポータブル・パブリック・サブネットは 1 つのクラスターにのみバインドされ、そのクラスターに 8 つのパブリック IP アドレスを提供します。IBM Cloud インフラストラクチャー機能用に 3 つの IP が予約されています。1 つの IP がデフォルトのパブリック Ingress ALB によって使用され、4 つの IP は、パブリック・ネットワーク・ロード・バランサー (NLB) サービスまたは追加のパブリック ALB を作成するために使用できます。 ポータブル・パブリック IP は固定された永続的な IP アドレスであり、このアドレスを使用して、インターネットを介して NLB または ALB にアクセスできます。 NLB または ALB に 4 つを超える IP が必要な場合は、ポータブル IP アドレスの追加を参照してください。 これらの IP アドレスは、IBM Cloud Kubernetes Service で使用するためのものです。 これらの IP アドレスを IBM Cloud Kubernetes Service 以外の目的に使用しないでください。
プライベート VLAN サブネット
- 1 次プライベート・サブネットでは、クラスター作成時にワーカー・ノードに割り当てられるプライベート IP アドレスを決定します。 同じ VLAN に参加している複数のクラスターでは、1 つの 1 次プライベート・サブネットを共有することができます。
- ポータブル・プライベート・サブネットは 1 つのクラスターにのみバインドされ、クラスターに 8 つのプライベート IP アドレスを提供します。IBM Cloud インフラストラクチャー機能用に 3 つの IP が予約されています。1 つの IP がデフォルトのプライベート Ingress ALB によって使用され、4 つの IP は、プライベート・ネットワーク・ロード・バランサー (NLB) サービスまたは追加のプライベート ALB を作成するために使用できます。 ポータブル・プライベート IP は固定された永続的な IP アドレスであり、このアドレスを使用して、プライベート・ネットワークを介して NLB または ALB にアクセスできます。 プライベート NLB または ALB に 4 つを超える IP が必要な場合は、ポータブル IP アドレスの追加を参照してください。 これらの IP アドレスは、IBM Cloud Kubernetes Service で使用するためのものです。 これらの IP アドレスを IBM Cloud Kubernetes Service 以外の目的に使用しないでください。
アカウントでプロビジョンされているサブネットの確認
アカウントのすべてのリソース・グループにプロビジョンされているすべてのサブネットを表示するには、ibmcloud ks subnets --provider classic
を実行します。 1 つのクラスターにバインドされているポータブル・パブリック・サブネットとポータブル・プライベート・サブネットを確認するには、ibmcloud ks cluster get --cluster <cluster_name_or_ID> --show-resources
を実行して、サブネット VLAN セクションを探します。
IBM Cloud Kubernetes Service では、VLAN のサブネット数の上限は 40 です。 この制限に達したら、まず その VLAN 内にあるサブネットを再利用して新規クラスターを作成できるかどうかを確認します。 新規 VLAN が必要な場合、IBM Cloud サポートに連絡して注文してください。 その後、その新規 VLAN を使用するクラスターを作成します。
- ワーカーノードのIPアドレスは変更されますか?
- ワーカー・ノードには、クラスターで使用されるパブリック VLAN またはプライベート VLAN の IP アドレスが割り当てられます。 ワーカー・ノードがプロビジョンされた後は、ワーカー・ノードの IP アドレスは
reboot
操作およびupdate
操作を実行しても変わりませんが、replace
操作を実行すると変わります。 また、ほとんどのkubectl
コマンドでは、ワーカー・ノードの ID にワーカー・ノードのプライベート IP アドレスが使用されます。 ワーカー・プールで使用されている VLAN を変更すると、そのプールでプロビジョンされた新しいワーカー・ノードはその IP アドレスに新しい VLAN を使用します。 既存のワーカー・ノードの IP アドレスは変更されませんが、古い VLAN を使用するワーカー・ノードを削除することができます。 - クラスタ内のポッドやサービスにサブネットを指定することはできますか?
- IBM Cloud Direct Link または VPN サービスを介してクラスターをオンプレミスのネットワークに接続する場合は、カスタムのサブネット CIDR を指定してポッドのプライベート IP アドレス、およびサービスのプライベート IP アドレスを提供することで、サブネットの競合を回避できます。
クラスタ作成時にカスタムのポッドおよびサービスサブネットを指定するには、 ibmcloud ks cluster create
CLIコマンドで --pod-subnet
および --service-subnet
オプションを使用します。
ポッド
- デフォルト範囲
-
クラスターにデプロイされるすべてのサービスには、デフォルトで
172.30.0.0/16
範囲のプライベート IP アドレスが割り当てられます。 - サイズ所要量
-
カスタム・サブネットを指定する場合は、作成する予定のクラスターのサイズと、将来追加する可能性があるワーカー・ノードの数を考慮してください。 少なくとも、クラスター内の最大 4 台のワーカー・ノードに十分なポッド IP を提供できる
/23
の CIDR のサブネットにする必要があります。 これより大きなクラスターの場合は、8 台のワーカー・ノードに十分なポッド IP アドレスを提供できる/22
、16 台のワーカー・ノードに十分なポッド IP アドレスを提供できる/21
というように増やしていきます。 - 範囲の条件
-
ポッド・サブネットとサービス・サブネットは重複することができず、ポッド・サブネットはワーカー・ノードのサブネットと重複することはできません。 サブネットは、以下のいずれかの範囲内を選ばなければなりません。
-
172.17.0.0 - 172.17.255.255
-
172.21.0.0 - 172.31.255.255
-
192.168.0.0 - 192.168.255.255
-
198.18.0.0 - 198.19.255.255
-
-
172.16.0.0/16
、172.18.0.0/16
、172.19.0.0/16
、172.20.0.0/16
の範囲は禁止されています。
サービス
- デフォルト範囲
-
クラスターにデプロイされるすべてのサービスには、デフォルトで
172.21.0.0/16
範囲のプライベート IP アドレスが割り当てられます。 - サイズ所要量
-
カスタム・サブネットを指定する場合は、少なくとも
/24
のサイズの CIDR 形式でサブネットを指定する必要があります。これにより、クラスター内で最大 255 個のサービスを使用できます。 - 範囲の条件
-
ポッドとサービス・サブネットは、互いにオーバーラップすることはできません。 サブネットは、以下のいずれかの範囲内を選ばなければなりません。
-
172.17.0.0 - 172.17.255.255
-
172.21.0.0 - 172.31.255.255
-
192.168.0.0 - 192.168.255.255
-
198.18.0.0 - 198.19.255.255
-
-
172.16.0.0/16
、172.18.0.0/16
、172.19.0.0/16
、172.20.0.0/16
の範囲は禁止されています。
ネットワーク・セグメンテーション
ネットワーク・セグメンテーションとは、1 つのネットワークを複数のサブネットワークに分割する方式を表すものです。 1 つのサブネットワーク内で実行されるアプリは、別のサブネットワーク内のアプリを表示することも、アクセスすることもできません。 ネットワーク・セグメンテーションのオプションおよび VLAN との関係について詳しくは、クラスターのセキュリティーに関するこちらのトピックを参照してください。
ただし、状況によっては、クラスターのコンポーネントに、複数のプライベート VLAN をまたぐ通信を許可しなければならない場合があります。 例えば、複数ゾーン・クラスターを作成する場合や、1 つのクラスターに複数の VLAN が存在する場合、同じ VLAN 上に複数のサブネットが存在する場合は、同じ VLAN 上にあってもサブネットが異なるワーカー・ノード、または異なる VLAN 上にあるワーカー・ノードは、そのままでは相互通信できません。 ユーザーが IBM Cloud インフラストラクチャー・アカウントで仮想ルーター機能 (VRF) または VLAN スパンニングを有効にする必要があります。
- Virtual Routing and Forwarding (VRF)
- VRF は、インフラストラクチャー・アカウント内のすべての VLAN とサブネットが相互に通信できるようにします。 また、プライベート・クラウド・サービス・エンドポイントを介してワーカーとマスターを通信させる場合も VRF が必要です。 VRF を有効にするには、VRF の有効化を参照してください。 VRF が既に有効になっているかどうかを確認するには、
ibmcloud account show
コマンドを使用します。 VRF を有効にすることで、アカウントの VLAN スパンニングのオプションがなくなることに注意してください。これは、トラフィックを管理するゲートウェイ・アプライアンスを構成していない限り、すべての VLAN が通信できるようになるためです。 - VLAN スパンニング
- VRF を有効にできない、または有効にしない場合は、VLAN スパンニングを有効にしてください。 この操作を実行するには、**「ネットワーク」>「ネットワーク VLAN スパンニングの管理」**で設定するインフラストラクチャー権限が必要です。ない場合は、アカウント所有者に対応を依頼してください。
VLAN スパンニングが既に有効になっているかどうかを確認するには、
ibmcloud ks vlan spanning get --region <region>
コマンドを使用します。 VRF の代わりに VLAN スパンニングを有効にすることを選択した場合は、プライベート・クラウド・サービス・エンドポイントを有効にできないことに注意してください。 - VRFまたはVLANスパニングは、ネットワークのセグメント化にどのような影響を与えますか?
- VRF または VLAN スパンニングを有効にすると、同じ IBM Cloud アカウントのプライベート VLAN に接続されているすべてのシステムが、ワーカーと通信できるようになります。 Calico プライベート・ネットワーク・ポリシー を適用することにより、クラスターをプライベート・ネットワーク上の他のシステムから分離できます。 IBM Cloud Kubernetes Service は、すべての IBM Cloud インフラストラクチャー・ファイアウォール・オファリングと互換性があります。 仮想ルーター・アプライアンスなどのファイアウォールにカスタム・ネットワーク・ポリシーをセットアップして、標準クラスターのために専用のネットワーク・セキュリティーを装備し、ネットワーク侵入を検出して対処することができます。
既存のサブネットを使用したクラスターの作成
標準クラスターを作成すると、サブネットが自動的に作成されます。 ただし、自動的にプロビジョンされるサブネットを使用する代わりに、ご使用の IBM Cloud インフラストラクチャー・アカウントから既存のポータブル・サブネットを使用したり、削除したクラスターのサブネットを再利用したりできます。
このオプションは、クラスターの削除や作成が行われても変わらない静的 IP アドレスを保持する場合や、より大きな IP アドレス・ブロックを注文する場合に利用してください。 あるいは、ポータブル・パブリック IP アドレスやポータブル・プライベート IP アドレスをさらに取得して、ネットワーク・ロード・バランサー (NLB) サービスまたは Ingress アプリケーション・ロード・バランサー (ALB) サービスを作成する場合には、ポータブル IP アドレスの追加を参照してください。
クラスターの作成時に自動的に注文されたサブネットはすべて、クラスターの削除後すぐに削除のマークが付けられます。そのサブネットを再使用して新規クラスターを作成することはできません。
開始前に
- アカウントにログインします。 該当する場合は、適切なリソース・グループをターゲットにします。 クラスターのコンテキストを設定します。
- 不要になったクラスターのユーザー管理プライベート・サブネットを再使用する場合は、不要なクラスターを削除します。
ibmcloud ks cluster rm --cluster <cluster_name_or_ID>
172.16.0.0/16
、172.18.0.0/16
、172.19.0.0/16
、172.20.0.0/16
サブネットの範囲は禁止されています。
既存のサブネットを使用してクラスターを作成するには、以下のようにします。
-
サブネット ID と、そのサブネットが存在する VLAN の ID を取得します。
ibmcloud ks subnets --provider classic
次の例の出力では、サブネット ID が
1602829
、VLAN ID が2234945
です。GETting subnet list... OK ID Network Gateway VLAN ID Type Bound Cluster 1550165 10.xxx.xx.xxx/26 10.xxx.xx.xxx 2234947 private 1602829 169.xx.xxx.xxx/28 169.xx.xxx.xxx 2234945 public
-
特定した VLAN ID を使用して、CLI からクラスターを作成します。
--no-subnet
オプションを含めることで、新しいポータブルパブリックIPサブネットと新しいポータブルプライベートIPサブネットが自動的に作成されないようにすることができます。ibmcloud ks cluster create classic --zone dal10 --flavor b3c.4x16 --no-subnet --public-vlan 2234945 --private-vlan 2234947 --workers 3 --name my_cluster
--zone
オプションでVLANがどのゾーンに属しているか思い出せない場合は、ibmcloud ks vlan ls --zone <zone>
を実行することで、VLANが特定のゾーンに属しているかどうかを確認できます。 -
クラスターが作成されたことを確認します。 ワーカー・ノード・マシンがオーダーされ、クラスターがセットアップされて自分のアカウントにプロビジョンされるまでに、最大 15 分かかります。
ibmcloud ks cluster ls
クラスターが完全にプロビジョンされると、State が
deployed
に変わります。NAME ID State Created Workers Zone Version Resource Group Name Provider mycluster aaf97a8843a29941b49a598f516da72101 deployed 20170201162433 3 dal10 1.32 Default classic
-
ワーカー・ノードの状況を確認します。
ibmcloud ks worker ls --cluster <cluster_name_or_ID>
次のステップに進む前に、ワーカー・ノードが作動可能になっている必要があります。 State が
normal
に変わり、Status はReady
です。ID Public IP Private IP Machine Type State Status Zone Version prod-dal10-pa8dfcc5223804439c87489886dbbc9c07-w1 169.xx.xxx.xxx 10.xxx.xx.xxx free normal Ready dal10 1.32
-
サブネット ID を指定してクラスターにサブネットを追加します。 クラスターでサブネットを使用できるようにすると、使用できるすべての使用可能なポータブル・パブリック IP アドレスが含まれた Kubernetes の構成マップが作成されます。 そのサブネットの VLAN が配置されたゾーンに Ingress ALB が存在しない場合、そのゾーンにパブリック ALB とプライベート ALB を作成するために、1 つのポータブル・パブリック IP アドレスと 1 つのポータブル・プライベート IP アドレスが自動的に使用されます。 そのサブネットからの他のすべてのポータブル・パブリック IP アドレスとポータブル・プライベート IP アドレスは、アプリの NLB サービスの作成に使用できます。
ibmcloud ks cluster subnet add --cluster <cluster_name_or_id> --subnet-id <subnet_ID>
-
サブネットがクラスターに追加されたことを確認します。
ibmcloud ks cluster get --cluster <cluster_name> --show-resources
-
重要: 同じ VLAN 上の別のサブネットにあるワーカー間の通信を可能にするには、その同じ VLAN 上のサブネット間のルーティングを有効にする必要があります。
既存のポータブル IP アドレスの管理
デフォルトでは、4 つのポータブル・パブリック IP アドレスと 4 つのポータブル・プライベート IP アドレスを使用して、ネットワーク・ロード・バランサー (NLB) サービスを作成するか、追加の Ingress アプリケーション・ロード・バランサー (ALB) を作成して、単一アプリをパブリック・ネットワークまたはプライベート・ネットワークに公開できます。 NLB または ALB サービスを作成するには、使用できる正しいタイプのポータブル IP アドレスが少なくとも 1 つ必要です。 使用できるポータブル IP アドレスを表示することも、使用されているポータブル IP アドレスを解放することもできます。
使用可能なポータブル・パブリック IP アドレスの表示
クラスター内のすべてのポータブル IP アドレス (使用中と使用可能の両方) をリスト表示するには、以下のコマンドを実行します。
kubectl get cm ibm-cloud-provider-vlan-ip-config -n kube-system -o yaml
パブリック NLB または追加のパブリック ALB の作成に使用できるポータブル・パブリック IP アドレスだけをリスト表示するには、次の手順を使用できます。
開始前に
- ライター またはマネージャーの IAMサービスアクセスロールを持っていることを確認してください IBM Cloud
default
名前空間。 - アカウントにログインします。 該当する場合は、適切なリソース・グループをターゲットにします。 クラスターのコンテキストを設定します。
使用可能なポータブル・パブリック IP アドレスをリスト表示するには、以下のようにします。
-
myservice.yaml
という Kubernetes サービス構成ファイルを作成します。このファイルでは、ダミーの NLB IP アドレスを使用してLoadBalancer
タイプのサービスを定義します。 以下の例では、NLB IP アドレスとして IP アドレス 1.1.1.1 を使用します。<zone>
を、使用可能な IP があるかどうかを確認するゾーンに置き換えてください。apiVersion: v1 kind: Service metadata: labels: run: myservice name: myservice namespace: default annotations: service.kubernetes.io/ibm-load-balancer-cloud-provider-zone: "<zone>" spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: myservice sessionAffinity: None type: LoadBalancer loadBalancerIP: 1.1.1.1
-
クラスター内にサービスを作成します。
kubectl apply -f myservice.yaml
-
サービスを検査します。
kubectl describe service myservice
Kubernetes マスターが 指定された NLB IP アドレスを Kubernetes 構成マップで検出できないため、このサービスの作成は失敗します。 このコマンドを実行すると、エラー・メッセージと、クラスターで使用可能なパブリック IP アドレスのリストが表示されます。
Error on cloud load balancer a8bfa26552e8511e7bee4324285f6a4a for service default/myservice with UID 8bfa2655-2e85-11e7-bee4-324285f6a4af: Requested cloud provider IP 1.1.1.1 is not available. The following cloud provider IP addresses are available: <list_of_IP_addresses>
使用されている IP アドレスの解放
ポータブル IP アドレスを使用しているネットワーク・ロード・バランサー (NLB) サービスを削除するか、Ingress アプリケーション・ロード・バランサー (ALB) を無効にすることによって、使用されているポータブル IP アドレスを解放できます。
開始前に
- ライター またはマネージャーの IAMサービスアクセスロールを持っていることを確認してください IBM Cloud
default
名前空間。 - アカウントにログインします。 該当する場合は、適切なリソース・グループをターゲットにします。 クラスターのコンテキストを設定します。
NLB を削除する場合、または ALB を無効にする場合は、以下のようにします。
- クラスターで使用可能なサービスをリスト表示します。
kubectl get services | grep LoadBalancer
- パブリック IP アドレスまたはプライベート IP アドレスを使用しているロード・バランサー・サービスを削除するか、ALB を無効にします。
- NLB の削除 :
kubectl delete service <service_name>
- ALB の無効化 :
ibmcloud ks ingress alb disable --alb <ALB_ID> -c <cluster_name_or_ID>
- NLB の削除 :
ポータブル IP アドレスの追加
デフォルトでは、4 つのポータブル・パブリック IP アドレスと 4 つのポータブル・プライベート IP アドレスを使用して、ネットワーク・ロード・バランサー (NLB) サービスを作成することによって、単一アプリをパブリック・ネットワークまたはプライベート・ネットワークに公開することができます。 4 つを超えるパブリック NLB または 4 つのプライベート NLB を作成するには、クラスターにネットワーク・サブネットを追加することによって、ポータブル IP アドレスをさらに取得することができます。
クラスターでサブネットを使用できるようにすると、このサブネットの IP アドレスは、クラスターのネットワーキングの目的で使用されるようになります。 IP アドレスの競合を回避するため、1 つのサブネットは必ず 1 つのクラスターでのみ使用してください。 あるサブネットを複数のクラスターで使用したり、同時に他の目的で IBM Cloud Kubernetes Serviceの外部で使用したりしないでください。
サブネットをさらにオーダーしてポータブル IP を追加する
NLB サービス用にさらにポータブル IP を取得できます。この取得は、IBM Cloud インフラストラクチャー・アカウントで新規サブネットを作成し、指定したクラスターでそのサブネットを使用できるようにすることで行います。
ポータブル・パブリック IP アドレスは、月単位で課金されます。 サブネットをプロビジョンした後にポータブル・パブリック IP アドレスを削除した場合、短時間しか使用していなくても月額料金を支払う必要があります。
開始前に
- クラスタに対して、 オペレータまたは管理者の IAMプラットフォームアクセス権限 を持っていることを確認してください。
- アカウントにログインします。 該当する場合は、適切なリソース・グループをターゲットにします。 クラスターのコンテキストを設定します。
サブネットを注文するには、以下のようにします。
-
新しいサブネットをプロビジョンします。
ibmcloud ks cluster subnet create --cluster <cluster_name_or_id> --size <subnet_size> --vlan <VLAN_ID>
サブネットのパラメータ パラメーター 説明 <cluster_name_or_id>
クラスターの名前または ID を <cluster_name_or_id>
に置き換えます。<subnet_size>
<subnet_size>
を、ポータブル・サブネットで作成する IP アドレスの数に置き換えます。 受け入れられる値は 8、16、32、64 です。 サブネットのポータブル IP アドレスを追加する場合は、3 つの IP アドレスがクラスター内部のネットワークの確立のために使用されることに注意してください。 これら 3 つの IP アドレスを Ingress アプリケーション・ロード・バランサー (ALB) に使用したり、これらを使用してネットワーク・ロード・バランサー (NLB) サービスを作成したりすることはできません。 例えば、8 個のポータブル・パブリック IP アドレスを要求する場合は、そのうちの 5 個を、アプリをパブリックに公開するために使用できます。<VLAN_ID>
<VLAN_ID>
を、ポータブル・パブリック IP アドレスまたはポータブル・プライベート IP アドレスを割り振るパブリック VLAN またはプライベート VLAN の ID に置き換えます。 既存のワーカー・ノードが接続されているパブリック VLAN またはプライベート VLAN を選択する必要があります。 ワーカー・ノードが接続されているパブリック VLAN またはプライベート VLAN を確認するには、ibmcloud ks cluster get --cluster <cluster> --show-resources
を実行し、出力で サブネット VLAN セクションを探します。 サブネットは、VLAN が存在するゾーンにプロビジョンされます。 -
クラスターにサブネットが正常に作成されて追加されたことを確認します。 サブネットの CIDR は Subnet VLANs セクションにリストされます。
ibmcloud ks cluster get --cluster <cluster_name_or_ID> --show-resources
次の例の出力では、2 番目のサブネットがパブリック VLAN の
2234945
に追加されています。Subnet VLANs VLAN ID Subnet CIDR Public User-managed 2234947 10.xxx.xx.xxx/29 false false 2234945 169.xx.xxx.xxx/29 true false 2234945 169.xx.xxx.xxx/29 true false
-
重要: 同じ VLAN 上の別のサブネットにあるワーカー間の通信を可能にするには、その同じ VLAN 上のサブネット間のルーティングを有効にする必要があります。
既存のサブネットをクラスターに追加してポータブル IP を追加する
IBM Cloud インフラストラクチャー・アカウント内の既存のサブネットをクラスターで使用できるようにすることによって、NLB サービス用にさらにポータブル IP を取得できます。
開始前に
- クラスタに対して、 オペレータまたは管理者の IAMプラットフォームアクセス権限 を持っていることを確認してください。
- アカウントにログインします。 該当する場合は、適切なリソース・グループをターゲットにします。 クラスターのコンテキストを設定します。
サブネットをクラスターで使用できるようにするには、以下のようにします。
- ポータブル・パブリック IP アドレスまたはポータブル・プライベート IP アドレスの割り振り先となるパブリックまたはプライベートの VLAN ID を確認します。 既存のワーカー・ノードが接続されているパブリック VLAN またはプライベート VLAN を選択する必要があります。
出力の Subnet VLANs セクションで、VLAN ID を探します。ibmcloud ks cluster get --cluster <cluster_name_or_id> --show-resources
Subnet VLANs VLAN ID Subnet CIDR Public User-managed 2234947 10.xxx.xx.xxx/29 false false 2234945 169.xx.xxx.xxx/29 true false
- 使用するサブネットの ID を取得します。 前のステップで見つけた VLAN ID のいずれかにサブネットがあること、またサブネットが既に別のクラスターにバインドされていないことを確かめます。
次の出力例では、サブネット ID はibmcloud ks subnets --provider classic
1602829
で、それが存在する VLAN ID は2234945
です。GETting subnet list... OK ID Network Gateway VLAN ID Type Bound Cluster 1550165 10.xxx.xx.xxx/26 10.xxx.xx.xxx 2234947 private 1602829 169.xx.xxx.xxx/28 169.xx.xxx.xxx 2234945 public
- サブネットをクラスターで使用できるようにします。
ibmcloud ks cluster subnet add --cluster <cluster_name_or_id> --subnet-id <subnet_ID>
- クラスターにサブネットが正常に作成されて追加されたことを確認します。 サブネットの CIDR は Subnet VLANs セクションにリストされます。
次の例の出力では、2 番目のサブネットがパブリック VLAN のibmcloud ks cluster get --cluster <cluster_name> --show-resources
2234945
に追加されています。Subnet VLANs VLAN ID Subnet CIDR Public User-managed 2234947 10.xxx.xx.xxx/29 false false 2234945 169.xx.xxx.xxx/29 true false 2234945 169.xx.xxx.xxx/29 true false
- 重要: 同じ VLAN 上の別のサブネットにあるワーカー間の通信を可能にするには、その同じ VLAN 上のサブネット間のルーティングを有効にする必要があります。
サブネットのルーティングの管理
クラシック・クラスターで、1 つのクラスターに複数の VLAN がある場合、同じ VLAN 上に複数のサブネットがある場合、または複数ゾーン・クラシック・クラスターである場合は、IBM Cloud インフラストラクチャー・アカウントの仮想ルーター機能 (VRF) を有効にして、ワーカー・ノードがプライベート・ネットワーク上で相互に通信できるようにする必要があります。
VRF を有効にするには、VRF の有効化を参照してください。 VRF が既に有効になっているかどうかを確認するには、ibmcloud account show
コマンドを使用します。 VRF を有効にできない、または有効にしない場合は、VLAN スパンニングを有効にします。
この操作を行うには 、「ネットワーク > ネットワークVLANスパニングインフラストラクチャの管理」権限が必要です。または、アカウント所有者に権限の付与を依頼することもできます。 VLANスパニングがすでに有効になっているかどうかを確認するには、 ibmcloud ks vlan spanning get --region <region>
指示。
VLAN のスパンニングも必要になる、次の各シナリオを検討してください。
VLAN スパンニング・オプションは、VRF 対応アカウントで作成されるクラスターでは無効になっています。 VRF が有効であれば、自動的にアカウント内のすべての VLAN がプライベート・ネットワーク経由で相互に通信できることになります。 詳しくは、クラスター・ネットワークのセットアップの計画: ワーカー間の通信を参照してください。
同一 VLAN 上の 1 次サブネット間のルーティングを有効にする
クラスターを作成すると、プライマリーのパブリック・サブネットとプライベート・サブネットはパブリック VLAN とプライベート VLAN 上にプロビジョンされます。 プライマリー・パブリック・サブネットは /28
で終わり、14 個のワーカー・ノード用パブリック IP を提供します。 プライマリー・プライベート・サブネットは /26
で終わり、最大 62 個のワーカー・ノード用プライベート IP を提供します。
同じ VLAN 上の同じ場所に単一の大規模クラスターまたは複数の小規模クラスターを配置することで、ワーカー・ノード用に初期提供される 14 個のパブリック IP と 62 個のプライベート IP を超過する場合があります。 パブリック・サブネットまたはプライベート・サブネットがワーカー・ノードの上限数に達すると、同じ VLAN 内のもう 1 つのプライマリー・サブネットが注文されます。
同一 VLAN 上のこれらの 1 次サブネット内の各ワーカーが通信できるようにするには、VLAN スパンニングをオンにする必要があります。 手順については、VLAN スパンの有効化または無効化を参照してください。
VLAN スパンニングが既に有効になっているかどうかを確認するには、ibmcloud ks vlan spanning get --region <region>
コマンドを使用します。
ゲートウェイ・アプライアンス用のサブネットのルーティングの管理
クラスターを作成すると、そのクラスターが接続されている VLAN 上にポータブル・パブリック・サブネットとポータブル・プライベート・サブネットがオーダーされます。 これらのサブネットは、Ingress アプリケーション・ロード・バランサー (ALB) およびネットワーク・ロード・バランサー (NLB) サービス用の IP アドレスを提供します。
ただし、Virtual Router Appliance (VRA) などの既存のルーター・アプライアンスが存在する場合は、そのクラスターが接続されている VLAN から新しく追加されたポータブル・サブネットはそのルーター上で構成されません。 NLB または Ingress ALB を使用するには、IBM Cloud インフラストラクチャー・アカウントに対して仮想ルーター機能 (VRF) を有効にすることにより、ネットワーク・デバイスが同じ VLAN 上の異なるサブネット間でルーティングできるようにする必要があります。 VRF を有効にするには、VRF の有効化を参照してください。 VRF を有効にできない、または有効にしない場合は、VLAN スパンニングを有効にします。
クラスターからのサブネットの削除
サブネットが不要になった場合、クラスターから削除できます。 サブネットを削除した後は、そのサブネットは、クラスターで使用できなくなりますが、IBM Cloud クラウド・インフラストラクチャー・アカウントには引き続き存在しています。
始める前に、以下の考慮事項を確認してください。
- クラスターからサブネットをデタッチできるのは、そのサブネット範囲から派生した IP アドレスがクラスターで使用されていない場合のみです。
- ポータブル・パブリック IP アドレスは、月単位で課金されます。 サブネットを削除する場合、短期間しか使用していない場合でも、IP アドレスの月額料金を支払う必要があります。
- 切り離すサブネットが以前にワーカー・ノードで使用されていたものの、このサブネットの VLAN 上にあるどのサブネットにも現在ワーカーが接続されていない場合、このサブネットはクラスターから可視ではありません。 代わりに 、 IBM Cloud クラシックインフラストラクチャコンソールでサブネットを直接キャンセルすることができます。
- 削除するサブネットの CIDR を見つけます。
この出力例では、削除するサブネットの CIDR はibmcloud ks cluster get --cluster <cluster_name> --show-resources
169.1.1.1/29
です。Subnet VLANs VLAN ID Subnet CIDR Public User-managed 2234947 10.xxx.xx.xxx/29 false false 2234945 169.xx.xxx.xxx/29 true false 2234945 169.1.1.1/29 true false
- 前のステップで見つけた CIDR を使用して、削除するサブネットの ID を取得します。
この出力例では、CIDR がibmcloud ks subnets --provider classic
169.1.1.1/29
であるサブネットの ID は1602829
です。ID Network Gateway VLAN ID Type Bound Cluster ... 1602829 169.1.1.1/29 169.1.1.2 2234945 public df253b6025d64944ab99ed63bb4567b6
- サブネットをクラスターからデタッチします。 このサブネットは、その後も IBM Cloud インフラストラクチャー・アカウント内に、使用可能な状態で残ります。
ibmcloud ks cluster subnet detach --cluster <cluster_name_or_ID> --subnet-id <subnet_ID>
- サブネットがクラスターにもうバインドされていないことを確認します。
この出力例では、CIDR がibmcloud ks cluster get --cluster <cluster_name> --show-resources
169.1.1.1/29
であるサブネットが削除されています。Subnet VLANs VLAN ID Subnet CIDR Public User-managed 2234947 10.xxx.xx.xxx/29 false false 2234945 169.xx.xxx.xxx/29 true false