デフォルトの Terway 設定は、ほとんどのシナリオに対応しています。Terway の設定変更は、Terway コンポーネントの停止などのエラーを引き起こす可能性がある高リスクの操作です。IP アドレスリソースプールのサイズを拡大して Pod の IP 割り当てを高速化するなど、特定の要件がある場合は、本トピックの説明に従って設定パラメーターをカスタマイズできます。
制限事項
本トピックでは、各パラメーターの機能について説明します。すべてのパラメーターの組み合わせが、すべてのシナリオで機能するわけではありません。設定を適用する前に、十分にテストを実施してください。
一部のパラメーターはコンソールで設定できます。パラメーターがコンソールで利用できない場合、現在のコンポーネントバージョンではサポートされていません。パラメーターを設定するには、Terway コンポーネントをアップグレードする必要があります。
Terway 設定例
次のコードは、クラスター内の Terway コンポーネントの ConfigMap ファイルの形式を示しています。
apiVersion: v1
data:
10-terway.conf: | # Terway CNI 設定ファイルのパラメーター。この設定は変換され、/etc/cni/net.d/ に書き込まれます。変更しないでください。
{
"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" # NetworkPolicy 機能を無効にするかどうかを指定します。
eni_conf: | # vSwitch やセキュリティグループなど、Terway のコア設定パラメーター。
{
"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" # クラスター内負荷分散。DataPathV2 または IPvlan モードでのみ有効です。
kind: ConfigMap
metadata:
name: eni-config
namespace: kube-systemパラメーター
トップレベルパラメーター
パラメーター | 説明 | 変更可能 | コンソールサポート |
| Terway CNI 設定パラメーター。この設定は変換され、 | いいえ | いいえ |
| カスタム Terway CNI 設定ファイルのパラメーター。詳細については、「カスタム CNI チェーンを設定する」をご参照ください。 | はい | いいえ |
| NetworkPolicy 機能を無効にするかどうかを指定します。
| はい | はい |
| vSwitch やセキュリティグループなど、Terway のコア設定パラメーター。 | はい | 一部 |
| クラスター内ロードバランシングを有効にするかどうかを指定します。このパラメーターは、DataPathV2 または IPvlan モードでのみ有効になります。詳細については、「Terway IPvlan クラスターでクラスター内ロードバランシングを有効にする方法」をご参照ください。 | はい | はい |
10-terway.conf パラメーター
パラメーター | タイプ | 説明 | 変更可能 | コンソールサポート |
| string | CNI 設定バージョン。 | いいえ | いいえ |
| string | CNI プラグインの名前。 | いいえ | いいえ |
| string | CNI プラグインのタイプ。 | いいえ | いいえ |
| string | CNI の機能。 | はい | いいえ |
| string | ENI の仮想化方式。 | いいえ | いいえ |
| string | Cilium 設定パラメーター。例: 重要
| はい | はい |
| bool | terway-eniip 1.15.0 以降が必要です。 対称ルーティングを有効にするかどうかを指定します。この機能を有効にすると、トラフィックが同じインターフェースから送受信されるように、ポリシーベースルーティングルールが設定されます。
| はい | いいえ |
| map[string]any | terway-eniip 1.15.0 以降が必要です。 対称ルーティング設定パラメーター。ほとんどの場合、これらのパラメーターを設定する必要はありません。次のコードは、デフォルト値と例を示しています。 重要 誤った設定は、既存のネットワーク設定に影響を与える可能性があります。パラメーターを使用する前に、非本番環境で十分にテストしてください。 | はい | いいえ |
eni_conf パラメーター
パラメーター | タイプ | 説明 | 変更可能 | コンソールサポート |
| string | OpenAPI へのアクセスに使用される Security Token Service (STS) トークンへのパスです。このパラメーターは、ACK マネージドクラスター にのみ適用されます。 | いいえ | いいえ |
| string | クラスターのサービス CIDR ブロック。 | いいえ | いいえ |
| map[string][]string | ENI で使用可能な vSwitch。ゾーンごとにキー指定されます。 | はい | はい |
| map[string]string | ENI 作成時に追加するタグ。このパラメーターの変更は、既存の ENI には影響しません。 | いいえ | いいえ |
| map[string]string | 共有 ENI モードにのみ適用されます。 Terway が管理する ENI をフィルタリングします。詳細については、「ENI のホワイトリストを設定する」をご参照ください。 | はい | いいえ |
| int | 共有 ENI モードにのみ適用されます。 IP アドレスリソースプールに保持するアイドル IP アドレスの最大数。デフォルト値: 5。 | はい | はい |
| int | 共有 ENI モードにのみ適用されます。 IP アドレスリソースプールに保持するアイドル IP アドレスの最小数。デフォルト値: 0。 | はい | はい |
| string | 新しい ENI のセキュリティグループ。このパラメーターの変更は、既存の ENI には影響しません。 | はい | いいえ |
| []string | 新しい ENI のセキュリティグループ。最大 10 個のセキュリティグループを指定できます。このパラメーターを設定すると、 | はい | はい |
| string | ENI 作成時に vSwitch を選択するポリシー。
| はい | はい |
| bool | EIP 移行機能を有効にするかどうかを指定します。詳細については、「Terway から ack-extend-network-controller への EIP の移行」をご参照ください。 | はい | いいえ |
| string | クラスターの IP ファミリー。このパラメーターは変更できません。 | いいえ | いいえ |
| string | クラスターの IPAM 方式。このパラメーターは変更できません。 | いいえ | いいえ |
| bool |
| はい | いいえ |
| float32 | Kubernetes クライアントの QPS 設定。 | はい | はい |
| int | Kubernetes クライアントの Burst 設定。 | はい | はい |
| string | 新しい ENI が追加されるリソースグループ。このパラメーターの変更は、既存の ENI には影響しません。 | はい | はい |
| string | terway-eniip 1.15.0 以降が必要です。共有 ENI モードにのみ適用されます。 IP アドレスリソースプールの同期期間。デフォルト値: 120 秒。 例: | はい | いいえ |
| string | terway-eniip 1.16.0 以降が必要です。共有 ENI モードにのみ適用されます。 IP アドレスがアイドル状態になってから回収されるまでの時間。 例: 説明 回収前に Pod が作成または削除されると、タイマーはリセットされます。 | はい | いいえ |
| string | terway-eniip 1.16.0 以降が必要です。共有 ENI モードにのみ適用されます。 2 回の連続した回収チェックの間隔。 例: | はい | いいえ |
| int | terway-eniip 1.16.0 以降が必要です。共有 ENI モードにのみ適用されます。 1 回のバッチで回収できる IP アドレスの最大数。有効範囲: 1 ~ 10。 例: | はい | いいえ |
| string | terway-eniip 1.16.0 以降が必要です。共有 ENI モードにのみ適用されます。 回収時間をランダム化するために使用されるジッター係数。有効範囲: 0.0 ~ 1.0。 例: | はい | いいえ |
| int | terway-eniip 1.16.4 以降、およびクラスターの 一度に事前割り当てする IP アドレスの数。このパラメーターは新しく追加されたノードにのみ有効です。ノード上の割り当て済み IP アドレス数が期待値に達すると、ウォームアップタスクは停止します。 例: | はい | いいえ |
| bool | terway-eniip 1.13.7 以降が必要です。共有 ENI モードにのみ適用されます。 Pod に | はい | いいえ |
| bool | terway-eniip 1.17.0 以降が必要です。共有 ENI モードにのみ適用されます。 デフォルト値は | はい | いいえ |
| int | terway-eniip 1.17.0 以降が必要です。共有 ENI モードにのみ適用されます。 ノード設定の IP プレフィックスの数。このパラメーターは、クラスターネットワークタイプが | はい | いいえ |
| int | terway-eniip 1.17.0 以降が必要です。共有 ENI モードにのみ適用されます。 ノードの IP プレフィックスの数。このパラメーターは、クラスターネットワークタイプが | はい | いいえ |
設定方法
コンソールの使用
コンソールで頻繁に使用されるパラメーターを設定できます。コンソールは内容を検証し、無効なエントリを拒否します。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
ネットワーク タブをクリックし、terway-eniip カード内の 設定 をクリックします。
表示されたパネルでパラメーターを設定し、OK をクリックします。
kubectl の使用
一部のパラメーターはコンソールでは利用できません。kubectl を使用してこれらのパラメーターを設定できます。
kubectl を使用した Terway の設定は高リスクの操作です。kubectl は入力を検証できません。誤ったパラメーターは、Terway コンポーネントの停止などのエラーを引き起こす可能性があります。変更を加える前に、設定内容を十分に理解してください。
kubectl を使用してクラスターに接続します。詳細については、「クラスターの kubeconfig ファイルを取得し、kubectl を使用してクラスターに接続する」をご参照ください。次に、次のコマンドを実行して詳細パラメーターを設定します。
kubectl edit cm -n kube-system eni-config設定を保存した後、次のコマンドを実行して DaemonSet を再起動し、変更を適用します。
kubectl rollout restart -n kube-system daemonset.apps/terway-eniip
関連ドキュメント
Terway をアップグレードするには、「コンポーネントの管理」をご参照ください。
詳細については、「ConfigMap の管理」をご参照ください。