全部產品
Search
文件中心

Container Service for Kubernetes:自訂Terway配置參數

更新時間:Oct 18, 2025

Terway的預設配置已經能夠滿足絕大多數情境的需求。對Terway進行配置修改是高危操作,可能會導致Terway運行中止等錯誤。如果您對Terway配置有特殊需求,例如增加Terway預留IP資源集區以最佳化Pod IP分配速度等,您可參照本文對Terway進行自訂配置。

使用限制

  • Terway 配置參數較多,本文僅對參數功能進行說明,不保證所有參數組合在所有情境下均適用,請充分驗證後配置。

  • 部分參數支援通過控制台配置,若在控制台找不到該配置,則當前組件版本不支援,請升級 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: |                        # 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

參數說明

主要參數

參數

說明

是否允許修改

是否支援通過控制台進行配置

10-terway.conf

Terway CNI設定檔參數,其中配置會轉換並下發到 /etc/cni/net.d/

10-terway.conflist

Terway CNI配置自訂檔案參數。更多資訊,請參見配置自訂CNI Chain

disable_network_policy

是否關閉NetworkPolicy功能。

  • false:開啟NetworkPolicy功能。

  • true:關閉NetworkPolicy功能。

eni_conf

Terway主要配置參數,例如使用的交換器、安全性群組配置等。

部分允許

in_cluster_loadbalance

是否啟用叢集內負載平衡,只在DataPathV2或IPvlan模式下生效。更多資訊,請參見如何為Terway IPvlan叢集開啟叢集內負載平衡?

10-terway.conf參數

參數

類型

說明

是否允許修改

是否支援通過控制台進行配置

cniVersion

string

CNI配置版本。

name

string

CNI外掛程式名稱。

type

string

CNI外掛程式類型。

capabilities

string

CNI capabilities。

eniip_virtual_type

string

網卡虛擬化方式。

cilium_args

string

Cilium配置參數。例如--bpf-map-dynamic-size-ratio=0.003

重要

參數支援情況隨社區版本變化,不支援向後相容能力。如需在實際環境中使用這些參數,請確保充分驗證後再使用。如升級時Terway Pod無法啟動,請刪除配置後重試。

symmetric_routing

bool

terway-eniip版本需為1.15.0及以上。

是否開啟對稱路由配置功能。開啟後將設定策略路由規則,用於控制網卡流量的源進源出。

  • true:開啟。

  • false:關閉。

symmetric_routing_config

map[string]any

terway-eniip版本需為1.15.0及以上。

對稱路由配置參數,以下為預設值和參數樣本,一般情況下無需配置。

{
  "symmetric_routing_config": {
    "interface": "eth0",
    "mark": 16,
    "mask": 16,
    "table_id": 100,
    "rule_priority": 600,
    "comment": "terway-symmetric"
  }
}
重要

配置錯誤可能影響存量網路設定,請在測試環境充分驗證後使用。

eni_conf參數

參數

類型

說明

是否允許修改

是否支援通過控制台進行配置

credential_path

string

用於訪問OpenAPI的STS Token,僅適用於ACK託管叢集

service_cidr

string

叢集Service網段。

vswitches

map[string][]string

彈性網卡使用的交換器列表。

eni_tags

map[string]string

設定建立彈性網卡時配置的標籤。修改配置對存量網卡不生效。

eni_tag_filter

map[string]string

過濾Terway管理的彈性網卡。更多詳情,請參見為彈性網卡(ENI)配置白名單

max_pool_size

int

IP資源集區,最大保留空閑IP數量。預設值為5。

min_pool_size

int

IP資源集區,最少保留空閑IP數量。預設值為0。

security_group

string

設定建立彈性網卡時使用的安全性群組。修改配置對存量網卡不生效。

security_groups

[]string

設定建立彈性網卡時使用的安全性群組。最多10個,且安全性群組類型需一致。若配置則取和security_group的並集。修改配置對存量網卡不生效。

vswitch_selection_policy

string

建立彈性網卡時選擇交換器的策略。

  • ordered:選擇剩餘IP多的交換器。預設值。

  • random:隨機播放交換器。

enable_eip_migrate

bool

啟用EIP遷移功能。更多詳情,請參見將EIP從Terway遷移至ack-extend-network-controller

ip_stack

string

叢集IP Family模式。不可修改。

enable_eni_trunking

bool

啟用Trunk功能。更多詳情,請參見為Pod配置固定IP及獨立虛擬交換器、安全性群組

kube_client_qps

float32

Kubernetes client QPS配置。需要與kube_client_burst同時配置。

kube_client_burst

int

Kubernetes client Burst配置。需要與kube_client_qps同時配置,且需要大於kube_client_qps

resource_group_id

string

建立彈性網卡時設定的資源群組。修改配置對存量網卡不生效。

ip_pool_sync_period

string

terway-eniip版本需為1.15.0及以上。

IP 資源集區同步周期。預設 120 秒。

樣本2m120s

idle_ip_reclaim_after

string

terway-eniip版本需為1.16.0及以上。

IP 位址在被回收前,必須保持閒置時間長度。

樣本:60m

說明

在回收前,如果有Pod建立或者刪除,時間將重新計算。

idle_ip_reclaim_interval

string

terway-eniip版本需為1.16.0及以上。

兩次回收檢查之間的時間間隔。

樣本:30m

idle_ip_reclaim_batch_size

int

terway-eniip版本需為1.16.0及以上。

單次批量回收的最大 IP 數量。取值範圍[1, 10]。

樣本:5

idle_ip_reclaim_jitter_factor

string

terway-eniip版本需為1.16.0及以上。

用於隨機化回收時間的抖動因子。取值範圍[0.0, 1.0]。

樣本:0.1

配置方法

通過控制台配置

對於部分常用參數,您可通過控制台進行配置。控制台會對內容進行校正,並攔截格式不匹配的參數。

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集列表

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,單擊組件管理

  3. 單擊網路頁簽,然後單擊terway-eniip卡片的配置

  4. 在彈出的面板,對參數進行配置,然後單擊右下方的確認

使用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

相關文檔