第 8 章 容器网络 - 070 - 如何定制 Calico 网络 Policy?

定制 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

posted @ 2019-04-15 10:44  gsophy  阅读(141)  评论(0编辑  收藏  举报