デフォルトの Terway 設定は、ほとんどのシナリオに適しています。Terway 設定の変更は、Terway コンポーネントの停止などのエラーを引き起こす可能性があるハイリスクな操作です。予約済み IP アドレスリソースプールのサイズを増やして Pod の IP アドレス割り当て速度を最適化するなど、特別な要件がある場合は、このトピックで説明するように設定をカスタマイズできます。
制限事項
このトピックでは、パラメーターの機能のみを説明します。すべてのパラメーターの組み合わせが、すべてのシナリオに適しているわけではありません。設定を適用する前に、徹底的にテストする必要があります。
一部のパラメーターはコンソールで設定できます。パラメーターがコンソールで使用できない場合、現在のコンポーネントバージョンではサポートされていません。パラメーターを設定する前に、Terway コンポーネントをアップグレードする必要があります。
Terway 設定例
クラスター内の Terway コンポーネントの ConfigMap ファイルは、次のフォーマットを使用します。
apiVersion: v1
data:
10-terway.conf: | # Terway Container Network Interface (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 設定パラメーター。例: 重要 パラメーターのサポートはコミュニティのバージョンによって異なり、下位互換性は保証されません。本番環境でこれらのパラメーターを使用する場合は、必ず十分にテストしてください。アップグレード中に Terway Pod の起動に失敗した場合は、設定を削除してリトライしてください。 | はい | はい |
| bool | terway-eniip バージョン 1.15.0 以降が必要です。 対称ルーティングを有効にするかどうかを指定します。有効にすると、ポリシーベースルーティングルールが設定され、トラフィックが入力されたのと同じインターフェイスから出力されるようになります。
| はい | いいえ |
| map[string]any | terway-eniip バージョン 1.15.0 以降が必要です。 対称ルーティング設定パラメーター。次のコードは、デフォルト値と例を示しています。ほとんどの場合、これらのパラメーターを設定する必要はありません。 重要 設定が正しくないと、既存のネットワーク設定に影響する可能性があります。テスト環境で十分にテストした後にのみ、これらのパラメーターを使用してください。 | はい | いいえ |
eni_conf パラメーター
パラメーター | タイプ | 説明 | 変更可能 | コンソールで設定可能 |
| string | OpenAPI にアクセスするために使用されるセキュリティトークンサービス (STS) トークン。このパラメーターは、ACK マネージドクラスターにのみ適用されます。 | いいえ | いいえ |
| string | クラスターのサービス CIDR ブロック。 | いいえ | いいえ |
| map[string][]string | Elastic Network Interface (ENI) の vSwitch のリスト。 | はい | はい |
| map[string]string | ENI の作成時に追加するタグ。このパラメーターを変更しても、既存の ENI には影響しません。 | いいえ | いいえ |
| map[string]string | Terway によって管理される ENI をフィルターします。詳細については、「ENI のホワイトリストを設定する」をご参照ください。 | はい | いいえ |
| int | IP アドレスリソースプールに予約するアイドル IP アドレスの最大数。デフォルト値: 5。 | はい | はい |
| int | IP アドレスリソースプールに予約するアイドル IP アドレスの最小数。デフォルト値: 0。 | はい | はい |
| string | ENI の作成時に使用するセキュリティグループ。このパラメーターを変更しても、既存の ENI には影響しません。 | はい | いいえ |
| []string | ENI の作成時に使用するセキュリティグループ。最大 10 個のセキュリティグループを指定できます。セキュリティグループは同じタイプである必要があります。このパラメーターが設定されている場合、その値と | はい | はい |
| string | ENI の作成時に vSwitch を選択するためのポリシー。
| はい | はい |
| bool | Elastic IP アドレス (EIP) 移行機能を有効にします。詳細については、「EIP を Terway から ack-extend-network-controller に移行する」をご参照ください。 | はい | いいえ |
| string | クラスターの IP ファミリーモード。このパラメーターは変更できません。 | いいえ | いいえ |
| bool |
| はい | いいえ |
| float32 | Kubernetes クライアントのクエリ/秒 (QPS)。このパラメーターは、 | はい | はい |
| int | Kubernetes クライアントのバースト。このパラメーターは、 | はい | はい |
| string | ENI の作成時に所属するリソースグループ。このパラメーターを変更しても、既存の ENI には影響しません。 | はい | はい |
| string | terway-eniip バージョン 1.15.0 以降が必要です。 IP アドレスリソースプールの同期期間。デフォルト値: 120 秒。 例: | はい | いいえ |
| string | terway-eniip バージョン 1.16.0 以降が必要です。 IP アドレスが回収されるまでにアイドル状態でなければならない時間。 例: 説明 IP アドレスが回収される前に Pod が作成または削除された場合、タイマーはリセットされます。 | はい | いいえ |
| string | terway-eniip バージョン 1.16.0 以降が必要です。 2 つの回収チェック間の時間間隔。 例: | はい | いいえ |
| int | terway-eniip バージョン 1.16.0 以降が必要です。 1 回のバッチで回収できる IP アドレスの最大数。値は [1, 10] の範囲内である必要があります。 例: | はい | いいえ |
| string | terway-eniip バージョン 1.16.0 以降が必要です。 回収時間をランダム化するために使用されるジッター係数。値は [0.0, 1.0] の範囲内である必要があります。 例: | はい | いいえ |
設定方法
コンソールを使用した設定
よく使用されるパラメーターの一部は、コンソールで設定できます。コンソールは内容を検証し、フォーマットが正しくないパラメーターを拒否します。
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
クラスター ページで、目的のクラスターを見つけてその名前をクリックします。左側のペインで、 を選択します。
ネットワーク タブをクリックし、terway-eniip カードの 設定 をクリックします。
表示されたパネルでパラメーターを設定し、右下隅の [確認] をクリックします。
kubectl を使用した設定
一部のパラメーターはコンソールでは使用できません。これらのパラメーターは kubectl を使用して設定できます。
kubectl を使用した Terway の設定はハイリスクな操作です。kubectl は入力を検証しません。パラメーターが正しくないと、Terway コンポーネントの停止などのエラーが発生する可能性があります。変更する前に、設定を完全に理解していることを確認してください。
kubectl を使用してクラスターに接続し、次のコマンドを実行して高度なパラメーターを設定します。
kubectl edit cm -n kube-system eni-config設定が完了したら、変更を保存して終了します。次に、次のコマンドを実行して設定を適用します。
kubectl rollout restart -n kube-system daemonset.apps/terway-eniip
関連ドキュメント
ConfigMap の管理方法の詳細については、「ConfigMap の管理」をご参照ください。