クラシック・クラスター: ロード・バランサーをデプロイできないのはなぜですか?

クラスター内でネットワーク負荷分散(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 のサブネット数を表示するには、以下のようにします。

  1. IBM Cloud のインフラストラクチャコンソール で、[ ネットワーク ] > [IP管理 ] > [VLAN ] を選択します。
  2. クラスターの作成に使用した VLAN の **「VLAN の数 (VLAN Number)」**をクリックします。 **「サブネット」**セクションで、サブネットが 40 個以上存在するかどうかを確認します。

新規 VLAN が必要な場合、IBM Cloud サポートに連絡して注文してください。

その後、その新規 VLAN を使用するクラスターを作成します

使用可能な別の VLAN がある場合は、既存のクラスターで VLAN スパンニングをセットアップできます。 その後、使用可能なサブネットがある他の VLAN を使用する新規ワーカー・ノードをクラスターに追加できます。 VLAN スパンニングが既に有効になっているかどうかを確認するには、ibmcloud oc vlan spanning get --region REGION コマンド を使用します。

VLAN に使用していないサブネットがある場合、クラスターに追加することで、VLAN のサブネットを再利用できます。

  1. 使用したいサブネットが使用可能であることを確認します。

    使用しているインフラストラクチャー・アカウントが、複数の IBM Cloud アカウントで共有されている場合があります。 この場合、ibmcloud oc subnetsバインドされたクラスター**があるサブネットを表示するために ** コマンドを実行しても、自分のクラスターの情報のみが表示されます。 サブネットが使用可能であり、他のアカウントやチームで使用されていないことをインフラストラクチャー・アカウント所有者に確認してください。

  2. ibmcloud oc cluster subnet add コマンドを使用して、クラスターで既存のサブネットを使用できるようにします。

  3. クラスターにサブネットが正常に作成されて追加されたことを確認します。 サブネットの 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
    
  4. 追加したサブネットのポータブル IP アドレスが、ロード・バランサーの EXTERNAL-IP に使用されていることを確認します。 サービスが新しいサブネットのポータブル IP アドレスを使用するには、数分かかる場合があります。

    oc get svc -n kube-system