在Terway網路模式下,節點上的彈性網卡(ENI)由Terway進行管理,您無需操作。但如果在某些特殊情境下,您需要自行管理部分彈性網卡,請為Terway上的彈性網卡配置白名單,以避免兩者管理的彈性網卡之間產生衝突。配置白名單後,僅符合標籤過濾條件的彈性網卡會被Terway管理。本文介紹如何為彈性網卡(ENI)配置白名單。
索引
前提條件
已建立Kubernetes託管版叢集,且叢集的網路外掛程式為Terway。更多資訊,請參見建立ACK託管叢集。
請確保彈性網卡(ENI)上已經配置了預期的標籤,否則此網卡將被排除。
此文檔包含高危操作,請在充分理解、驗證後使用。
使用限制
Terway需為v1.5.5版本。關於如何升級組件版本,請參見管理組件。
操作步驟
執行以下命令,修改Terway設定檔。
kubectl edit cm -n kube-system eni-config
在
eni_conf
配置中增加以下內容。"eni_tag_filter": { "creator": "terway" }
"eni_tag_filter"
表示網路介面的標籤過濾器,{ "creator": "terway" }
則是具體的標籤過濾條件,表示只有由Terway建立的網路介面才會被匹配。樣本如下:
eni_conf: | { "eni_tag_filter": { "creator": "terway" }, "ip_stack": "ipv4", "vswitch_selection_policy": "ordered" }
重要請確保彈性網卡(ENI)上已經配置了預期的標籤,否則此網卡將被排除。
關於如何修改彈性網卡標籤,請參考修改彈性網卡標籤。
關於如何在Terway建立網卡時,為網卡設定標籤,請參考自訂Terway配置參數。
執行以下命令,重啟Terway使配置生效。
kubectl delete pod -nkube-system -l app=terway-eniip
預期輸出:
pod "terway-eniip-XXX" deleted
確認配置已生效。
執行以下命令,查看terway-eniip的狀態。
kubectl get pods -n kube-system -l app=terway-eniip
預期輸出:
NAME READY STATUS RESTARTS AGE terway-eniip-XXX 2/2 Running 0 19h
執行以下命令,查看Terway的配置資訊。
kubectl logs -nkube-system terway-eniip-XXX 或者 kubectl logs -nkube-system terway-eniip-XXX -c terway-init
如果輸出結果中包含以下類似內容,表示Terway的配置已生效。
# ENITagFilter表示網路介面標籤過濾器,creator:terway表示只有由Terway建立的網路介面才會被匹配。 ENITagFilter:map[creator:terway]
添加新節點或重新加入已有節點生效。
在Terway 1.10版本開始,建立叢集採用不同的資源管理方式
執行以下命令,查看Terway的配置資訊。
kubectl get cm -nkube-system eni-config -oyaml| grep ipam_type "ipam_type": "crd",
如果結果包含
crd
,則需要重新添加節點。若無結果,則無需重新添加節點。關於如何動作節點請參考節點與節點池。