K8s 安装Calico网络插件

Flannel网络插件公认为是最简单的一个插件了,它是一个overlay网络,相对性能和灵活性方面,比Calico要差一些。此外,Calico还可以与服务网格Istio集成,以便在服务网格层和网络基础架构层中解释和实施集群内工作负载的策略。今天我们就装一个Calico网络插件。

在《Centos7.9 yum形式安装kubernetes1.19.9(K8s)系统》的基础上,我们先删除Flannel插件,然后重新初始化主节点

1.主节点安装

kubectl delete -f kube-flannel.yml
kubeadm reset
kubeadm init --kubernetes-version=1.19.9 --apiserver-advertise-address=10.10.52.138 --image-repository registry.aliyuncs.com/google_containers --service-cidr=10.1.0.0/16 --pod-network-cidr=192.168.0.0/16

然后下载Calicov3.13.3版本,去这里下载https://github.com/projectcalico/calico/releases?page=9
K8s 安装Calico网络插件_第1张图片

解压下载包,然后用kubectl安装Calico

tar -xzvf release-v3.13.3.tgz
kubectl apply -f release-v3.13.3/k8s-manifests/calico.yaml

安装完毕后,可以看到主节点calico的插件全部是running状态,这样主节点就安装完毕了
在这里插入图片描述

2.从节点node安装

重新初始化从节点

kubeadm reset
systemctl stop kubelet
systemctl stop docker
rm -rf /var/lib/cni/
rm -rf /var/lib/kubelet/*
rm -rf /etc/cni/
ifconfig cni0 down
ifconfig flannel.1 down 
ifconfig docker0 down
ip link delete cni0
ip link delete flannel.1
systemctl restart docker
systemctl restart kubelet

然后加入主节点即可

kubeadm join 10.10.52.138:6443 --token arsai5.9vrwgp8fwyeuxzoh     --discovery-token-ca-cert-hash sha256:790f320e58048aba70662cea76d2c0720171429

成功后就会出现这样的状态
K8s 安装Calico网络插件_第2张图片

有时候,calico默认采用first-found方法,选择第一个接口的第一个有效IP地址,如果你有多个有效网卡的时候,要选择一个有效的的网卡。比如

kubectl set env daemonset.apps/calico-node  -n kube-system IP_AUTODETECTION_METHOD=interface=ens1
或者
kubectl set env daemonset.apps/calico-node  -n kube-system IP_AUTODETECTION_METHOD=interface=ens.*

你可能感兴趣的:(云原生,kubernetes,网络,容器,云原生,运维,linux)