文章
问答
冒泡
K8S新增节点后状态NotReady原因查看和解决

1、查看原因

kubectl --namespace=kube-system describe pod kube-proxy-hjs58
# 查看错误日志
# 有可能是下载镜像超时

2、镜像拉取超时解决办法

kubeadm config images list # 查看需要的镜像
vim pull_k8s_images.sh #用脚本拉取

pull_k8s_images.sh脚本

set -o errexit
set -o nounset
set -o pipefail

##这里定义版本,按照上面得到的列表自己改一下版本号

KUBE_VERSION=v1.22.17
KUBE_PAUSE_VERSION=3.5
ETCD_VERSION=3.5.0-0
# DNS_VERSION=1.8.4 # coredns需要特殊处理

##这是原始仓库名,最后需要改名成这个
GCR_URL=k8s.gcr.io

##这里就是写你要使用的仓库
DOCKERHUB_URL=gotok8s

##这里是镜像列表,新版本要把coredns需要特殊处理
images=(
kube-proxy:${KUBE_VERSION}
kube-scheduler:${KUBE_VERSION}
kube-controller-manager:${KUBE_VERSION}
kube-apiserver:${KUBE_VERSION}
pause:${KUBE_PAUSE_VERSION}
etcd:${ETCD_VERSION}
# coredns:${DNS_VERSION} # coredns需要特殊处理
)

##这里是拉取和改名的循环语句
for imageName in ${images[@]} ; do
  docker pull $DOCKERHUB_URL/$imageName
  docker tag $DOCKERHUB_URL/$imageName $GCR_URL/$imageName
  docker rmi $DOCKERHUB_URL/$imageName
done

运行脚本等待拉取结束,再kubectl get nodes就显示Ready了

chmod a+x pull_k8s_images.sh
./pull_k8s_images.sh
k8s

关于作者

小乙哥
学海无涯,回头是岸
获得点赞
文章被阅读