Calico 默认的 policy 规则是:容器只能与同一个 calico 网络中的容器通信。本节讨论如何定制 policy。

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 --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。

转载于:https://www.cnblogs.com/CloudMan6/p/7552618.html

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

  1. k8s 各种网络方案 - 每天5分钟玩转 Docker 容器技术(170)

    网络模型有了,如何实现呢? 为了保证网络方案的标准化.扩展性和灵活性,Kubernetes 采用了 Container Networking Interface(CNI)规范. CNI 是由 Core ...

  2. 实践 Network Policy - 每天5分钟玩转 Docker 容器技术(172)

    为了演示 Network Policy,我们先部署一个 httpd 应用,其配置文件 httpd.yaml 为: httpd 有三个副本,通过 NodePort 类型的 Service 对外提供服务. ...

  3. 如何自定义容器网络?- 每天5分钟玩转 Docker 容器技术(33)

    除了 none, host, bridge 这三个自动创建的网络,用户也可以根据业务需要创建 user-defined 网络. Docker 提供三种 user-defined 网络驱动:bridge ...

  4. 如何使用 Weave 网络?- 每天5分钟玩转 Docker 容器技术(63)

    weave 是 Weaveworks 开发的容器网络解决方案.weave 创建的虚拟网络可以将部署在多个主机上的容器连接起来.对容器来说,weave 就像一个巨大的以太网交换机,所有容器都被接入这个交 ...

  5. 17、《每天5分钟玩转Docker容器技术》学习--Multi-host网络

    ------------------------------------重要说明------------------------------------ 本文内容都是参考Cloudman系列进行学习, ...

  6. 网络模型 - 每天5分钟玩转 Docker 容器技术(169)

    本节我们讨论 Kubernetes 网络这个重要主题. Kubernetes 作为编排引擎管理着分布在不同节点上的容器和 Pod.Pod.Service.外部组件之间需要一种可靠的方式找到彼此并进行通 ...

  7. k8s 重要概念 - 每天5分钟玩转 Docker 容器技术(117)

    在实践之前,必须先学习 Kubernetes 的几个重要概念,它们是组成 Kubernetes 集群的基石. Cluster  Cluster 是计算.存储和网络资源的集合,Kubernetes 利用 ...

  8. Service 之间如何通信?- 每天5分钟玩转 Docker 容器技术(101)

    微服务架构的应用由若干 service 组成.比如有运行 httpd 的 web 前端,有提供缓存的 memcached,有存放数据的 mysql,每一层都是 swarm 的一个 service,每个 ...

  9. chart 模板 - 每天5分钟玩转 Docker 容器技术(165)

    Helm 通过模板创建 Kubernetes 能够理解的 YAML 格式的资源配置文件,我们将通过例子来学习如何使用模板. 以 templates/secrets.yaml 为例: 从结构看,文件的内 ...

  10. 如何访问 Service?- 每天5分钟玩转 Docker 容器技术(99)

    前面我们已经学习了如何部署 service,也验证了 swarm 的 failover 特性.不过截止到现在,有一个重要问题还没有涉及:如何访问 service?这就是本节要讨论的问题. 为了便于分析 ...

最新文章

  1. char s[0] do{}while(0)
  2. tensors used as indices must be long or byte tensors
  3. SD-WAN能带来什么好处?
  4. P1133 教主的花园
  5. Java 取得文件名的后缀
  6. 寻找正反物质世界边境的长城---兵粒子
  7. S3C2440时钟体系结构
  8. SpringCloud基础组件总结,与Dubbo框架、SpringBoot框架对比分析
  9. CAN笔记(5) 协议标准规格
  10. k8s集群资源监控-搭建监控平台(prometheus和grafana)---K8S_Google工作笔记0053
  11. Hive 星型模型入门
  12. Lagrangian乘子法 对偶问题 KKT条件 Slater条件 与凸优化
  13. php+分割文本文件,python实现:将文本文件分割成多个小文本文件(php也可实现)...
  14. C语言 职工信息管理系统
  15. 苹果系统itunes连iphone连不上服务器,iphone连不上itunes怎么办,iphone连不上itunes的解决办法...
  16. js如何直接打开百度地图app进行导航
  17. 青囊如可授 从此访鸿蒙的意思,《坛滴槐花露,香飘柏子风。》
  18. win10的计算机用户名怎么改,win10账户名修改,教您win10怎么更改账户名称
  19. 第八章:项目质量管理 - (8.0 项目质量管理是什么)
  20. java密码框转字符串_实现汉字的凯撒密码(内容包括:去掉字符串中的转义字符、汉字的unicode转换)...

热门文章

  1. 错误一例:expected expression before } token
  2. 纽微特荒唐事:都知道是找人顶罪,竟没人敢指正
  3. 查看一个进程的线程情况
  4. 管理感悟:没有活跃用户量,谈广告都是开玩笑
  5. 为什么很少人写类似金庸的武侠小说
  6. 安卓打开本应用的应用信息界面的代码
  7. jsp springmvc 视图解析器_SpringMVC 视图解析器
  8. php 解析字符串编码方式 GB2312 UTF8
  9. C# label控件竖直显示 label控件垂直显示
  10. java最长同值路径_力扣——最长同值路径