Ubutun搭建集群遇到的一些问题
创始人
2024-02-27 19:33:28
0

  安装部署K8s集群时会遇到很多问题,以下都是我踩过的坑,还有一些小坑当时没来得及记录,后续如果有遇到的话再进行补充。此处非常感谢江城琉璃梦同学对我的帮助。

1.工作节点执行kubectl get nodes时拒绝连接

执行指令kubectl get nodes

The connection to the server localhost:8080 was refused - did you specify the right host or port?

原因:kubernetes master没有与本机绑定,集群初始化的时候没有绑定,此时设置在本机的环境变量即可解决问题。

解决方法

  • 编辑文件设置:sudo gedit /etc/profile
  • 在底部增加新的环境变量:export KUBECONFIG=/etc/kubernetes/admin.conf
  • 使设置生效:source /etc/profile

2.安装flannel时拒绝连接

执行指令kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

The connection to the server raw.githubusercontent.com was refused - did you specify the right host or port?  

原因:外网不可访问
解决方法

  • 增加解析
    sudo gedit /etc/hosts 
    ###增加下面的解析
    199.232.68.133 raw.githubusercontent.com
    199.232.68.133 user-images.githubusercontent.com
    199.232.68.133 avatars2.githubusercontent.com
    199.232.68.133 avatars1.githubusercontent.com
    
  • 使用更安全的DNS
    sudo gedit /etc/resolv.conf
    ###使用下面的dns或者其他的dns
    nameserver 119.29.29.29
    nameserver 182.254.116.116
    

3.工作节点NotReady

执行指令kubectl get nodes
在这里插入图片描述
原因:flannel并没有在/etc下创建/etc/cni/net.d/10-flannel.conflist文件
解决方法:从其他有该文件的主机上拷贝文件过来,或者自己创建文件

sudo su
cd /etc/cni/net.d
gedit 10-flannel.conflist
{"name": "cbr0","plugins": [{"type": "flannel","delegate": {"hairpinMode": true,"isDefaultGateway": true}},{"type": "portmap","capabilities": {"portMappings": true}}]
}

4.k8s Failed to create pod sandbox

执行指令kubeadm init --control-plane-endpoint=192.168.16.100 --kubernetes-version=v1.25.0 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --token-ttl=0 --cri-socket unix:///run/cri-dockerd.sock --upload-certs --image-repository registry.aliyuncs.com/google_containers

Failed to create pod sandbox: rpc error: code = Unknown desc = failed to get sandbox image "k8s.gcr.io/pause:3.6": failed to pull image "k8s.gcr.io/pause:3.6": failed to pull and unpack image "k8s.gcr.io/pause:3.6": failed to resolve reference "k8s.gcr.io/pause:3.6": failed to do request: Head "https://k8s.gcr.io/v2/pause/manifests/3.6"

原因:很明显是无法拉取 k8s.gcr.io/pause:3.6 这个镜像,但我们的k8s明明使用的是pause:3.8的版本,很困惑!!!
解决方法

# 如果你的k8s使用的事docker客户端
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 k8s.gcr.io/pause:3.6 # 如果使用containerd自带客户端
crictl pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6
ctr -n k8s.io i tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 k8s.gcr.io/pause:3.6

5.kubeadm init报错

 Process: 2226953 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS (code=exited, status=1/FAILURE)Main PID: 2226953 (code=exited, status=1/FAILURE)

原因:成因很多,建议首先检查防火墙是否关闭,是否开启6443端口

sudo ufw status
sudo ufw 6443
sudo ufw disable

解决方法:关闭防火墙后重启虚拟机或物理机
然后清空原来初始化的内容:

kubeadm reset --cri-socket unix:///run/cri-dockerd.sock && rm -rf /etc/kubernetes/ /var/lib/kubelet /var/lib/dockershim /var/run/kubernetes /var/lib/cni /etc/cni/net.d

重新初始化:

kubeadm init --control-plane-endpoint=192.168.8.130 --kubernetes-version=v1.25.0 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --token-ttl=0 --cri-socket unix:///run/cri-dockerd.sock --upload-certs --image-repository registry.aliyuncs.com/google_containers

相关内容

热门资讯

紫牛热点︱家庭纠纷导致情绪失控... 扬子晚报网12月21日讯(记者 郭一鹏) 12月20日下午,一段男子在街头拦停一辆越野车,追砸车辆前...
多城出台政策对老房子“强制体检... 越来越多城市的老房子,要“强制体检”了。 最近,郑州市房管局发布了一则实施方案,将对房龄30年以上的...
创新思路解难题 布吉街道成功解... 深圳市龙岗区布吉街道是全市人口最密集的街道之一,小区物业管理纠纷较多,长期面临利益冲突尖锐复杂、制度...
涉嫌受贿 尹锡悦夫妇将遭共同起... 韩国前总统尹锡悦妻子金建希(中)。 新华社发 当地时间12月21日,韩国“金建希特检组”称已完成对...
政策再“上新”,免税经济添活力 □ 本报记者 宋晓华 财政部等五部门前不久联合印发《关于完善免税店政策支持提振消费的通知》,明确自1...
台湾“五耻大法官”被批带头践踏... 【环球时报综合报道】就在蓝白阵营宣布对赖清德提出弹劾案的同一天,台湾谢铭洋等5名大法官作出“宪法诉讼...
张用清:对内政策显示高市内阁“... 自上台以来,日本高市早苗政权呈现出明显的右翼特征。从高市发表错误涉台言论,到面对国际批评时倒打一耙、...
吸收借鉴“无讼”理念 践行新时... 明朝崇祯年间,苏州府人冯梦龙到福建省寿宁县担任县令,他秉持“省其谳牍”的司法改革精神和“可使无讼”的...
“重庆调解在线”数字应用累计办... 本报讯 (新重庆-重庆日报记者 黄乔)12月19日,市人大监察司法委、市政协社法委和市司法局举办20...