本篇文章给大家分享的是有关如何定制Calico网络 Policy,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
Calico 默认的 policy 规则是:容器只能与同一个 calico 网络中的容器通信。
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,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。