参考资料:文档:https://www.yuque.com/leifengyang/oncloud/ctiwgo

安装环境:

阿里云服务器,三台

系统版本:cenos 7.9-64位

kubernetes版本是v1.20.9

 

第一个坑: 用错calico的版本

我获取calico的yaml文件用:

wget https://docs.projectcalico.org/manifests/calico.yaml

导致我获取到的是最新版的calico版本的yaml(v3.23), 该版本已经不支持k8s-v1.20

k8s-v1.20支持的最新版calico是v3.20

故正确获取calico的yaml文件应该用:

https://docs.projectcalico.org/archive/v3.20/manifests/calico.yaml

另外, 查看calico支持的k8s对应版本可以在calico官网查看

https://projectcalico.docs.tigera.io/archive/v3.20/getting-started/kubernetes/requirements

最后, 由于k8s和其插件都迭代很快, 安装k8s的所有插件都要注意版本是否匹配!!!

第二个坑:配置NetworkManager

NetworkManager 操作默认网络中接口的路由表 命名空间,其中 Calico veth 对被锚定以连接到容器。 这会干扰 Calico 代理正确路由的能力。

在以下位置创建配置文件 /etc/NetworkManager/conf.d/calico.conf阻止 NetworkManager 干扰接口:

[keyfile]

unmanaged-devices=interface-name:cali*;interface-name:tunl*;interface-name:vxlan.calico

第三个坑:配置多网卡,导致calico连接不通,默认选择第一张网卡

指定网卡1

修改calico.yaml的内容,在- name: IP下面添加以下参数

- name: IP_AUTODETECTION_METHOD

value: "interface=你自己的网卡名称"(使用ip a查看你的网卡配置)

如果其他想操作calico可以安装calicoctl插件

第四个坑:部署Dashboard只有部署节点可以访问但是其他两个节点无法访问(可能是网络负载均衡出现问题,所以最后决定弃用calico使用flannel)

第一部:删除calico

在master上执行

# kubectl delete -f calico.yaml

 

移除Calico配置文件

查看 /etc/cni/net.d/ 目录下是否存在相关文件,如:10-calico.conflist, calico-kubeconfig,calico-tls等,需要删除。

 

重启每个节点的kubelet

systemctl restart kybelet.service

 

删除coredns的pod

master上删除coredns的pod,重启的coredns的pod重新变成Pending状态。

如果不重启kubelet ,coredns的pod不会重新变成Pending状态。

 

查看所有namespace下的pod

kubectl get pods --all-namespaces -o wide

 

删除coredns

kubectl delete pod corednspod的名称 -n namespace名称

 

安装flannel

下载yaml

curl

https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml -O

然后修改pod网络范围

默认的网络范围是:10.244.0.0/16

yaml搜索 10.244.0.0/16 然后改成192.168.0.0/16

 

kubectl apply -f kube-flannel.yaml

查看节点是否正常,然后删除Dashboard的namespace重新安装

kubectl delete namespace Dashboard名称空间

或者使用yaml删除

 

最后附赠官网地址,方便大家查找问题

部署Dashboard

官方参考文档:

https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/

github项目地址:

https://github.com/kubernetes/dashboard

 

calico官网地址

https://projectcalico.docs.tigera.io/about/about-calico

 

flannel github地址

https://github.com/flannel-io/flannel

Logo

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

更多推荐