ACS クラスタのノードオブジェクトは、仮想ノードとして提供されます。クラスタを作成すると、ACS は選択したゾーンに仮想ノードを自動的に作成します。各ゾーンに 1 つの仮想ノードが作成されます。リソースを分散したり、計算能力の供給を確保したり、vSwitch IP アドレスの数を増やしたりする場合は、仮想ノードを作成できます。これは、クラスタの HA を確保しながら、これらの問題を解決するのに役立ちます。
ユースケース
デフォルトでは、ACS クラスタの作成時に、ACS は選択した各ゾーンに仮想ノードを作成します。ACS ポッドは、スケジューリングポリシーに基づいて仮想ノードにスケジュールされます。各ポッドは非公開 vSwitch IP アドレスを占有します。次のシナリオでは、仮想ノードを作成する必要がある場合があります。
クラスタ HA: 分散タスクなどのシナリオでは、HA を確保するためにポッドをゾーン全体に分散する必要がある場合があります。
[計算能力不足]: 現在の仮想ノードは、ビジネス要件を満たすのに十分な計算能力を提供できません。
[IP アドレス不足]: ビジネスまたはネットワークの拡張により、現在の仮想ノードの vSwitch は十分な IP アドレスを提供できません。
前提条件
クラスタリージョンの新しく追加されたゾーンに vSwitch が作成されます。 vSwitch の作成方法の詳細については、「vSwitch を作成および管理する」をご参照ください。
各仮想ノードはゾーンに対応しています。1 つのゾーンに複数の仮想ノードを作成することはできません。クラスタの [仮想ノード] ページで、現在の仮想ノードに対応するゾーンを確認できます。
方法 1: コンソールを使用して仮想ノードを作成する
ACS コンソールを使用すると、仮想ノードを視覚的に作成できます。次の手順を実行して、仮想ノードを作成できます。ACS は vSwitch 構成を自動的に更新します。
仮想ノードを作成すると、ACS は acs-profile の vSwitchIds
構成を自動的に更新し、新しい vSwitch を追加します。
ACS コンソール にログオンします。
[クラスタ] で、クラスタの名前をクリックして、クラスタ管理ページに移動します。
クラスタ管理ページの左側のナビゲーションウィンドウで、[仮想ノード] をクリックします。
[仮想ノード] ページで、[仮想ノードの作成] をクリックします。
[vswitch] セクションで、vSwitch を選択し、[OK] をクリックします。
使用上の注意:
システムは、クラスタの VPC 内の既存の vSwitch を自動的に表示します。 [vswitch の作成] をクリックして、VPC コンソールで vSwitch を作成することもできます。
推奨リソース構成を使用することをお勧めします。ACS は、指定した計算クラスに基づいて、十分な計算能力を持つゾーンを表示します。
各仮想ノードはゾーンに対応しています。1 つのゾーンに複数の仮想ノードを作成することはできません。
仮想ノードのステータスが [アクティブ] であることを確認します。
方法 2: acs-profile の vSwitchIds
構成を変更する
各仮想ノードはゾーンに対応しています。クラスタの vSwitch に仮想ノードが作成されていない場合、システムは自動的に仮想ノードを作成します。システムが仮想ノードを自動的に作成できるように、acs-profile の vSwitchIds
構成に vSwitch を追加できます。
vSwitchIds
から vSwitch を削除して、仮想ノードを自動的に削除することもできます。この操作を実行する前に、ゾーンにポッドがデプロイされていないことを確認してください。
ACS コンソール にログオンします。
[クラスタ] で、クラスタの名前をクリックして、クラスタ管理ページに移動します。
acs-profile の
vSwitchIds
構成を変更します。左側のナビゲーションウィンドウで、
を選択します。[configmap] ページで、[名前空間] ドロップダウンリストを見つけて、[kube-system] を選択します。
[acs-profile] を見つけて、[編集] をクリックします。
vSwitchIds
セクションに新しい vSwitch の ID を入力し、[OK] をクリックします。複数の vSwitch ID はコンマ (,) で区切ります。ACS は、新しく追加された vSwitch のゾーンに仮想ノードがない場合、それらのゾーンに仮想ノードを自動的に作成します。
仮想ノードが作成されていることを確認します。
左側のナビゲーションウィンドウで、[仮想ノード] をクリックします。
[仮想ノード] ページで、仮想ノードが自動的に作成され、[アクティブ] 状態になっていることを確認します。
ACS クラスタに接続します。詳細については、「クラスタの kubeconfig ファイルを取得し、kubectl を使用してクラスタに接続する」および「Cloud Shell で kubectl を使用して ACS クラスタを管理する」をご参照ください。
仮想ノードのステータスを確認します。
kubectl get node
予想される出力:
NAME STATUS ROLES AGE VERSION virtual-kubelet-cn-shanghai-g Ready agent 17d v1.30.1-alibaba.13+ae02e00117a549 virtual-kubelet-cn-shanghai-l Ready agent 17d v1.30.1-alibaba.13+ae02e00117a549 virtual-kubelet-cn-shanghai-m Ready agent 19d v1.30.1-alibaba.13+ae02e00117a549
acs-profile の
vSwitchIds
構成を変更します。acs-profile を変更します。
kubectl edit cm -n kube-system acs-profile
新しい vSwitch の ID を
vSwitchIds
構成に追加します。複数の vSwitch ID はコンマ (,) で区切ります。ACS は、新しく追加された vSwitch のゾーンに仮想ノードがない場合、それらのゾーンに仮想ノードを自動的に作成します。
data: enableClusterIp: "true" enableHybridMode: "false" enableLinuxArm64Node: "false" enableLogController: "false" enablePVCController: "true" enablePrivateZone: "false" enableReuseSSLKey: "false" enableUpdatePodResourceController: "false" enableWindowsAmd64Node: "false" featureGates: ProtectionFinalizers=false resourceGroupId: "" securityGroupId: sg-uf61931oi1w4te****** selectors: "" slsMachineGroup: "" vSwitchIds: vsw-uf68xih52l5inkm******,vsw-uf67n6lumryq7li******,vsw-uf6i6bsihi3sger******,vsw-uf6g4yjk3kemgei******
変更を保存して終了します。
仮想ノードが作成されていることを確認します。
kubectl get node
次の出力では、
virtual-kubelet-cn-shanghai-e
という名前の仮想ノードが作成されています。NAME STATUS ROLES AGE VERSION virtual-kubelet-cn-shanghai-e Ready agent 8s v1.30.1-alibaba.13+ae02e00117a549 virtual-kubelet-cn-shanghai-g Ready agent 17d v1.30.1-alibaba.13+ae02e00117a549 virtual-kubelet-cn-shanghai-l Ready agent 17d v1.30.1-alibaba.13+ae02e00117a549 virtual-kubelet-cn-shanghai-m Ready agent 19d v1.30.1-alibaba.13+ae02e00117a549