(二十三) 如何定制 Calico Policy?
Calico 默認的 policy 規則是:容器只能與同一個 calico 網路中的容器通信,本節討論如何定制 policy,
Calico 能夠讓用戶定義靈活的 policy 規則,精細化控制進出容器的流量,下面我們就來實踐一個場景:
- 創建一個新的 calico 網路
cal_web并部署一個 httpd 容器web1, - 定義 policy 允許
cal_net2中的容器訪問web1的 80 埠,
首先創建 cal_web,
docker network create --driver calico --ipam-driver calico-ipam cal_web
在 host1 中運行容器 web1,連接到 cal_web:
docker container run --net cal_web --name web1 -d httpd
web1 的 IP 為 192.168.119.7,

目前 bbox3 還無法訪問 web1 的 80 埠,

創建 policy 檔案 web.yml,內容為:

① profile 與 cal_web 網路同名,cal_web 的所有容器(web1)都會應用此 profile 中的 policy,
② ingress 允許 cal_net2 中的容器(bbox3)訪問,
③ 只開放 80 埠,
應用該 policy,
calicoctl apply -f web.yml
現在 bbox3 已經能夠訪問 web1 的 http 服務了,

不過 ping 還是不行,因為只放開了 80 埠,

上面這個例子比較簡單,不過已經向我們展示了 calico 強大的 policy 功能,通過 policy,可以動態實作非常復雜的容器訪問控制,有關 calico policy 更多的配置,可參看官網檔案 http://docs.projectcalico.org/v2.0/reference/calicoctl/resources/policy,
下一節我們討論 Calico 的最后一項內容:IPAM,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/239480.html
標籤:其他
