すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:ポッドvSwitchの追加

最終更新日:Feb 20, 2025

Terway EdgeプラグインがデプロイされたContainer Service for Kubernetes (ACK) Edgeクラスターシナリオでは、vSwitchのIPアドレスが不足しているか、ポッドCIDRを拡張する必要がある場合、新しいポッドvSwitchを追加してクラスターに追加のIPリソースをプロビジョニングできます。

前提条件

vSwitchの追加

ポッドvSwitchのIPリソースが不十分な場合、次の手順でvSwitchをACK Edgeクラスターに追加できます。

  1. ENSネットワークにvSwitchを作成します。

    1. ENSコンソールにログインし、左側のナビゲーションウィンドウで [ネットワーク管理] > [vSwitch] を選択します。

    2. [vSwitch] ページで、[vSwitchの作成] をクリックし、必要な情報を入力して、[作成] をクリックします。

      • ノード: ENSエッジノードを選択します。

      • ネットワーク: ENSに関連付けられているネットワークを選択します。

      • 名前: 新しいvSwitchに名前を割り当てます。

      • IPv4 CIDRブロック: ENSネットワークのCIDRブロック内にあるネットワーク範囲を選択します。

  2. 新しいvSwitchを含めるようにTerway Edge ConfigMapを更新します。

    kubectl edit cm privateip-config -n kube-system 

    vswitchesの下に新しいvSwitchを設定します。 複数のvSwitchを追加できます。 n − xxxは、ENSにおけるネットワークIDを示し、["vsw − xxx", "vsw − xxxx"] は、ネットワーク内のvSwitch IDを示す。 既存のvSwitch IDを削除しないようにしてください。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      annotations:
        helm.sh/hook: pre-install
      name: privateip-config
      namespace: kube-system
    data:
      privateip_conf: |
        {
          "vswitches": {
             "n-xxx": ["vsw-xxx", "vsw-xxxx"],
             "n-xxx": ["vsw-xxx", "vsw-xxxx"]
          },
          "vswitch_selection_policy": "most"
        }
    
    説明

    デフォルトでは、ポッドのIPアドレスは、プロビジョニングされたElastic Network Interface (ENI) に関連付けられたvSwitchから割り当てられます。 新しいポッドvSwitchは、ホストするENSインスタンスおよびENIインスタンスとは異なるvSwitchの下に存在します。

ポッドvSwitch十分なIPリソースがあるかどうかを知るにはどうすればますか

Terway Edgeネットワークのシナリオで、ポッドの作成がContainerCreatingステータスで失敗した場合、次の手順を実行してvSwitchのIPリソースが十分であることを確認します。

  1. ポッドに関連付けられているENSノードを照会します。

    kubectl get pod -o wide 

    想定される出力:

    NAME      READY   STATUS              RESTARTS   AGE     IP             NODE    
    cube-1    0/1     ContainerCreating   0          41s     <none>         node-1 
    cube-2    0/1     ContainerCreating   0          41s     <none>         node-1  
  2. ENSノードのリソースの詳細を表示します。

    kubectl describe ensnodes node-1

    想定される出力:

    Name:         node-1
    Namespace:    
    Labels:       name=node-1
    API Version:  network.alibabacloud.com/v1beta1
    ....
    Events:
      Type     Reason         Age      From               Message
      ----     ------         ----     ----               -------
      Warning  AllocIPFailed  1m       ens-multi-ip-node  [SDKError] API: AssignPrivateIpAddresses, ErrorCode: InvalidVSwitchId.IpNotEnough, RequestId: xxxxxxx, Message: Don't have enough private IPs in this switch.
      Warning  AllocIPFailed  1m       ens-multi-ip-node  [SDKError] API: AssignPrivateIpAddresses, ErrorCode: InvalidVSwitchId.IpNotEnough, RequestId: xxxxxxx, Message: Don't have enough private IPs in this switch.

    ErrorCode: InvalidVSwitchId.IpNotEnoughEventsに存在する場合、ポッドvSwitchにはさらにIPリソースが必要です。

関連ドキュメント