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

Container Service for Kubernetes:Terway ConfigMapのカスタマイズ

最終更新日:Dec 19, 2024

TerwayのデフォルトのConfigMapは、ほとんどのシナリオで要件を満たすことができます。 TerwayのConfigMapの変更はリスクの高い操作であり、Terwayの中断などのエラーが発生する可能性があります。 Terway予約済みIPアドレスプールを追加してポッドにIPアドレスを割り当てるプロセスを高速化するなど、ConfigMapに特別な要件がある場合は、このトピックに基づいてTerwayのConfigMapをカスタマイズできます。

設定例

TerwayのConfigMapは次の形式を使用します。

apiVersion: v1
data:
  10-terway.conf: |     # The ConfigMap parameters of the Terway Container Network Interface (CNI), which are converted and passed to /etc/cni/net.d/. Do not modify the parameters. 
    {
      "cniVersion": "0.4.0",
      "name": "terway",
      "capabilities": {"bandwidth": true},
      "eniip_virtual_type": "datapathv2",
      "host_stack_cidrs": ["169.254.20.10/32"],
      "cilium_args": "",
      "type": "terway"
    }
  disable_network_policy: "false"    # Specifies whether to disable the NetworkPolicy feature. 
  eni_conf: |                        # The key parameters of Terway, including vSwitch and security group parameters. 
    {
      "version": "1",
      "max_pool_size": 5,
      "min_pool_size": 0,
      "credential_path": "/var/addon/token-config",
      "enable_eni_trunking": true,
      "vswitches": {"cn-hangzhou-j":["vsw-foo"],"cn-hangzhou-k":["vsw-foo"]},
      "eni_tags": {"ack.aliyun.com":"c7c3cfoo"},
      "service_cidr": "192.168.0.0/16",
      "security_group": "sg-foo",
      "ip_stack": "ipv4",
      "vswitch_selection_policy": "ordered"
    }
  in_cluster_loadbalance: "true" # Specifies whether to enable load balancing in the cluster. This parameter takes effect in DataPathV2 and IPVLAN mode. 
kind: ConfigMap
metadata:
  name: eni-config
  namespace: kube-system

パラメーター

キーパラメーター

パラメーター

説明

パラメーターを変更できるかどうか

コンソールを使用してパラメーターを設定できるかどうか

10-terway.conf

Terway CNIのConfigMapパラメーター。変換され、/etc/cni/net.d/ に渡されます。

任意

不可

10-terway.conflist

Terway CNIのカスタムConfigMapパラメータ。 詳細については、「カスタムCNIチェーンの設定」をご参照ください。

必須

不可

disable_network_ポリシー

NetworkPolicy機能を無効にするかどうかを指定します。

  • false: NetworkPolicy機能を有効にします。

  • true: NetworkPolicy機能を無効にします。

eni_conf

Terwayの主要なパラメーター (vSwitchやセキュリティグループパラメーターなど) 。

部分的に許可

in_cluster_loadbalance

クラスターで負荷分散を有効にするかどうかを指定します。 このパラメーターは、DataPathV2およびIPVLANモードで有効になります。 詳細については、「」をご参照ください。Terway IPVLANモードでクラスター内の負荷分散を有効にするにはどうすればよいですか?

10-terway.confのパラメータ

パラメーター

タイプ

説明

変更可能

コンソールで設定可能

cniVersion

String

CNIの設定バージョン。

任意

不可

name

String

CNIプラグインの名前。

任意

不可

タイプ

String

CNIプラグインのタイプ。

任意

不可

機能

String

CNIの機能。

必須

不可

eniip_virtual_タイプ

String

ネットワークインターフェースカードの仮想化アプローチ。

任意

不可

cilium_args

String

Ciliumの重要なパラメータ。

必須

不可

eni_confパラメータ

パラメーター

タイプ

説明

パラメーターを変更できるかどうか

コンソールを使用してパラメーターを設定できるかどうか

credential_path

String

API操作の呼び出しに使用されるSecurity Token Service (STS) トークン。 このパラメーターは、ACK管理クラスターでのみ使用できます。

任意

不可

service_cidr

String

クラスターのサービスCIDRブロック。

任意

不可

vswitches

map[string][]string

エラスティックネットワークインターフェイス (ENI) で使用されるvSwitch。

eni_tags

map[string]string

ENI用に設定したタグ。

任意

不可

eni_tag_フィルター

map[string]string

Terwayが管理するENIをフィルターします。 詳細については、「ENIフィルターの設定」をご参照ください。

必須

不可

max_pool_サイズ

int

IPアドレスプールに保持できるアイドルIPアドレスの最大数。 既定値:5

min_pool_サイズ

int

IPアドレスプールに保持する必要があるアイドルIPアドレスの最小数。 デフォルト値:0

security_group

String

ENIのセキュリティグループ。

必須

不可

security_groups

[] 文字列

ENIのセキュリティグループ。 最大5つのセキュリティグループを指定できます。 セキュリティグループは同じタイプである必要があります。 このパラメーターを設定すると、このパラメーターの値がsecurity_groupの値とマージされます。

必須

不可

vswitch_selection_ポリシー

String

ENIを作成するときにvSwitchを選択するために使用されるポリシー。

  • ordered: 最もアイドル状態のIPアドレスを持つvSwitchを選択します。 デフォルト値です。

  • random: vSwitchをランダムに選択します。

必須

不可

enable_eip_migrate

bool

EIP移行を有効にするかどうかを指定します。 詳細については、「Terwayからack-extend-network-controllerへのEIPの移行」をご参照ください。

必須

不可

ip_stack

String

IPファミリーモード。 パラメーターは変更できません。

任意

不可

enable_eni_トランキング

bool

トランクENI機能を有効にするかどうかを指定します。 詳細については、「静的IPアドレス、個別のvSwitch、および各ポッドの個別のセキュリティグループの設定」をご参照ください。

必須

不可

kube_client_qps

float32

KubernetesクライアントのQPS設定。 このパラメーターは、kube_client_burstパラメーターと一緒に設定する必要があります。

必須

不可

kube_client_burst

int

Kubernetesクライアントのバースト設定。 このパラメーターは、kube_client_qpsパラメーターと一緒に設定する必要があります。このパラメーターの値は、kube_client_qpsの値より大きくする必要があります。

必須

不可

設定方法

コンソールの使用

コンソールで一般的に使用されるパラメーターを設定できます。 コンソールはコンテンツを検証し、フォーマットが無効なパラメータをブロックします。

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

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[操作] > [アドオン] を選択します。

  3. ネットワーク タブをクリックし、terway-eniipを見つけて、設定 をクリックします。

  4. 表示されるダイアログボックスで、パラメーターを設定し、右下隅の [OK] をクリックします。

kubectlの使用

一部のパラメータはコンソールに表示されません。 kubectlを使用してこれらのパラメーターを設定できます。

警告

kubectlを使用してTerwayを設定することは、リスクの高い操作です。 kubectlは入力内容を確認できません。 入力パラメータが正しくないと、Terwayサスペンションなどのエラーが発生する可能性があります。 変更を加える前に、設定を理解していることを確認してください。

  1. クラスターのkubeconfigファイルを取得し、kubectlを使用してクラスターに接続します。 次に、次のコマンドを実行して高度なパラメーターを設定します。

    kubectl edit cm -n kube-system  eni-config 
  2. 設定が完了したら、ファイルを保存して終了します。 次のコマンドを実行して、設定を更新します。

     kubectl rollout restart -n kube-system daemonset.apps/terway-eniip

関連ドキュメント

ACKクラスターでConfigMapsを設定する操作の詳細については、「ConfigMapsの管理」をご参照ください。