全部產品
Search
文件中心

Container Service for Kubernetes:為彈性網卡(ENI)配置白名單

更新時間:Nov 20, 2024

在Terway網路模式下,節點上的彈性網卡(ENI)由Terway進行管理,您無需操作。但如果在某些特殊情境下,您需要自行管理部分彈性網卡,請為Terway上的彈性網卡配置白名單,以避免兩者管理的彈性網卡之間產生衝突。配置白名單後,僅符合標籤過濾條件的彈性網卡會被Terway管理。本文介紹如何為彈性網卡(ENI)配置白名單。

索引

前提條件

  • 已建立Kubernetes託管版叢集,且叢集的網路外掛程式為Terway。更多資訊,請參見建立ACK託管叢集

  • 請確保彈性網卡(ENI)上已經配置了預期的標籤,否則此網卡將被排除。

警告

此文檔包含高危操作,請在充分理解、驗證後使用。

使用限制

Terway需為v1.5.5版本。關於如何升級組件版本,請參見管理組件

操作步驟

  1. 執行以下命令,修改Terway設定檔。

    kubectl edit cm -n kube-system eni-config
  2. 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配置參數

  3. 執行以下命令,重啟Terway使配置生效。

    kubectl delete pod -nkube-system -l app=terway-eniip

    預期輸出:

    pod "terway-eniip-XXX" deleted
  4. 確認配置已生效。

    1. 執行以下命令,查看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
    2. 執行以下命令,查看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]
  5. 添加新節點或重新加入已有節點生效。

    1. 在Terway 1.10版本開始,建立叢集採用不同的資源管理方式

    2. 執行以下命令,查看Terway的配置資訊。

      kubectl get cm -nkube-system eni-config -oyaml| grep ipam_type
       "ipam_type": "crd",
    3. 如果結果包含crd,則需要重新添加節點。若無結果,則無需重新添加節點。

    4. 關於如何動作節點請參考節點與節點池