您可以採用 YAML 格式匯出與 Kubernetes 物件相關的建議網路原則規則。vRealize Network Insight 僅支援針對依命名空間分組和依服務拓撲分組匯出至 YAML 格式。
必要條件
程序
- 若要將建議的規則匯出至 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 列出根據建議的規則匯出的所有網路原則。 - 若要套用服務標籤,請執行下列步驟:
- 執行下列 Kubernetes CLI 命令。
kubectl edit deployment service-name -n namespace-name
kubectl edit deployment redis-primary -n guestbook
服務的部署檔案隨即開啟。 - 在服務標籤清單中,將 CSV 檔案中建議的標籤附加到服務部署的規格部分中所述的標籤。
- 執行下列 Kubernetes CLI 命令。
- 若要套用命名空間標籤,請執行下列步驟:
- 執行下列 Kubernetes CLI 命令。
kubectl edit namespace namespace-name
kubectl edit namespace guestbook
命名空間的部署檔案隨即開啟。 - 在中繼資料中,將 CSV 檔案中建議的標籤附加到命名空間部署的 spec 部分中所述的標籤。
- 執行下列 Kubernetes CLI 命令。
- 執行下列命令來確認標籤是否已套用至網繭。
kubectl get pods -n namespace-name--show-labels
kubectl get pods guestbook--show-labels
查看結果視圖中的標籤。備註: 在命名空間上套用時,標籤不會反映在網繭上。 - 若要建立網路原則,請將 YAML 檔案從個別叢集資料夾複製到另一個資料夾,並執行下列任一命令:
kubectl apply -f <folder-name>/
- 將所有防火牆規則一起套用。kubectl apply -f <folder-name>/<firewall-rule>.yaml
- 逐一套用防火牆規則