Calico策略演示

總目錄索引:K8s網絡Calico 從入門到放棄系列

1、創建前端,後端,客戶端和管理用戶界面應用程序

kubectl create -f https://docs.projectcalico.org/security/tutorials/kubernetes-policy-demo/manifests/00-namespace.yaml

kubectl create -f https://docs.projectcalico.org/security/tutorials/kubernetes-policy-demo/manifests/01-management-ui.yaml

kubectl create -f https://docs.projectcalico.org/security/tutorials/kubernetes-policy-demo/manifests/02-backend.yaml

kubectl create -f https://docs.projectcalico.org/security/tutorials/kubernetes-policy-demo/manifests/03-frontend.yaml

kubectl create -f https://docs.projectcalico.org/security/tutorials/kubernetes-policy-demo/manifests/04-client.yaml

等待所有pod狀態爲running

kubectl get pod --all-namespaces

image-20200426163641814.png

可以通過http://worker IP:30002在瀏覽器中訪問來查看UI 。

image-20200426163809157.png

一旦所有Pod啓動,它們就應該具有完全的連接性。您可以通過訪問UI來查看。每個服務由圖中的單個節點表示。

  • backend   ->節點“ B”

  • frontend ->節點“ F”

  • client     ->節點“ C”

image-20200426163827895.png

2、啓用隔離

運行以下命令將阻止所有對前端,後端和客戶端服務的訪問

kubectl create -n stars -f https://docs.projectcalico.org/security/tutorials/kubernetes-policy-demo/policies/default-deny.yaml

kubectl create -n client -f https://docs.projectcalico.org/security/tutorials/kubernetes-policy-demo/policies/default-deny.yaml

確認隔離

    刷新管理用戶界面(更改最多可能需要10秒鐘才能反映在用戶界面中)。現在我們啓用了隔離,UI將不再能夠訪問窗格,因此它們將不再顯示在UI中。

image-20200426164115133.png

3、允許UI使用網絡策略對象訪問服務

kubectl create -f https://docs.projectcalico.org/security/tutorials/kubernetes-policy-demo/policies/allow-ui.yaml

kubectl create -f https://docs.projectcalico.org/security/tutorials/kubernetes-policy-demo/policies/allow-ui-client.yaml

幾秒鐘後,刷新UI-現在應該顯示服務,但它們之間不再能夠訪問彼此

image-20200426164307545.png

4、創建backend-policy.yaml文件,以允許從前端到後端的流量

kubectl create -f https://docs.projectcalico.org/security/tutorials/kubernetes-policy-demo/policies/backend-policy.yaml

刷新UI。您應該看到以下內容:

  • 前端現在可以訪問後端(僅在TCP端口6379上)。

  • 後端根本無法訪問前端。

  • 客戶端無法訪問前端,也無法訪問後端。

image-20200426165939524.png

5、將前端服務公開到客戶端名稱空間

kubectl create -f https://docs.projectcalico.org/security/tutorials/kubernetes-policy-demo/policies/frontend-policy.yaml

客戶端現在可以訪問前端,但不能訪問後端。前端和後端都無法啓動與客戶端的連接。前端仍然可以訪問後端

image-20200426170048710.png

6、清理名稱空間

kubectl delete ns client stars management-ui

參考文章:https://docs.projectcalico.org/security/tutorials/kubernetes-policy-demo/kubernetes-demo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章