Terway的預設配置已經能夠滿足絕大多數情境的需求。對Terway進行配置修改是高危操作,可能會導致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: | # 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 Chain。 | 是 | 否 |
| 是否關閉NetworkPolicy功能。
| 是 | 是 |
| Terway主要配置參數,例如使用的交換器、安全性群組配置等。 | 是 | 部分允許 |
| 是否啟用叢集內負載平衡,只在DataPathV2或IPvlan模式下生效。更多資訊,請參見如何為Terway IPvlan叢集開啟叢集內負載平衡?。 | 是 | 是 |
10-terway.conf參數
參數 | 類型 | 說明 | 是否允許修改 | 是否支援通過控制台進行配置 |
| string | CNI配置版本。 | 否 | 否 |
| string | CNI外掛程式名稱。 | 否 | 否 |
| string | CNI外掛程式類型。 | 否 | 否 |
| string | CNI capabilities。 | 是 | 否 |
| string | 網卡虛擬化方式。 | 否 | 否 |
| string | Cilium配置參數。 | 是 | 否 |
eni_conf參數
參數 | 類型 | 說明 | 是否允許修改 | 是否支援通過控制台進行配置 |
| string | 用於訪問OpenAPI的STS Token,僅適用於ACK託管叢集。 | 否 | 否 |
| string | 叢集Service網段。 | 否 | 否 |
| map[string][]string | 彈性網卡使用的交換器列表。 | 是 | 是 |
| map[string]string | 設定建立彈性網卡時配置的標籤。 | 否 | 否 |
| map[string]string | 過濾Terway管理的彈性網卡。更多詳情,請參見為彈性網卡(ENI)配置白名單。 | 是 | 否 |
| int | IP資源集區,最大保留空閑IP數量。預設值為5。 | 是 | 是 |
| int | IP資源集區,最少保留空閑IP數量。預設值為0。 | 是 | 是 |
| string | 設定建立彈性網卡時使用的安全性群組。 | 是 | 否 |
| []string | 設定建立彈性網卡時使用的安全性群組。最多5個,且安全性群組類型需一致。若配置則取和 | 是 | 否 |
| string | 建立彈性網卡時選擇交換器的策略。
| 是 | 否 |
| bool | 啟用EIP遷移功能。更多詳情,請參見將EIP從Terway遷移至ack-extend-network-controller。 | 是 | 否 |
| string | 叢集IP Family模式。不可修改。 | 否 | 否 |
| bool | 啟用 | 是 | 否 |
| float32 | Kubernetes client QPS配置。需要與 | 是 | 否 |
| int | Kubernetes client Burst配置。需要與 | 是 | 否 |
配置方法
通過控制台配置
對於部分常用參數,您可通過控制台進行配置。控制台會對內容進行校正,並攔截格式不匹配的參數。
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇
。單擊網路頁簽,然後單擊terway-eniip卡片的配置。
在彈出的面板,對參數進行配置,然後單擊右下方的確定。
使用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叢集中配置ConfigMap的更多操作,請參見管理配置項。