解决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

相关文章

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

hdu1565(状态压缩)

本人第一道ac的状态压缩dp,这题的数据非常水,很容易过 题意:在n*n的矩阵中选数字使得不存在任意两个数字相邻,求最大值 解题思路: 一、因为在1<<20中有很多状态是无效的,所以第一步是选择有效状态,存到cnt[]数组中 二、dp[i][j]表示到第i行的状态cnt[j]所能得到的最大值,状态转移方程dp[i][j] = max(dp[i][j],dp[i-1][k]) ,其中k满足c

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

day-51 合并零之间的节点

思路 直接遍历链表即可,遇到val=0跳过,val非零则加在一起,最后返回即可 解题过程 返回链表可以有头结点,方便插入,返回head.next Code /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}*

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

什么是Kubernetes PodSecurityPolicy?

@TOC 💖The Begin💖点点关注,收藏不迷路💖 1、什么是PodSecurityPolicy? PodSecurityPolicy(PSP)是Kubernetes中的一个安全特性,用于在Pod创建前进行安全策略检查,限制Pod的资源使用、运行权限等,提升集群安全性。 2、为什么需要它? 默认情况下,Kubernetes允许用户自由创建Pod,可能带来安全风险。

状态dp总结

zoj 3631  N 个数中选若干数和(只能选一次)<=M 的最大值 const int Max_N = 38 ;int a[1<<16] , b[1<<16] , x[Max_N] , e[Max_N] ;void GetNum(int g[] , int n , int s[] , int &m){ int i , j , t ;m = 0 ;for(i = 0 ;

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip