解决Kubernetes报错节点状态为NotReady,希望可以帮到你

2024-06-15 06:20

本文主要是介绍解决Kubernetes报错节点状态为NotReady,希望可以帮到你,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Kubernetes报错节点状态为NotReady

文章目录

  • Kubernetes报错节点状态为NotReady
    • 实验过程
    • 一、报错内容
    • 二、安装flannel网络插件
    • 三、成功

实验过程

起因是这样的这几天做学到了k8s,那肯定要部署呀,然后就先用kubeadm进行快速部署的,目的是为了体验一下广大程序员口中所说的Kubernetes(简称K8S),但是部署的过程中就出现了问题,是因为政策的原因导致的,近几天国家办法政策,不能访问Docker hub了,那对于我们Docker爱好者简直是一个晴天霹雳的消息,但是目前阿里云镜像仓库还是可以用的,但是用的过程中时好时不好,就比如kubeadm快速部署的过程中,有几个镜像阿里云就没办法提供了,只能使用魔法去拉取镜像了,话太多了不好意思,直接上干货

一、报错内容

使用kubeadm通过初始化安装的k8s是不包括网络插件的,也就是说初始化之后是不具备相关网络功能的,比如k8s-master节点上查看你节点信息是“Not Ready”状态、Pod的CoreDNS无法提供服服务

[root@k8s-master ~]# kubectl get nodes
NAME         STATUS     ROLES    AGE   VERSION
k8s-master   NotReady   master   11m   v1.18.0
k8s-node01   NotReady   <none>   11m   v1.18.0
k8s-node02   NotReady   <none>   11m   v1.18.0

二、安装flannel网络插件

Flannel是一个轻量级的网络插件,基于虚拟网络的方式,使用了多种多端实现,如基于Overlay的VXLAN贺基于Host-Gateway的方式。它创建了一个覆盖整个集群的虚拟网络,使得Pod可以跨节点通信

[root@k8s-master ~]# kubectl apply -f kube-flannel.yaml
namespace/kube-flannel created
clusterrole.rbac.authorization.k8s.io/flannel created
clusterrolebinding.rbac.authorization.k8s.io/flannel created
serviceaccount/flannel created
configmap/kube-flannel-cfg created
daemonset.apps/kube-flannel-ds created

网络插件也安装了吧?再查看节点状态试试,如果我没猜错的话,再次查看节点状态,你的跟我的一样是一摸一样(可能NAME字段不一样、AGE、VERSION),

[root@k8s-master ~]# kubectl get nodes
NAME         STATUS     ROLES    AGE   VERSION
k8s-master   NotReady   master   15m   v1.18.0
k8s-node01   NotReady   <none>   15m   v1.18.0
k8s-node02   NotReady   <none>   15m   v1.18.0

查看集群中所有命令空间的Pods的状态信息,如果我再次没猜错的话,你的又和我的一摸一样。

[root@k8s-master ~]# kubectl get pods -A
NAMESPACE      NAME                                 READY   STATUS                  RESTARTS   AGE
kube-flannel   kube-flannel-ds-2mb46                0/1     Init:ImagePullBackOff   0          8m15s
kube-flannel   kube-flannel-ds-bq8hg                0/1     Init:ImagePullBackOff   0          8m15s
kube-flannel   kube-flannel-ds-f975x                0/1     Init:ImagePullBackOff   0          8m15s
kube-system    coredns-7ff77c879f-2s7nf             0/1     Pending                 0          17m
kube-system    coredns-7ff77c879f-xn6q9             0/1     Pending                 0          17m
kube-system    etcd-k8s-master                      1/1     Running                 0          18m
kube-system    kube-apiserver-k8s-master            1/1     Running                 0          18m
kube-system    kube-controller-manager-k8s-master   1/1     Running                 0          18m
kube-system    kube-proxy-9mv7n                     1/1     Running                 0          17m
kube-system    kube-proxy-fgkg2                     1/1     Running                 0          17m
kube-system    kube-proxy-v5knt                     1/1     Running                 0          17m
kube-system    kube-scheduler-k8s-master            1/1     Running                 0          18m

那为什么会出现flannel镜像一直拉取不下来呢?就是因为阿里云镜像仓库可能没有这些镜像,所有就是使用了魔法,拉取到了镜像,最后也是成功的解决了,非常要感谢那个男人,我伟大的教员

# 可以看出正是以下这三个镜像没有拉取到导致我们的实验办法进行下去,我的yaml文件是进行过整改的,可以免费提供,评论或者即可
[root@k8s-master ~]# cat kube-flannel.yaml | grep imageimage: docker.io/flannel/flannel-cni-plugin:v1.1.2#image: docker.io/rancher/mirrored-flannelcni-flannel-cni-plugin:v1.1.2image: docker.io/flannel/flannel:v0.21.5#image: docker.io/rancher/mirrored-flannelcni-flannel:v0.21.5image: docker.io/flannel/flannel:v0.21.5#image: docker.io/rancher/mirrored-flannelcni-flannel:v0.21.5

拉取镜像的命令放在下面了,需要使用魔法才能拉取到,拉取不到的评论或者私信免费提供(开源)

注意:拉取到了镜像要导入到全部的集群服务器中(master节点和node节点)

[root@k8s-master ~]# docker pull docker.io/flannel/flannel-cni-plugin:v1.1.2
[root@k8s-master ~]# docker pull docker.io/flannel/flannel:v0.21.5# master节点镜像
[root@k8s-master ~]# docker images | grep fl
flannel/flannel                                                   v0.21.5             a6c0cb5dbd21        13 months ago       68.9MB
flannel/flannel-cni-plugin                                        v1.1.2              7a2dcab94698        18 months ago       7.97MB# node1节点镜像
[root@k8s-node01 ~]# docker images | grep fl
flannel/flannel                                      v0.21.5             a6c0cb5dbd21        13 months ago       68.9MB
flannel/flannel-cni-plugin                           v1.1.2              7a2dcab94698        18 months ago       7.97MB# node2节点镜像
[root@k8s-node02 ~]# docker images | grep fl
flannel/flannel                                      v0.21.5             a6c0cb5dbd21        13 months ago       68.9MB
flannel/flannel-cni-plugin                           v1.1.2              7a2dcab94698        18 months ago       7.97MB

三、成功

  • 可能需要一点实验才能全部变成running
[root@k8s-master ~]# kubectl get pods -A
NAMESPACE      NAME                                 READY   STATUS    RESTARTS   AGE
kube-flannel   kube-flannel-ds-2mb46                1/1     Running   0          29m
kube-flannel   kube-flannel-ds-bq8hg                1/1     Running   0          29m
kube-flannel   kube-flannel-ds-f975x                1/1     Running   0          29m
kube-system    coredns-7ff77c879f-2s7nf             1/1     Running   0          39m
kube-system    coredns-7ff77c879f-xn6q9             1/1     Running   0          39m
kube-system    etcd-k8s-master                      1/1     Running   1          39m
kube-system    kube-apiserver-k8s-master            1/1     Running   1          39m
kube-system    kube-controller-manager-k8s-master   1/1     Running   1          39m
kube-system    kube-proxy-9mv7n                     1/1     Running   0          39m
kube-system    kube-proxy-fgkg2                     1/1     Running   0          39m
kube-system    kube-proxy-v5knt                     1/1     Running   1          39m
kube-system    kube-scheduler-k8s-master            1/1     Running   1          39m
  • 再次查看节点状态将会变成Ready(部署完成k8s)
[root@k8s-master ~]# kubectl get nodes
NAME         STATUS   ROLES    AGE   VERSION
k8s-master   Ready    master   53m   v1.18.0
k8s-node01   Ready    <none>   53m   v1.18.0
k8s-node02   Ready    <none>   53m   v1.18.0

这是一个云计算大佬,我伟大的教员:畅云客

这篇关于解决Kubernetes报错节点状态为NotReady,希望可以帮到你的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1062655

相关文章

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

SpringSecurity JWT基于令牌的无状态认证实现

《SpringSecurityJWT基于令牌的无状态认证实现》SpringSecurity中实现基于JWT的无状态认证是一种常见的做法,本文就来介绍一下SpringSecurityJWT基于令牌的无... 目录引言一、JWT基本原理与结构二、Spring Security JWT依赖配置三、JWT令牌生成与

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

解决SpringBoot启动报错:Failed to load property source from location 'classpath:/application.yml'

《解决SpringBoot启动报错:Failedtoloadpropertysourcefromlocationclasspath:/application.yml问题》这篇文章主要介绍... 目录在启动SpringBoot项目时报如下错误原因可能是1.yml中语法错误2.yml文件格式是GBK总结在启动S

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col