专业的编程技术博客社区

网站首页 > 博客文章 正文

k8s集群报错:check that the calico/node container is running and has

baijin 2024-12-31 09:10:40 博客文章 20 ℃ 0 评论

k8s运行pod节点后出现如下错误:

网上查询资料后,发现自己的网络没有设置好。


1.在所有节点重置k8s

kubeadm reset

2.删除kubectl

rm -fr ~/.kube/

3.启用ipvs

modprobe -- ip_vs



modprobe -- ip_vs_rr



modprobe -- ip_vs_wrr



modprobe -- ip_vs_sh



modprobe -- nf_conntrack_ipv4

4.导出并修改配置文件

kubeadm config print init-defaults --kubeconfig ClusterConfiguration > kubeadm.yml

主要修改配置文件的几个属性:advertiseAddress imageRepository kubernetesVersion podSubnet


5.kubeadm 初始化

kubeadm init --config=kubeadm.yml

6.配置kubectl

# 配置 kubectl



mkdir -p $HOME/.kube



cp -i /etc/kubernetes/admin.conf $HOME/.kube/config



chown $(id -u):$(id -g) $HOME/.kube/config



 



# 验证是否成功



kubectl get node

7.下载calico配置文件并修改

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

由于calico自身网络发现机制有问题,因为需要修改 calico使用的物理网卡,添加607及608行,ens33为自己机器的网卡,还有修改后面CALICO_IPV4POOL_CIDR,不能与初始值“192.168.0.0/16”相同。

            - name: IP_AUTODETECTION_METHOD



              value: "interface=ens33"

执行安装

kubectl apply -f calico.yaml

8.其他节点加入集群

kubeadm join 192.168.0.199:6443 --token abcdef.0123456789abcdef \



    --discovery-token-ca-cert-hash sha256:ff4249f345e3ca1c98737e2d0fa2f5cgg8eb045a971ba936f42ab5fe4e389caf 

9.验证

kubectl get node
kubectl get pods --all-namespaces



Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表