您的位置:首页 > 运维架构 > Docker

如何定制 Calico 网络 Policy - 每天5分钟玩转 Docker 容器技术(70)

2017-09-20 08:14 771 查看
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 httpdweb1 的 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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  教程 容器 Docker
相关文章推荐