在这里插入图片描述

1.calico/kube-controllers控制器

此容器包含以下控制器

  • policy controller: 监控网络策略 配置calico策略
  • profile controller: 监控namespaces和配置calico profiles
  • workloadendpoint controller: 监控pod标签的变化和更新calico workload endpoints
  • node controller: 监听k8s移除节点,和移除calico相关联的数据

2.calico/node

它有两个容器组成的pod

  • calico/cni:节点中托管的 pod 配置 IP 地址来提供 IP 地址管理功能
  • calico/node:包含如下三个进程
    • felix :Felix会监听ECTD中心的存储,从它获取事件,比如说用户在这台机器上加了一个IP,或者是创建了一个容器等。用户创建pod后,Felix负责将其网卡、IP、MAC都设置好,然后在内核的路由表里面写一条,注明这个IP应该到这张网卡。同样如果用户制定了隔离策略,Felix同样会将该策略创建到ACL中,以实现隔离
    • bird :就是通过BGP路由协议,将每个主机分配的网段通知其它主机上,举例:在这里插入图片描述
    • confd 会监视 etcd 数据存储器中对 BGP 配置进行的更改。比如bird 的配置文件

3.calico架构图

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐