クラシック・クラスター: ロード・バランサーをデプロイできないのはなぜですか?
クラスター内でネットワーク負荷分散(NLB)サービスをデプロイまたは更新する際に発生する問題のトラブルシューティングを行います。
クラシック・インフラストラクチャー
クラシック・クラスターで ibm-cloud-provider-vlan-ip-config 構成マップを記述すると、以下の出力例のようなエラー・メッセージが表示される場合があります。
oc describe cm ibm-cloud-provider-vlan-ip-config -n kube-system
Warning CreatingLoadBalancerFailed ... ErrorSubnetLimitReached: There are already the maximum number of subnets permitted in this VLAN.
標準クラスターでは、あるゾーンで初めてクラスターを作成したときに、そのゾーン内のパブリック VLAN とプライベート VLAN が IBM Cloud インフラストラクチャー・アカウントで自動的にプロビジョンされます。
そのゾーンでは、指定したパブリック VLAN 上に 1 つのパブリック・ポータブル・サブネットが要求され、指定したプライベート VLAN 上に 1 つのプライベート・ポータブル・サブネットが要求されます。 Red Hat OpenShift on IBM Cloud の場合、VLAN のサブネット数の上限は 40 個です。 ゾーン内のクラスターの VLAN が既にその上限に達している場合、ポータブル・パブリック IP アドレスをネットワーク・ロード・バランサー (NLB) の作成に使用できない可能性があります。
VLAN のサブネット数を表示するには、以下のようにします。
- IBM Cloud のインフラストラクチャコンソール で、[ ネットワーク ] > [IP管理 ] > [VLAN ] を選択します。
- クラスターの作成に使用した VLAN の **「VLAN の数 (VLAN Number)」**をクリックします。 **「サブネット」**セクションで、サブネットが 40 個以上存在するかどうかを確認します。
新規 VLAN が必要な場合、IBM Cloud サポートに連絡して注文してください。
その後、その新規 VLAN を使用するクラスターを作成します。
使用可能な別の VLAN がある場合は、既存のクラスターで VLAN スパンニングをセットアップできます。 その後、使用可能なサブネットがある他の VLAN を使用する新規ワーカー・ノードをクラスターに追加できます。 VLAN スパンニングが既に有効になっているかどうかを確認するには、ibmcloud oc vlan spanning get --region REGION コマンド を使用します。
VLAN に使用していないサブネットがある場合、クラスターに追加することで、VLAN のサブネットを再利用できます。
-
使用したいサブネットが使用可能であることを確認します。
使用しているインフラストラクチャー・アカウントが、複数の IBM Cloud アカウントで共有されている場合があります。 この場合、
ibmcloud oc subnetsバインドされたクラスター**があるサブネットを表示するために ** コマンドを実行しても、自分のクラスターの情報のみが表示されます。 サブネットが使用可能であり、他のアカウントやチームで使用されていないことをインフラストラクチャー・アカウント所有者に確認してください。 -
ibmcloud oc cluster subnet addコマンドを使用して、クラスターで既存のサブネットを使用できるようにします。 -
クラスターにサブネットが正常に作成されて追加されたことを確認します。 サブネットの CIDR は Subnet VLANs セクションにリストされます。
ibmcloud oc cluster get --cluster CLUSTER_NAME --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 -
追加したサブネットのポータブル IP アドレスが、ロード・バランサーの EXTERNAL-IP に使用されていることを確認します。 サービスが新しいサブネットのポータブル IP アドレスを使用するには、数分かかる場合があります。
oc get svc -n kube-system