2025,每天10分钟,跟我学K8S(八)- 网络组件Calico

        上一篇我们部署了Flannel网络,并且所有的节点状态已经发现了改变,这一篇我们来了解下另外一个网络插件:Calico。

        在安装calico之前,为了避免2个网络插件的冲突,先卸载掉刚才安装的flannel组件

卸载Flannel

kubectl delete -f kube-flannel.yml

安装Calico        

1.将calico.yaml文件下载下来。

# 打开这个网址  https://docs.projectcalico.org/manifests/calico.yaml
# 会跳转到calico最新地址(目前最新为v3.25)
# https://calico-v3-25.netlify.app/archive/v3.25/manifests/calico.yaml  


wget https://calico-v3-25.netlify.app/archive/v3.25/manifests/calico.yaml

2. 修改calico镜像地址 ,由于外网原因,这里将镜像地址修改为daocloud的镜像地址

          image: docker.io/calico/cni:v3.25.0
          image: docker.io/calico/cni:v3.25.0
          image: docker.io/calico/node:v3.25.0
          image: docker.io/calico/node:v3.25.0
          image: docker.io/calico/kube-controllers:v3.25.0

修改为
          image: m.daocloud.io/docker.io/calico/cni:v3.25.0
          image: m.daocloud.io/docker.io/calico/cni:v3.25.0
          image: m.daocloud.io/docker.io/calico/node:v3.25.0
          image: m.daocloud.io/docker.io/calico/node:v3.25.0
          image: m.daocloud.io/docker.io/calico/kube-controllers:v3.25.0


一键修改命令为
sed -i 's#docker.io#m.daocloud.io/docker.io#g' calico.yaml

3.修改配置

添加下面3个值的配置

# ens 根据实际网卡开头配置  如果你的网卡是eth0,那么就需要修改为eth.*

         - name: IP_AUTODETECTION_METHOD
          value: "interface=ens.*" 

# 保持和Pod网段一致,如果不记得可以在/etc/kubernetes/manifests/kube-controller-manager.yaml中查看cluster-cidr的内功
            - name: CALICO_IPV4POOL_CIDR
              value: "10.96.0.0/12" 

  # DefaultEndpointToHostAction会导致 在VM环境下无法ping通网关169.254.1.1,详见:Frequently asked questions | Calico Documentation

            - name: DefaultEndpointToHostAction
              value: "RETURN"

如果不修改可能会遇到下面报错:

root@k8s-master:~# kubectl describe pod -n kube-system   calico-node-6xkvc
Name:                 calico-node-6xkvc
Namespace:            kube-system
....
  Warning  Unhealthy  2m16s (x2 over 2m17s)  kubelet            Readiness probe failed: calico/node is not ready: BIRD is not ready: Error querying BIRD: unable to connect to BIRDv4 socket: dial unix /var/run/calico/bird.ctl: connect: connection refused

4.安装calico组件

kubectl apply -f calico.yaml 

5.验证pod状态

 在配置后,重新apply之后会发现calico网络已经安装完毕

至此,calico网络也安装完毕。

        虽然学会了2种网络的安装,但是对于现阶段的的环境来说,并没有看出来2种网络之间有什么区别。这些将在后续的文章中来详细讲解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值