定制 Calico 网络 Policy
Calico 默认的 policy 规则是:容器只能与同一个 calico 网络中的容器通信。
Calico 能够让用户定义灵活的 policy 规则,精细化控制进出容器的流量
实践一个场景:
1、创建一个新的 calico 网络 cal_web 并部署一个 httpd 容器 web1。
2、定义 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 --network cal_web --name web1 -d httpd
web1 的 IP 为 192.168.119.10
目前 bbox4 还无法访问 web1 的 80 端口
创建 policy 文件 web.yml,内容为:
1)profile 与 cal_web 网络同名,cal_web 的所有容器(web1)都会应用此 profile 中的 policy
2)ingress 允许 cal_net2 中的容器(bbox4)访问
3)只开放 80 端口
应用该 policy。
calicoctl apply -f web.yml
现在 bbox4 已经能够访问 web1 的 http 服务了
不过 ping 还是不行,因为只放开了 80 端口
-------------------------------------引用来自-------------------------------------
https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587866&idx=1&sn=037a3ef36185782f626247b3ace58306&chksm=8d308183ba470895c4442d3d9bf36eebc7f4a6ce5a3eddfd4ab7883434d659d0b82697c2e26c&scene=21#wechat_redirect