问题:k8s集群节点状态NotReady

当我们按照网上的方法安装好k8s集群,并且初始化,子节点加入master节点,

并且安装好网络插件,例如flannel,master节点执行了kubectl apply -f kube-flannel.yml,

然后执行kubectl get nodes时,发现节点状态依然为NotReady

原因

如果说你前面的集群安装、初始化、配置网络插件都没问题的话,那可以考虑此原因:docker镜像源问题

k8s集群安装配置过程中,在进行集群安装还有网络插件配置的时候,都需要用到docker镜像仓库拉取镜像,今年国内各大docker镜像站都被墙了之后,导致docker拉取镜像都变成了一个难题,一般这时候找到一个可靠的镜像源就能解决问题。下面是截止2024年12月7日国内还可用的镜像站,不知道什么时候就不能用了,且用且珍惜......

配置镜像源(亲测有效)

(以下配置,集群的master节点和子节点都需要执行)

打开docker镜像配置文件,若没有此文件则创建

vim /etc/docker/daemon.json

复制粘贴以下内容:

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://noohub.ru",
    "https://huecker.io",
    "https://dockerhub.timeweb.cloud",
    "https://docker.rainbond.cc"
  ]
}

然后重新加载配置文件和重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker

主节点和子节点都配置完成并且重启后,即可查看节点状态是否为Ready状态

此时可以看到节点状态都为Ready。如果仍为NotReady,那要考虑集群安装以及初始化配置还有网络插件安装操作是否有误

kubectl get nodes

2024年12月7日亲测有效

补充镜像

以下镜像有的可用有的不可用,可以试一试

{
  "registry-mirrors": [
    "https://5tqw56kt.mirror.aliyuncs.com",
    "https://docker.hpcloud.cloud",
    "https://docker.m.daocloud.io",
    "https://docker.1panel.live",
    "http://mirrors.ustc.edu.cn",
    "https://docker.chenby.cn",
    "https://docker.ckyl.me",
    "http://mirror.azure.cn",
    "https://hub.rat.dev",
    "https://docker.rainbond.cc",
    "https://hub.xdark.top",
    "https://hub.littlediary.cn",
    "https://hub.littlediary.cn",
    "https://hub.crdz.gq",
    "https://docker.unsee.tech",
    "https://docker.kejilion.pro",
    "https://registry.dockermirror.com",
    "https://hub.rat.dev",
    "https://dhub.kubesre.xyz",
    "https://docker.nastool.de"
  ]
}

长期镜像维护站

Docker/DockerHub 国内镜像源/加速列表(1月6日更新-长期维护) - gnuorg - 博客园