このドキュメントでは、クラスターセキュリティグループの設定によって発生する Kubernetes クラスターネットワーク障害について説明し、対応する解決策を提供します。

現象

コンテナーが、Kubernetes クラスターネットワークを使用して相互に通信できない。

原因

  • 関連する ingress セキュリティグループルールが削除されている。 ルールの詳細は次のとおりです。 ingress の [権限付与オブジェクト][ポッド ネットワーク CIDR] で、[プロトコルタイプ][すべて] です。
  • 新しく追加された ECS インスタンスと Kubernetes クラスターが、異なるセキュリティグループに配置されている。

解決策

原因 1: 関連する ingress セキュリティグループルールが削除されている。 ルールの詳細は次のとおりです。 ingress の [権限付与オブジェクト][ポッド ネットワーク CIDR] で、 [プロトコルタイプ][すべて] です。
  1. Container Service コンソール にログインします。
  2. Kubernetes の左側のナビゲーションウィンドウで、 [クラスター] をクリックします。
  3. 対象となるクラスター名をクリックして、クラスターの詳細を表示します。
  4. [クラスターリソース] エリアで、[VPC] をクリックします。
  5. [ネットワークリソース] エリアで、[セキュリティグループ] の右側にある数字をクリックします。
  6. 対象となるセキュリティグループの [操作] 列で、[ルールの設定] をクリックします。
  7. [Ingress] ページで、右上隅の [セキュリティグループルールの追加] をクリックします。
  8. [プロトコルタイプ][権限付与オブジェクト] を設定します。

    [プロトコルタイプ] ドロップダウンリストから、[すべて] を選択します。

    [権限付与オブジェクト] に、Kubernetes クラスターの [ポッドネットワーク CIDR] を入力します。
    • [クラスター基本情報] ページの [クラスター情報] エリアで、Kubernetes クラスターの [ポッドネットワーク CIDR] を確認できます。
    • [権限付与オブジェクト] の設定の詳細については、「シナリオ」をご参照ください。

結果の検証

必要な ingress セキュリティグループルールが追加されています。 ルールの詳細は次のとおりです。 ingress の [権限付与オブジェクト][ポッド ネットワーク CIDR] で、 [プロトコルタイプ][すべて] です。
原因 2: 新しく追加された ECS インスタンスと Kubernetes クラスターが、異なるセキュリティグループに配置されている。
  1. Container Service コンソール にログインします。
  2. 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
  3. 対象となる [クラスター名] をクリックします。
  4. [クラスターリソース] エリアで、[VPC] をクリックします。
  5. [VPC の詳細] ページで、[ネットワークリソース] エリアの [セキュリティグループ] の右側の数字をクリックします。
  6. [セキュリティグループ] ページで、対象となるセキュリティグループ名を表示します。
  7. Elastic Compute Service コンソールで、左側のナビゲーションウィンドウの [インスタンス] をクリックします。
  8. [インスタンス] ページで、目的のインスタンスの [操作] 列で、[詳細] > [ネットワークとセキュリティグループ] > [セキュリティグループに追加] を選択します。
  9. [セキュリティグループ] ボックスの右側にあるドロップダウン矢印をクリックし、手順 6 で取得したクラスターセキュリティグループ名を入力します。
  10. [OK] をクリックします。
結果の検証
  1. Elastic Computer Service コンソールの左側のナビゲーションウィンドウで、[インスタンス] をクリックし、目的のインスタンスをクリックします。
  2. 左側のナビゲーションウィンドウで、[セキュリティグループ] をクリックします。
  3. [セキュリティグループ] エリアに、対象となる ECS インスタンスが Kubernetes クラスターが属するセキュリティグループに追加されたことが表示されます。