Terwayネットワークプラグインを使用するクラスターでは、Terwayはelastic network Interface (ENI) を使用してコンテナにIPアドレスを割り当てます。 Terwayによって作成されたENIには、最大5つのセキュリティグループを関連付けることができます。 これにより、ポッドのアクセス制御を柔軟に調整できます。 このトピックでは、Terwayモードで複数のセキュリティグループをENIに関連付ける方法について説明します。
前提条件
Terwayのバージョンが1.1.1以降の場合にのみ、複数のセキュリティグループをENIに関連付けることができます。 Terwayの更新方法の詳細については、「コンポーネントの管理」をご参照ください。
背景情報
デフォルトでは、TerwayはENIを作成するときに1つのセキュリティグループのみをENIに関連付けます。 複数のセキュリティグループをENIに関連付けるようにTerwayを設定できます。
セキュリティグループの設定を変更すると、設定は新しく作成されたENIにのみ適用されます。 既存のENIは前の設定を使用します。 設定を有効にするには、ノードを再起動します。 詳細については、「ノードの削除」および「既存のECSインスタンスをACKクラスターに追加」をご参照ください。
複数のセキュリティグループをENIに関連付ける
次のコマンドを実行して、Terway設定のeni_conf ConfigMapを変更します。
kubectl edit cm eni-config -n kube-system
次のコンテンツをeni_conf ConfigMapに追加します。
"security_groups": ["sg-foo","sg-bar"]
例:
"security_group": "sg-bp19k3sj8dk3dcd7****", "security_groups": ["sg-bp1b39sjf3v49c33****","sg-bp1bpdfg35tg****"],
説明Terwayは、
security_group
およびsecurity_groups
で指定されたすべてのセキュリティグループを使用します。 すべてのセキュリティグループが同じVPCにあり、同じタイプであることを確認してください。 最大5つのセキュリティグループを指定できます。次のコマンドを実行して、有効にするセキュリティグループ設定のTerwayポッドを再作成します。
kubectl delete pod -n kube-system -l app=terway-eniip
設定の確認
ECSコンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。
[インスタンス] ページで、管理するECSインスタンスを見つけてクリックします。
ECSインスタンスの詳細ページで、[ENI] タブをクリックします。
[ENI] タブで、ConfigMapで指定されたセキュリティグループがセカンダリENIに関連付けられていることがわかります。
クラスターの作成時に複数のセキュリティグループをENIに関連付ける
APIを呼び出してクラスターを作成するときに、複数のセキュリティグループをENIに関連付けることができます。 SecurityGroupIDs
パラメーターは、ENIに関連付けるセキュリティグループを指定します。 次のコードブロックに例を示します。
{
"name": "your_cluster_name",
"cluster_type": "ManagedKubernetes",
"addons": [
{
"name": "terway-eniip",
"config": "{\"IPVlan\":\"true\",\"NetworkPolicy\":\"false\",\"ENITrunking\":\"true\",\"SecurityGroupIDs\": \"[\\\"sg-foo\\\"]\" }"
}
],
....
}