目录

一.排错思路

1.查看报错

2.查看系统环境版本

1)系统版本

2)K8S版本

3)Docker版本

4)查看hosts文件配置

5) 主机通讯检测

6)配置网桥监控主机流量,主机路由转发

7)指定私有镜像仓库文件

8)查看节点容器运行状态

二.问题解决

1.删除node2节点及配置

1)删除node2节点

2)删除所有容器(node2)

3)删除旧的配置文件

4)删除旧的ca文件

5)重启k8s及docker服务(node2)

6)手动导入镜像

2.重新注册,加入集群

1)生成注册命令(master)

2)加入集群(node)

3) 查看状态(master)

3.解决另一种方法


一.排错思路

1.查看报错

# 节点状态
~]# kubectl get nodes
NAME              STATUS   ROLES                  AGE     VERSION
master            Ready    control-plane,master   2d17h   v1.23.2
vm-0-114-centos   Ready    <none>                 23h     v1.23.2
vm-0-142-centos   NoReady  <none>                 23s     v1.23.2# 组件状态
~]# kubectl get pods -A
NAMESPACE     NAME                             READY   STATUS    RESTARTS       AGE
kube-system   coredns-557689b88f-g9pwl         1/1     Running   1 (102m ago)   2d18h
kube-system   coredns-557689b88f-rj84r         1/1     Running   1 (102m ago)   2d18h
kube-system   etcd-master                      1/1     Running   3 (102m ago)   2d18h
kube-system   kube-apiserver-master            1/1     Running   3 (102m ago)   2d18h
kube-system   kube-controller-manager-master   1/1     Running   3 (102m ago)   2d18h
kube-system   kube-flannel-ds-jxwf5            0/1     pending   0              81m
kube-system   kube-flannel-ds-qk97b            1/1     Running   1 (102m ago)   11h
kube-system   kube-flannel-ds-qzhqt            1/1     Running   0              11h
kube-system   kube-proxy-flzrz                 1/1     Running   2 (102m ago)   2d18h
kube-system   kube-proxy-sv5n8                 1/1     Running   0              81m
kube-system   kube-proxy-tkctb                 1/1     Running   0              24h
kube-system   kube-scheduler-master            1/1     Running   4 (102m ago)   2d18h

注;可以再精确一点kubectl get  pods -A -o wide查看是哪节点报错

2.查看系统环境版本

1)系统版本

Master节点

 ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

node节点

~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

2)K8S版本

master节点

~]# kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.2", GitCommit:"9d142434e3af351a628bffee3939e64c681afa4d", GitTreeState:"clean", BuildDate:"2022-01-19T17:34:34Z", GoVersion:"go1.17.5", Compiler:"gc", Platform:"linux/amd64"}

node节点

~]# kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.2", GitCommit:"9d142434e3af351a628bffee3939e64c681afa4d", GitTreeState:"clean", BuildDate:"2022-01-19T17:34:34Z", GoVersion:"go1.17.5", Compiler:"gc", Platform:"linux/amd64"}

3)Docker版本

master节点

~]#  docker version
Client: Docker Engine - CommunityVersion:           20.10.12API version:       1.41Go version:        go1.16.12Git commit:        e91ed57Built:             Mon Dec 13 11:45:41 2021OS/Arch:           linux/amd64Context:           defaultExperimental:      trueServer: Docker Engine - CommunityEngine:Version:          20.10.12API version:      1.41 (minimum version 1.12)Go version:       go1.16.12Git commit:       459d0dfBuilt:            Mon Dec 13 11:44:05 2021OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.4.12GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5drunc:Version:          1.0.2GitCommit:        v1.0.2-0-g52b36a2docker-init:Version:          0.19.0GitCommit:        de40ad0

node节点

~]#  docker version
Client: Docker Engine - CommunityVersion:           20.10.12API version:       1.41Go version:        go1.16.12Git commit:        e91ed57Built:             Mon Dec 13 11:45:41 2021OS/Arch:           linux/amd64Context:           defaultExperimental:      trueServer: Docker Engine - CommunityEngine:Version:          20.10.12API version:      1.41 (minimum version 1.12)Go version:       go1.16.12Git commit:       459d0dfBuilt:            Mon Dec 13 11:44:05 2021OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.4.12GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5drunc:Version:          1.0.2GitCommit:        v1.0.2-0-g52b36a2docker-init:Version:          0.19.0GitCommit:        de40ad0

4)查看hosts文件配置

master节点

~]# cat /etc/hosts
.....172.17.0.51 master
172.17.0.114 node1
172.17.0.142 node2
172.17.0.98 registry

node节点

~]# cat /etc/hosts
.....172.17.0.51 master
172.17.0.114 node1
172.17.0.142 node2
172.17.0.98 registry

5) 主机通讯检测

master节点

~]#  ping node2 -c 5
PING node2 (172.17.0.142) 56(84) bytes of data.
64 bytes from node2 (172.17.0.142): icmp_seq=1 ttl=64 time=0.231 ms
64 bytes from node2 (172.17.0.142): icmp_seq=2 ttl=64 time=0.263 ms
64 bytes from node2 (172.17.0.142): icmp_seq=3 ttl=64 time=0.188 ms
64 bytes from node2 (172.17.0.142): icmp_seq=4 ttl=64 time=0.220 ms
64 bytes from node2 (172.17.0.142): icmp_seq=5 ttl=64 time=0.182 ms--- node2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3999ms
rtt min/avg/max/mdev = 0.182/0.216/0.263/0.034 ms

node节点

~]#  ping master -c 5
PING master (172.17.0.51) 56(84) bytes of data.
64 bytes from master (172.17.0.51): icmp_seq=1 ttl=64 time=0.188 ms
64 bytes from master (172.17.0.51): icmp_seq=2 ttl=64 time=0.212 ms
64 bytes from master (172.17.0.51): icmp_seq=3 ttl=64 time=0.216 ms
64 bytes from master (172.17.0.51): icmp_seq=4 ttl=64 time=0.222 ms
64 bytes from master (172.17.0.51): icmp_seq=5 ttl=64 time=0.215 ms--- master ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3999ms
rtt min/avg/max/mdev = 0.188/0.210/0.222/0.019 ms

6)配置网桥监控主机流量,主机路由转发

master

~]# sysctl --system
.....
* Applying /etc/sysctl.d/k8s.conf ...
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1

node

~]# sysctl --system
.....
* Applying /etc/sysctl.d/k8s.conf ...
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1

7)指定私有镜像仓库文件

master

~]# cat /etc/docker/daemon.json
{"exec-opts": ["native.cgroupdriver=systemd"],"registry-mirrors": ["https://hub-mirror.c.163.com"],"insecure-registries":["172.17.0.98:5000", "registry:5000"]
}

node

~]# cat /etc/docker/daemon.json
{"exec-opts": ["native.cgroupdriver=systemd"],"registry-mirrors": ["https://hub-mirror.c.163.com"],"insecure-registries":["172.17.0.98:5000", "registry:5000"]
}

8)查看节点容器运行状态

node1

 ~]# docker ps -a
CONTAINER ID   IMAGE                        COMMAND                  CREATED       STATUS                   PORTS     NAMES
~]# docker images
REPOSITORY                                       TAG       IMAGE ID       CREATED        SIZE
172.17.0.98:5000/kube-apiserver                  v1.23.2   8a0228dd6a68   5 days ago     135MB
172.17.0.98:5000/kube-controller-manager         v1.23.2   4783639ba7e0   5 days ago     125MB
172.17.0.98:5000/kube-scheduler                  v1.23.2   6114d758d6d1   5 days ago     53.5MB
172.17.0.98:5000/kube-proxy                      v1.23.2   d922ca3da64b   5 days ago     112MB
172.17.0.98:5000/etcd                            3.5.1-0   25f8c7f3da61   2 months ago   293MB
172.17.0.98:5000/coredns                         v1.8.6    a4ca41631cc7   3 months ago   46.8MB
172.17.0.98:5000/pause                           3.6       6270bb605e12   5 months ago   683kB

node2

 ~]# docker ps -a
CONTAINER ID   IMAGE                        COMMAND                  CREATED       STATUS                   PORTS     NAMES
c67993ac008d   404fc3ab6749                 "/opt/bin/flanneld -…"   2 hours ago   Up 2 hours                         k8s_kube-flannel_kube-flannel-ds-jxwf5_kube-system_e8b3608e-9059-49a7-b5fd-d6244e3bd06c_0
79925c61f378   404fc3ab6749                 "cp -f /etc/kube-fla…"   2 hours ago   Exited (0) 2 hours ago             k8s_install-cni_kube-flannel-ds-jxwf5_kube-system_e8b3608e-9059-49a7-b5fd-d6244e3bd06c_0
13251ae462b1   cd5235cd7dc2                 "cp -f /flannel /opt…"   2 hours ago   Exited (0) 2 hours ago             k8s_install-cni-plugin_kube-flannel-ds-jxwf5_kube-system_e8b3608e-9059-49a7-b5fd-d6244e3bd06c_0
1bb3845bfa4a   d922ca3da64b                 "/usr/local/bin/kube…"   2 hours ago   Up 2 hours                         k8s_kube-proxy_kube-proxy-sv5n8_kube-system_df8c76f4-89ef-41e6-83c0-a678ce3fd986_0
a024c30cd119   172.17.0.98:5000/pause:3.6   "/pause"                 2 hours ago   Up 2 hours                         k8s_POD_kube-proxy-sv5n8_kube-system_df8c76f4-89ef-41e6-83c0-a678ce3fd986_0
c8a4190d3582   172.17.0.98:5000/pause:3.6   "/pause"                 2 hours ago   Up 2 hours                         k8s_POD_kube-flannel-ds-jxwf5_kube-system_e8b3608e-9059-49a7-b5fd-d6244e3bd06c_0
~]# docker images
REPOSITORY                                       TAG       IMAGE ID       CREATED        SIZE
172.17.0.98:5000/kube-apiserver                  v1.23.2   8a0228dd6a68   5 days ago     135MB
172.17.0.98:5000/kube-controller-manager         v1.23.2   4783639ba7e0   5 days ago     125MB
172.17.0.98:5000/kube-scheduler                  v1.23.2   6114d758d6d1   5 days ago     53.5MB
172.17.0.98:5000/kube-proxy                      v1.23.2   d922ca3da64b   5 days ago     112MB
rancher/mirrored-flannelcni-flannel              v0.16.1   404fc3ab6749   2 weeks ago    69.9MB
172.17.0.98:5000/etcd                            3.5.1-0   25f8c7f3da61   2 months ago   293MB
rancher/mirrored-flannelcni-flannel-cni-plugin   v1.0.0    cd5235cd7dc2   2 months ago   9.03MB
172.17.0.98:5000/coredns                         v1.8.6    a4ca41631cc7   3 months ago   46.8MB
172.17.0.98:5000/pause                           3.6       6270bb605e12   5 months ago   683kB

注:此时就可以查看到是容器镜像没有导致容器未启动

二.问题解决

1.删除node2节点及配置

1)删除node2节点

# 先查看节点名称
~]# kubectl get nodes
NAME              STATUS   ROLES                  AGE     VERSION
master            Ready    control-plane,master   2d19h   v1.23.2
vm-0-114-centos   Ready    <none>                 25h     v1.23.2
vm-0-142-centos   NoReady  <none>                 114m    v1.23.2# 删除节点
~]# kubectl delete node vm-0-142-centos
node "vm-0-142-centos" deleted# 查看删除结果
~]# kubectl get nodes
NAME              STATUS   ROLES                  AGE     VERSION
master            Ready    control-plane,master   2d17h   v1.23.2
vm-0-114-centos   Ready    <none>                 22h     v1.23.2

2)删除所有容器(node2)

~]# docker ps -qa | xargs  docker rm -f

3)删除旧的配置文件

~]# rm -f /etc/kubernetes/kubelet.conf

4)删除旧的ca文件

~]# rm -f /etc/kubernetes/pki/ca.crt

5)重启k8s及docker服务(node2)

~]# systemctl restart docker kubelet

6)手动导入镜像

~]# docker pull rancher/mirrored-flannelcni-flannel:v0.16.1
~]# docker pull rancher/mirrored-flannelcni-flannel-cni-plugin:v1.0.0

2.重新注册,加入集群

1)生成注册命令(master)

~]# kubeadm token create --print-join-command
kubeadm join 172.17.0.51:6443 --token 3mucph.ml5h85umn1flgmir --discovery-token-ca-cert-hash sha256:72db7edc40a9581a8e9f96853a4e3fb03

2)加入集群(node)

~]# kubeadm join 172.17.0.51:6443 --token 3mucph.ml5h85umn1flgmir --discovery-token-ca-cert-hash sha256:72db7edc40a9581a8e9f96853a4e3fb03
[preflight] Running pre-flight checks[WARNING Hostname]: hostname "vm-0-142-centos" could not be reached[WARNING Hostname]: hostname "vm-0-142-centos": lookup vm-0-142-centos on 183.60.83.19:53: no such host
[preflight] Reading configuration from the cluster...
[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Starting the kubelet
[kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...This node has joined the cluster:
* Certificate signing request was sent to apiserver and a response was received.
* The Kubelet was informed of the new secure connection details.Run 'kubectl get nodes' on the control-plane to see this node join the cluster.

3) 查看状态(master)

# 查看node节点状态
~]# kubectl get nodes
NAME              STATUS   ROLES                  AGE     VERSION
master            Ready    control-plane,master   2d17h   v1.23.2
vm-0-114-centos   Ready    <none>                 23h     v1.23.2
vm-0-142-centos   Ready    <none>                 25s     v1.23.2
# 查看pod状态
~]# kubectl get pods -A
NAMESPACE     NAME                             READY   STATUS    RESTARTS       AGE
kube-system   coredns-557689b88f-g9pwl         1/1     Running   1 (102m ago)   2d18h
kube-system   coredns-557689b88f-rj84r         1/1     Running   1 (102m ago)   2d18h
kube-system   etcd-master                      1/1     Running   3 (102m ago)   2d18h
kube-system   kube-apiserver-master            1/1     Running   3 (102m ago)   2d18h
kube-system   kube-controller-manager-master   1/1     Running   3 (102m ago)   2d18h
kube-system   kube-flannel-ds-jxwf5            1/1     Running   0              81m
kube-system   kube-flannel-ds-qk97b            1/1     Running   1 (102m ago)   11h
kube-system   kube-flannel-ds-qzhqt            1/1     Running   0              11h
kube-system   kube-proxy-flzrz                 1/1     Running   2 (102m ago)   2d18h
kube-system   kube-proxy-sv5n8                 1/1     Running   0              81m
kube-system   kube-proxy-tkctb                 1/1     Running   0              24h
kube-system   kube-scheduler-master            1/1     Running   4 (102m ago)   2d18h

至此,问题解决!所以导致这个问题的主要原因就是前期导入镜像导致 ,但是此方法过与复杂,

3.解决另一种方法

注:这里就不需要删除节点了

## 因为我们只是镜像没有,所以只需以下几步
# 第一步到node节点下传镜像
~]# docker pull rancher/mirrored-flannelcni-flannel:v0.16.1
~]# docker pull rancher/mirrored-flannelcni-flannel-cni-plugin:v1.0.0# 第二部重启flannel
~]# kubectl delete -f kube-flannel.yml
~]# kubectl apply -f kube-flannel.yml# 查看
# 查看node节点状态
~]# kubectl get nodes
NAME              STATUS   ROLES                  AGE     VERSION
master            Ready    control-plane,master   2d17h   v1.23.2
vm-0-114-centos   Ready    <none>                 23h     v1.23.2
vm-0-142-centos   Ready    <none>                 25s     v1.23.2
# 查看pod状态
~]# kubectl get pods -A
NAMESPACE     NAME                             READY   STATUS    RESTARTS       AGE
kube-system   coredns-557689b88f-g9pwl         1/1     Running   1 (102m ago)   2d18h
kube-system   coredns-557689b88f-rj84r         1/1     Running   1 (102m ago)   2d18h
kube-system   etcd-master                      1/1     Running   3 (102m ago)   2d18h
kube-system   kube-apiserver-master            1/1     Running   3 (102m ago)   2d18h
kube-system   kube-controller-manager-master   1/1     Running   3 (102m ago)   2d18h
kube-system   kube-flannel-ds-jxwf5            1/1     Running   0              81m
kube-system   kube-flannel-ds-qk97b            1/1     Running   1 (102m ago)   11h
kube-system   kube-flannel-ds-qzhqt            1/1     Running   0              11h
kube-system   kube-proxy-flzrz                 1/1     Running   2 (102m ago)   2d18h
kube-system   kube-proxy-sv5n8                 1/1     Running   0              81m
kube-system   kube-proxy-tkctb                 1/1     Running   0              24h
kube-system   kube-scheduler-master            1/1     Running   4 (102m ago)   2d18h

k8s注册节点出现kube-flannel-ds服务状态pending相关推荐

  1. k8s注册节点出现kube-flannel-ds服务状态Init:0/1、Init:ImagePullBackOff或者某节点NotReady

    转载自:https://www.cnblogs.com/liuyi778/p/12771259.html 1.错误提示 1.1.节点状态 1 2 3 4 5 [root@master ~]# kube ...

  2. consul配置acl:允许注册和访问所有节点,并读取任何服务

    添加acl配置文件 # vim acl.json {"acl": {"enabled": true,"default_policy": &q ...

  3. k8s单节点部署(master ,node部分)

    文章目录 1 部署master 组件 1.1 master01 上创建kubernetes 工作目录,创建ca证书,相关组件证书,私钥目录 1.1.1 将master.zip, k8s-cert.sh ...

  4. 生产环境---K8s单节点二进制部署

    文章目录 一.K8s单master群集环境介绍 二.Master节点组件介绍 三.node节点组件介绍 四.实验步骤 五.Etcd群集部署 六.Flannel网络部署 七.Master节点部署 八.n ...

  5. k8s边缘节点_KubeEdge v0.2发布,全球首个K8S原生的边缘计算平台开放云端代码

    从v0.1到v0.2 小数点后的一小步 是边缘计算领域里程碑式的一大步 KubeEdge发布v0.2版本 全球首个基于K8S 提供云边协同能力的开源边缘计算架构 正式补齐最后一块拼图 将毫无保留地提供 ...

  6. K8S多节点二进制部署

    目录 一.多 Maser 集群架构的了解 二.master2 节点部署 1.从 master01 节点上拷贝证书文件.各master组件的配置文件和服务管理文件到 master02 节点 2.修改配置 ...

  7. 【云原生】K8S master节点更换IP以及master高可用故障模拟测试

    文章目录 一.前言 二.配置 多个master 节点 1)节点信息 1)安装docker或containerd 2)安装kubeadm,kubelet和kubectl 1.配置k8s yum源 2.修 ...

  8. 二进制安装K8S - NODE 节点的安装

    二进制安装K8S - NODE 节点的安装 安装系统 Linux node02 3.10.0-1062.el7.x86_64 #1 SMP Wed Aug 7 18:08:02 UTC 2019 x8 ...

  9. 使用Kubeadm部署K8S单节点,速度快于二进制部署

    使用Kubeadmin部署K8S单节点,速度快于二进制部署 一. 环境准备 二.所有节点安装docker 三.所有节点安装kubeadm,kubelet和kubectl 四.部署K8S集群 五.安装d ...

最新文章

  1. python四十二:类和对象
  2. 160个Crackme036
  3. 高级PM分析足记的成长周期,你的产品距离火爆还有多久?
  4. phpstorm知识点
  5. RabbitMQ入门(三)-Publish/Subscribe(发布/订阅)
  6. Netweaver和Windows,Ubuntu的数据共享
  7. win7无法连接打印机拒绝访问_Win7系统”windows无法连接到打印机拒绝访问“怎么办?通过创建local port端口连接来搞定...
  8. oracle sql为null值,在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办
  9. 第八十五期:一文彻底搞懂cookie和session
  10. junit单元测试,反射,注解
  11. Spring-beans-BeanWrapper
  12. Bailian3247 回文素数【素数+回文】(POJ NOI0113-11)
  13. redis数据类型之List入门练习
  14. linux安装mysql菜鸟教程_[新手教程]Linux环境部署MYSQL过程
  15. java课程设计象棋_java课程设计 中国象棋
  16. Android入门第十四篇之画图
  17. Python爬虫笔记
  18. 为您的创业公司推荐5款类Slack开源协作工具
  19. 堰流实验报告思考题_堰流流量测定
  20. Android音视频开发基础(七):视频采集-系统API基础

热门文章

  1. ActiveMQ底层原理及安装使用详解
  2. 《进销存管理系统》项目研发阶段总结
  3. html/css/javacript
  4. GD32 Usart配置与重定义fputc
  5. php三级分销无法绑定佣金,2018最新三级分销佣金比例设置方案
  6. 2020-6-9 吴恩达-改善深层NN-w3 超参数调试(3.3 超参数训练的实践:Pandas(资源少,一次一个模型) VS Caviar(资源多,一次多个模型))
  7. nginx 卸载SSL证书
  8. 大学生组建好团队做点什么项目好
  9. 量化政策后的电力优化文章——《计及交叉补贴分摊的输配电价定价方法》
  10. 微生物 OTU ASV Feature table过滤2 基于qiime2的bar plot导出的