k8s集群使用calico网络组件

一、前言

k8s的网络组件可以使用flannel或者calico两种,flannel的配置比较简单,但是性能还是calico会更高一点,所以现在来介绍以下calico网络组件的部署

二、部署

k8s集群版本对calico的版本也有对应要求,k8s 1.23.0版本要求对应calico v3.24.0左右的版本

我这里的是1.23.10版本的k8s,calico使用v3.24.6版本

在github上下载对应版本的calico.yaml文件,calico.yaml文件也是每个版本都有区别的

参考:https://github.com/projectcalico/calico/tree/v3.24.6/manifests

创建存放calico yaml文件目录

mkdir /opt/calico && cd /opt/calico

编辑calico yaml文件配置

vi calico.yaml

bash 复制代码
#在大概4551行的位置编辑以下配置
4551             - name: CALICO_IPV4POOL_CIDR 
4552               value: "10.244.0.0/16"    #填写为配置k8s集群时,设置的pod网络地址段
4553             - name: IP_AUTODETECTION_METHOD
4554               value: "interface=ens192" #宿主机的网卡信息,这项配置是要手动加入的,calico原本没有

#在大概4521行的位置编辑以下配置
4521             # Enable IPIP
4522             - name: CALICO_IPV4POOL_IPIP
4523               value: "Never"    #默认配置为Always,配置为Always时使用的时IPIP模式,更改为Never时使用的是bgp模式,使用bgp模式性能更高

创建calico服务

kubectl apply -f calico.yaml

查看是否创建完成

kubectl get pod -n kube-system

查看bgp模式是否生效

route -n

当显示的是实际网卡时说明为bgp模式,默认的IPIP模式是显示的TUNL虚拟的隧道协议

相关推荐
IvanCodes几秒前
一、Docker:一场颠覆应用部署与运维的容器革命
docker·容器
栗子~~16 分钟前
Milvus docker-compose 部署
docker·容器·milvus
没有名字的小羊2 小时前
2.安装Docker
运维·docker·容器
xiezhr2 小时前
50 个常用 Docker 命令
运维·docker·容器
退役小学生呀9 天前
三、kubectl使用详解
云原生·容器·kubernetes·k8s
被困者10 天前
Linux部署Sonic前后端(详细版)(腾讯云)
spring cloud·云原生·eureka
程序员小潘10 天前
Kubernetes多容器Pod实战
云原生·容器·kubernetes
进击的码码码码N10 天前
Docker 镜像加速
运维·docker·容器
Q_w774210 天前
基于 Docker 的服务部署探索(Day 2)
运维·docker·容器