k8s series初级calico使用介绍

calico简介

k8s series初级calico使用介绍_第1张图片

calico是什么?

Calico 是一个开源网络和网络安全解决方案,适用于容器、虚拟机和基于主机的本地工作负载。Calico支持广泛的平台,包括 Kubernetes、OpenShift。

无论使用Calico的eBPF数据平面还是 Linux 的标准网络管道,Calico都能提供极快的性能和真正的云原生可扩展性

Calico支持公有云和本地运行,支持在单个节点或数千个节点集群中运行

calico优点

  • 支持linux eBPF数据通道,标准的linux网络数据通道,还支持windows HNS数据通道
  • 丰富的网络策略,内置对wireguard加密支持,保护pod-pod数据安全
  • Calico使Linux eBPF或Linux内核高度优化的标准网络管道来提供高性能网络
  • Calico的控制平面和策略引擎做了很好的调整,使占用和使用cpu率最小化
  • 支持超级可扩展性,满足几十节点,到十千个节点的伸缩
  • 支持L2,L3层网络
  • 不对数据进行解包压包,不需要nat和端口映射,性能强悍

calico安装

将calico安装在kubenetes集群中有很多种方式,这里选择一种比较方便的yaml文件方式

#3.20版本只支持1.19 1.20  1.21
#版本之间可能不兼容,具体细节需要查看官网说明
wget  https://docs.projectcalico.org/v3.20/manifests/calico.yaml
kubectl apply -f calico.yaml
#查看已部署的caclico,默认情况是一个calico控制器和N个calico node
kubectl get pods -A -o wide| grep calico

默认安装的calico,管理的节点不超过50个,且数据存储交由kubenetes api负责,数据真实还是存在etcd中

calico组件

  • Felix: agent进程,以DaemonSet方式安装在每个节点,负责网络接口管理,路由,ARP,ACL的管理,状态上报,同步等
  • calico-controller: calico控制器,监听和变更来源于kubernetes的资源
  • calicoctl:calico的cli工具,方便对calico排错
  • typha: 大于50个节点,使用typha代替apiServer来和ectd交互
  • bird: 从Felix获取路由并分发到网络上的 BGP对等点,以进行主机间路由。在托管 Felix 代理的每个节点上运行,是路由的守护进程
  • confd: 监视Calico的存储,以便查看BGP配置和全局缺省值进行更新。
  • Datastore plugin: 通过减少每个节点对数据存储的影响来增加规模,是Calico CNI插件之一
  • IPAM plugin: 使用 Calico的IP池资源来控制如何将 IP 地址分配给集群中的豆荚。 Calico 默认CNI插件
  • etcd: 分布式键值存府,主要负责网络无数据一致性,确保calico网络状态的准确性,默认情况共用k8s集群的etcd

以上就是k8s series初级calico使用介绍的详细内容,更多关于k8s series初级calico的资料请关注脚本之家其它相关文章!

你可能感兴趣的:(k8s series初级calico使用介绍)