您可以採用 YAML 格式匯出與 Kubernetes 物件相關的建議網路原則規則。vRealize Network Insight 僅支援針對依命名空間分組和依服務拓撲分組匯出至 YAML 格式。

必要條件

程序

  1. 若要將建議的規則匯出至 YAML 格式,請在規劃安全性模型中選取您要為其規劃安全性的 Kubernetes 叢集,然後執行其中一個步驟。
    • 在微分割 Widget 中展開更多選項,然後選取以 YAML 格式匯出規則,或
    • 在微分割輪狀視圖上選取一個節點,按一下建議的防火牆規則的計數,展開更多選項並選取以 YAML 格式匯出規則
    vRealize Network Insight 會下載以 Kubernetes 網路原則命名的 ZIP 檔案以及與其相關聯的時間戳記。當您解壓縮檔案時,將會顯示下列五個 CSV 檔案以及多個資料夾,具體取決叢集數目。每個資料夾將包含叢集的多個 YAML 檔案。
    檔案名稱 說明
    network-policy-others-ipaddress.csv 包含服務或命名空間與之通訊的實體伺服器和虛擬機器的 IP 位址。
    recommended-namespace-labels-to-add.csv 包含要附加至與命名空間相關聯的網繭的標籤。

    範例:

    • 叢集 - pdk8s
    • 命名空間 - sock-shop
    • 標籤 - sock-shop-pdk8s
    recommended-service-labels-to-add.csv 包含要附加至與服務相關聯的網繭的標籤。

    範例:

    • 叢集 - pdk8s
    • 命名空間 - sock-shop
    • 服務 - front-end
    • 標籤 - Service:front-sock-shop-pdk8s
    • 叢集 - pdk8s
    • 命名空間 - sock-shop
    • 服務 - user
    • 標籤 - Service:user-sock-shop
    recommended-network-policy.csv 包含由 vRealize Network Insight 建議的所有規則。
    exported-network-policy-rule-names.csv 列出根據建議的規則匯出的所有網路原則。
  2. 若要套用服務標籤,請執行下列步驟:
    1. 執行下列 Kubernetes CLI 命令。
      kubectl edit deployment service-name -n namespace-name
      kubectl edit deployment redis-primary -n guestbook
      服務的部署檔案隨即開啟。
    2. 在服務標籤清單中,將 CSV 檔案中建議的標籤附加到服務部署的規格部分中所述的標籤。
  3. 若要套用命名空間標籤,請執行下列步驟:
    1. 執行下列 Kubernetes CLI 命令。
      kubectl edit namespace namespace-name
      kubectl edit namespace guestbook
      命名空間的部署檔案隨即開啟。
    2. 在中繼資料中,將 CSV 檔案中建議的標籤附加到命名空間部署的 spec 部分中所述的標籤。
  4. 執行下列命令來確認標籤是否已套用至網繭。
    kubectl get pods -n namespace-name--show-labels
    kubectl get pods guestbook--show-labels
    查看結果視圖中的標籤。
    備註: 在命名空間上套用時,標籤不會反映在網繭上。
  5. 若要建立網路原則,請將 YAML 檔案從個別叢集資料夾複製到另一個資料夾,並執行下列任一命令:
    • kubectl apply -f <folder-name>/ - 將所有防火牆規則一起套用。
    • kubectl apply -f <folder-name>/<firewall-rule>.yaml - 逐一套用防火牆規則