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

Container Service for Kubernetes:VPC の複数のルートテーブルを構成する

最終更新日:Apr 17, 2025

Container Service for Kubernetes (ACK) は、cloud controller manager (CCM) を使用して、クラスターがデプロイされている仮想プライベートクラウド (VPC) のルートテーブルにルートを追加します。これにより、クラスター内のポッド間のネットワーク接続が可能になります。 cloud-config ConfigMap を更新して、ACK クラスターがデプロイされている VPC の複数のルートテーブルを構成できます。このトピックでは、ACK クラスターがデプロイされている 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 の複数のルートテーブルを構成する必要はありません。

背景情報

VPC に複数のルートテーブルが構成されている場合、Elastic Compute Service (ECS) インスタンスを異なるルートテーブルに関連付けることができます。以前のバージョンの CCM では、VPC ごとに 1 つのルートテーブルしか構成できませんでした。そのため、ACK コンソールで CCM を最新バージョンに更新する必要があります。 CCM バージョンの更新方法の詳細については、「コンポーネントの管理」をご参照ください。

ACK マネージドクラスターがデプロイされている VPC の複数のルートテーブルを構成する

ACK マネージドクラスターがデプロイされている VPC の複数のルートテーブルは、ACK コンソールで構成できます。

  1. ルートテーブルの ID を取得します。

    1. VPC コンソール にログインします。左側のナビゲーションウィンドウで、[ルートテーブル] をクリックします。

    2. [ルートテーブル] ページで、検索条件を [VPC ID] に設定し、クラスターが存在する VPC の ID を入力して、検索アイコンをクリックします。

      路由表

  2. ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  3. [クラスター] ページで、管理するクラスターを見つけて、その名前をクリックします。左側のナビゲーションウィンドウで、[操作] > [アドオン] を選択します。

  4. [アドオン] ページで、CCM を見つけて [構成] をクリックします。

    配置.png

  5. [routeTableIDs] フィールドに、手順 1 で取得したルートテーブル ID を入力し、[OK] をクリックします。

    VPC の システムルートテーブル の ID を入力し、ルートテーブル ID をコンマ (,) で区切る必要があります。例: vtb-t4n788888****,vtb-t4n7k6u3m0n840799***.路由表.png

ACK 専用クラスターがデプロイされている VPC の複数のルートテーブルを構成する

ACK 専用クラスターがデプロイされている VPC の複数のルートテーブルは、ACK コンソールまたは kubectl を使用して構成できます。

kubectl を使用する

kubectl クライアントを使用して VPC の複数のルートテーブルを構成するには、kubectl クライアントが ACK 専用クラスターに接続されていることを確認してください。詳細については、「クラスターの kubeconfig ファイルを取得し、kubectl を使用してクラスターに接続する」をご参照ください。

  1. cloud-config ConfigMap を更新します。

    kubectl edit cm -n kube-system cloud-config コマンドを実行して、cloud-config ConfigMap を変更します。 ${ROUTE_TABLES_IDS} を VPC 内のルートテーブルの ID に置き換えます。システムルートテーブルの ID が含まれていることを確認してください。複数のルートテーブル ID はコンマ (,) で区切ります。例: vtb-t4n788888****,vtb-t4n7k6u3m0n840799****。

    重要

    ${ROUTE_TABLES_IDS}cloud-config ConfigMap 内の のみ変更する必要があります。

    "routeTableIDs": "${ROUTE_TABLES_IDS}"
  2. 次のコマンドを実行して、CCM を実行しているポッドを再起動します。

    kubectl -n kube-system delete po -lapp=cloud-controller-manager

    ポッドが再起動されると、クラスターノードのルートが指定されたルートテーブルに表示されます。

ACK コンソールを使用する

  1. ACK コンソール にログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、変更するクラスターの名前をクリックします。左側のナビゲーションウィンドウで、[構成] > [ConfigMap] を選択します。

  3. kube-system 名前空間を選択します。 cloud-config ConfigMap を見つけて、[アクション] 列の [YAML の編集] をクリックします。

  4. [YAML で表示] パネルで、routeTableIDs を VPC 内のルートテーブルの ID に設定します。システムルートテーブルの ID が含まれていることを確認してください。複数のルートテーブル ID はコンマ (,) で区切ります。例: vtb-t4n788888****,vtb-t4n7k6u3m0n840799****。次に、[OK] をクリックします。

    cloud-config

  5. 詳細ページの左側のナビゲーションウィンドウで、[ワークロード] > [DaemonSet] を選択します。

  6. kube-system 名前空間を選択します。 cloud-controller-manager DaemonSet を見つけて、ページの下部にある [一括再デプロイ] をクリックします。

    再デプロイが完了すると、クラスターノードのルートが指定されたルートテーブルに表示されます。