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
パラメーター
キーパラメーター
パラメーター | 説明 | パラメーターを変更できるかどうか | コンソールを使用してパラメーターを設定できるかどうか |
| Terway CNIのConfigMapパラメーター。変換され、 | 任意 | 不可 |
| Terway CNIのカスタムConfigMapパラメータ。 詳細については、「カスタムCNIチェーンの設定」をご参照ください。 | 必須 | 不可 |
| NetworkPolicy機能を無効にするかどうかを指定します。
| 可 | 可 |
| Terwayの主要なパラメーター (vSwitchやセキュリティグループパラメーターなど) 。 | 可 | 部分的に許可 |
| クラスターで負荷分散を有効にするかどうかを指定します。 このパラメーターは、DataPathV2およびIPVLANモードで有効になります。 詳細については、「」をご参照ください。Terway IPVLANモードでクラスター内の負荷分散を有効にするにはどうすればよいですか? | 可 | 可 |
10-terway.confのパラメータ
パラメーター | タイプ | 説明 | 変更可能 | コンソールで設定可能 |
| String | CNIの設定バージョン。 | 任意 | 不可 |
| String | CNIプラグインの名前。 | 任意 | 不可 |
| String | CNIプラグインのタイプ。 | 任意 | 不可 |
| String | CNIの機能。 | 必須 | 不可 |
| String | ネットワークインターフェースカードの仮想化アプローチ。 | 任意 | 不可 |
| String | Ciliumの重要なパラメータ。 | 必須 | 不可 |
eni_confパラメータ
パラメーター | タイプ | 説明 | パラメーターを変更できるかどうか | コンソールを使用してパラメーターを設定できるかどうか |
| String | API操作の呼び出しに使用されるSecurity Token Service (STS) トークン。 このパラメーターは、ACK管理クラスターでのみ使用できます。 | 任意 | 不可 |
| String | クラスターのサービスCIDRブロック。 | 任意 | 不可 |
| map[string][]string | エラスティックネットワークインターフェイス (ENI) で使用されるvSwitch。 | 可 | 可 |
| map[string]string | ENI用に設定したタグ。 | 任意 | 不可 |
| map[string]string | Terwayが管理するENIをフィルターします。 詳細については、「ENIフィルターの設定」をご参照ください。 | 必須 | 不可 |
| int | IPアドレスプールに保持できるアイドルIPアドレスの最大数。 既定値:5 | 可 | 可 |
| int | IPアドレスプールに保持する必要があるアイドルIPアドレスの最小数。 デフォルト値:0 | 可 | 可 |
| String | ENIのセキュリティグループ。 | 必須 | 不可 |
| [] 文字列 | ENIのセキュリティグループ。 最大5つのセキュリティグループを指定できます。 セキュリティグループは同じタイプである必要があります。 このパラメーターを設定すると、このパラメーターの値が | 必須 | 不可 |
| String | ENIを作成するときにvSwitchを選択するために使用されるポリシー。
| 必須 | 不可 |
| bool | EIP移行を有効にするかどうかを指定します。 詳細については、「Terwayからack-extend-network-controllerへのEIPの移行」をご参照ください。 | 必須 | 不可 |
| String | IPファミリーモード。 パラメーターは変更できません。 | 任意 | 不可 |
| bool |
| 必須 | 不可 |
| float32 | KubernetesクライアントのQPS設定。 このパラメーターは、 | 必須 | 不可 |
| int | Kubernetesクライアントのバースト設定。 このパラメーターは、 | 必須 | 不可 |
設定方法
コンソールの使用
コンソールで一般的に使用されるパラメーターを設定できます。 コンソールはコンテンツを検証し、フォーマットが無効なパラメータをブロックします。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、
を選択します。ネットワーク タブをクリックし、terway-eniipを見つけて、設定 をクリックします。
表示されるダイアログボックスで、パラメーターを設定し、右下隅の [OK] をクリックします。
kubectlの使用
一部のパラメータはコンソールに表示されません。 kubectlを使用してこれらのパラメーターを設定できます。
kubectlを使用してTerwayを設定することは、リスクの高い操作です。 kubectlは入力内容を確認できません。 入力パラメータが正しくないと、Terwayサスペンションなどのエラーが発生する可能性があります。 変更を加える前に、設定を理解していることを確認してください。
クラスターのkubeconfigファイルを取得し、kubectlを使用してクラスターに接続します。 次に、次のコマンドを実行して高度なパラメーターを設定します。
kubectl edit cm -n kube-system eni-config
設定が完了したら、ファイルを保存して終了します。 次のコマンドを実行して、設定を更新します。
kubectl rollout restart -n kube-system daemonset.apps/terway-eniip
関連ドキュメント
ACKクラスターでConfigMapsを設定する操作の詳細については、「ConfigMapsの管理」をご参照ください。