k8s注册节点出现kube-flannel-ds服务状态pending
目录
一.排错思路
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相关推荐
- 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 ...
- consul配置acl:允许注册和访问所有节点,并读取任何服务
添加acl配置文件 # vim acl.json {"acl": {"enabled": true,"default_policy": &q ...
- k8s单节点部署(master ,node部分)
文章目录 1 部署master 组件 1.1 master01 上创建kubernetes 工作目录,创建ca证书,相关组件证书,私钥目录 1.1.1 将master.zip, k8s-cert.sh ...
- 生产环境---K8s单节点二进制部署
文章目录 一.K8s单master群集环境介绍 二.Master节点组件介绍 三.node节点组件介绍 四.实验步骤 五.Etcd群集部署 六.Flannel网络部署 七.Master节点部署 八.n ...
- k8s边缘节点_KubeEdge v0.2发布,全球首个K8S原生的边缘计算平台开放云端代码
从v0.1到v0.2 小数点后的一小步 是边缘计算领域里程碑式的一大步 KubeEdge发布v0.2版本 全球首个基于K8S 提供云边协同能力的开源边缘计算架构 正式补齐最后一块拼图 将毫无保留地提供 ...
- K8S多节点二进制部署
目录 一.多 Maser 集群架构的了解 二.master2 节点部署 1.从 master01 节点上拷贝证书文件.各master组件的配置文件和服务管理文件到 master02 节点 2.修改配置 ...
- 【云原生】K8S master节点更换IP以及master高可用故障模拟测试
文章目录 一.前言 二.配置 多个master 节点 1)节点信息 1)安装docker或containerd 2)安装kubeadm,kubelet和kubectl 1.配置k8s yum源 2.修 ...
- 二进制安装K8S - NODE 节点的安装
二进制安装K8S - NODE 节点的安装 安装系统 Linux node02 3.10.0-1062.el7.x86_64 #1 SMP Wed Aug 7 18:08:02 UTC 2019 x8 ...
- 使用Kubeadm部署K8S单节点,速度快于二进制部署
使用Kubeadmin部署K8S单节点,速度快于二进制部署 一. 环境准备 二.所有节点安装docker 三.所有节点安装kubeadm,kubelet和kubectl 四.部署K8S集群 五.安装d ...
最新文章
- python四十二:类和对象
- 160个Crackme036
- 高级PM分析足记的成长周期,你的产品距离火爆还有多久?
- phpstorm知识点
- RabbitMQ入门(三)-Publish/Subscribe(发布/订阅)
- Netweaver和Windows,Ubuntu的数据共享
- win7无法连接打印机拒绝访问_Win7系统”windows无法连接到打印机拒绝访问“怎么办?通过创建local port端口连接来搞定...
- oracle sql为null值,在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办
- 第八十五期:一文彻底搞懂cookie和session
- junit单元测试,反射,注解
- Spring-beans-BeanWrapper
- Bailian3247 回文素数【素数+回文】(POJ NOI0113-11)
- redis数据类型之List入门练习
- linux安装mysql菜鸟教程_[新手教程]Linux环境部署MYSQL过程
- java课程设计象棋_java课程设计 中国象棋
- Android入门第十四篇之画图
- Python爬虫笔记
- 为您的创业公司推荐5款类Slack开源协作工具
- 堰流实验报告思考题_堰流流量测定
- Android音视频开发基础(七):视频采集-系统API基础
热门文章
- ActiveMQ底层原理及安装使用详解
- 《进销存管理系统》项目研发阶段总结
- html/css/javacript
- GD32 Usart配置与重定义fputc
- php三级分销无法绑定佣金,2018最新三级分销佣金比例设置方案
- 2020-6-9 吴恩达-改善深层NN-w3 超参数调试(3.3 超参数训练的实践:Pandas(资源少,一次一个模型) VS Caviar(资源多,一次多个模型))
- nginx 卸载SSL证书
- 大学生组建好团队做点什么项目好
- 量化政策后的电力优化文章——《计及交叉补贴分摊的输配电价定价方法》
- 微生物 OTU ASV Feature table过滤2 基于qiime2的bar plot导出的