如何定制 Calico 网络 Policy - 每天5分钟玩转 Docker 容器技术(70)
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。
相关文章
- Docker系列开篇之Virtual Machine VS Container(一)
- 如何查看加入docker swarm集群的命令?如何更新加入token?
- 干货 | Docker 还可以搭建Web服务器nginx ?这么宝藏的吗?
- 2021 最新 IntelliJ IDEA配置 远程Docker容器 编写Dockerfile文件 步骤演示(图文版)
- 一文带你了解docker技术
- 技术分享 | 掌握高频 Docker 命令,夯实内功基础
- 专访阿里云资深专家易立,Docker技术将改变现代软件供应链
- Docker技术入门与实战(第2版)1.2 为什么要使用Docker
- Docker技术入门与实战(第2版)1.3 Docker与虚拟化
- Docker技术入门与实战(第2版)1.4 本章小结
- Docker技术入门与实战(第2版)3.5 创建镜像
- Docker技术入门与实战(第2版)3.6 存出和载入镜像
- 深入浅出Docker(二):Docker命令行探秘
- 如何在 Fedora 22 上面配置 Apache 的 Docker 容器
- Docker可视化管理工具 - Portainer
- 构建 Docker 镜像的 小技巧
- Docker 内安装 SSH 服务
- Docker安装MySql5.7
- docker devicemapper 问题
- docker 部署 redmine 项目管理软件
- 《Docker技术入门与实战》——1.2 为什么要使用Docker
- 《Docker技术入门与实战》——3.1 获取镜像
- docker镜像之镜像提交
- 使用Docker部署Mysql服务的方法
- 浅析docker service logs命令获取服务日志、docker service常用命令及docker service的更新流程
- Docker 公布日志管理的新生态系统技术合作伙伴
- Docker 常用命令使用
- Docker搭建mysql服务