ACK マネージドクラスターおよび ACK 専有クラスターで、cloud-config ConfigMap を更新して、複数の VPC ルートテーブルにポッドルートを追加します。
前提条件
-
Flannel ネットワークプラグインを使用した ACK クラスターが作成されており、cloud-controller-manager コンポーネントが次のバージョン要件を満たしています:
-
ACK マネージドクラスター:
-
Kubernetes ≥ 1.18
-
cloud-controller-manager ≥ v2.4.0
-
-
ACK 専用クラスター:
-
cloud-controller-manager ≥ v1.9.3.105-gfd4e547-aliyun
-
必要に応じて、クラスターを手動でアップグレードしてください。詳細については、「Cloud Controller Manager」をご参照ください。
-
-
クラスター VPC に複数のルートテーブルがあること。
説明VPC にルートテーブルが 1 つしかない場合は、このタスクをスキップしてください。
背景情報
複数のルートテーブルを持つ VPC では、Elastic Compute Service (ECS) インスタンスを異なるルートテーブルに関連付けることができます。以前の Cloud Controller Manager (CCM) バージョンでは、VPC ごとに 1 つのルートテーブルしかサポートされていませんでした。複数のルートテーブルを有効にするには、CCM を最新バージョンに更新する必要があります。詳細については、「コンポーネントの管理」をご参照ください。
ルートテーブル ID の取得
VPC コンソールからルートテーブル ID を取得します。
-
VPC コンソールにログインします。ナビゲーションペインで、[ルートテーブル] をクリックします。
-
[ルートテーブル] ページで、フィルターを [VPC ID] に設定し、クラスターの VPC ID を入力して、検索アイコンをクリックします。

ACK マネージドクラスターの複数ルートテーブルの設定
アドオンページで、CCM の設定にルートテーブル ID を指定します。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
-
[アドオン] ページで、CCM を見つけ、[設定] をクリックします。

-
[routeTableIDs] フィールドにルートテーブル ID を入力し、[OK] をクリックします。
システムルートテーブル ID を含めます。ID はカンマ (,) で区切ります。例: vtb-t4n788888****,vtb-t4n7k6u3m0n840799***。routeTableIDs パラメーターは、複数の VPC ルートテーブルを使用する Flannel ベースのクラスターでのみ必要です。Terway ベースのクラスターでは、このパラメーターは不要です。
ACK 専用クラスターの複数ルートテーブルの設定
kubectl または ACK コンソール経由でルートテーブル ID を指定します。
kubectl での設定
kubectl クライアントが専用クラスターに接続されていることを確認してください。詳細については、「クラスターの KubeConfig を取得して kubectl でクラスターに接続」をご参照ください。
-
cloud-config ConfigMap を編集用に開きます:
kubectl edit cm -n kube-system cloud-config -
${ROUTE_TABLES_IDS}を VPC ルートテーブル ID に置き換えます。システムルートテーブル ID を含め、ID はコンマ (,) で区切ります。例:vtb-t4n788888****,vtb-t4n7k6u3m0n840799****。重要cloud-config ConfigMap の
${ROUTE_TABLES_IDS}の値のみを修正します。"routeTableIDs": "${ROUTE_TABLES_IDS}" -
CCM Pod を再起動します:
kubectl -n kube-system delete po -lapp=cloud-controller-managerPod が再起動すると、指定されたルートテーブルにクラスターのノードルートが表示されます。
ACK コンソールでの設定
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
-
kube-system 名前空間を選択し、cloud-config ConfigMap を見つけて、[YAML の編集] をクリックします。
-
[YAML で表示] パネルで、routeTableIDs を VPC ルートテーブル ID に設定します。システムルートテーブル ID も含めてください。ID はコンマ (,) で区切ります。例: vtb-t4n788888****,vtb-t4n7k6u3m0n840799****。[OK] をクリックします。

詳細ページの左側のナビゲーションウィンドウで、 を選択します。
-
kube-system 名前空間を選択します。cloud-controller-manager DaemonSet を見つけ、[一括再デプロイ] をクリックします。
再デプロイ後、指定されたルートテーブルにクラスターのノードルートが表示されます。