导读:kubernetes的1.24版本,docker将不能作为k8s的容器运行时。搞到最后才发现,得重新来。
1、三台机器配置master域名
echo "172.31.0.2 k8s-master" >> /etc/hosts2、先拉取kubeadm依赖的镜像,默认从k8s.gcr.io取。网络原因是拉取不到的,只能曲线救国。
[root@node2 docker]# kubeadm config images listk8s.gcr.io/kube-apiserver:v1.24.3k8s.gcr.io/kube-controller-manager:v1.24.3k8s.gcr.io/kube-scheduler:v1.24.3k8s.gcr.io/kube-proxy:v1.24.3k8s.gcr.io/pause:3.7k8s.gcr.io/etcd:3.5.3-0k8s.gcr.io/coredns/coredns:v1.8.6#从国内镜像拉取docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.24.3docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.24.3docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.24.3docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.24.3docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.7docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.3-0docker pull coredns/coredns:1.8.6#将拉取下来的images重命名为kubeadm config所需的镜像名字docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.24.3 k8s.gcr.io/kube-apiserver:v1.24.3docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.24.3 k8s.gcr.io/kube-controller-manager:v1.24.3docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.24.3 k8s.gcr.io/kube-scheduler:v1.24.3docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.24.3 k8s.gcr.io/kube-proxy:v1.24.3docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.7 k8s.gcr.io/pause:3.7docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.3-0 k8s.gcr.io/etcd:3.5.3-0docker tag coredns/coredns:1.8.6 k8s.gcr.io/coredns/coredns:v1.8.63、初始化master节点
kubeadm init \--apiserver-advertise-address=172.31.0.2 \--control-plane-endpoint=k8s-master \--service-cidr=10.96.0.0/16 \--pod-network-cidr=192.168.0.0/16 \--image-repository=registry.aliyuncs.com/google_containers \--kubernetes-version v1.24.3 \--v=6containerruntime is not running 问题解决
rm /etc/containerd/config.toml systemctl restart containerd[kubelet-check] Initial timeout of 40s passed 问题排查。查到最后发现从 1.24 版本开始,kubelet 已经移除 dockershim。docker将不能作为k8s的容器运行时。
# 重置kubeadmkubeadm reset[kubelet-check] Initial timeout of 40s passed.I0807 19:43:42.390092 641615 round_trippers.go:553] GET https://k8s-master:6443/healthz?timeout=10s in 0 millisecondsI0807 19:43:42.891026 641615 round_trippers.go:553] GET https://k8s-master:6443/healthz?timeout=10s in 0 millisecondsI0807 19:43:43.391058 641615 round_trippers.go:553] GET https://k8s-master:6443/healthz?timeout=10s in 0 millisecondsI0807 19:43:43.890072 641615 round_trippers.go:553] GET https://k8s-master:6443/healthz?timeout=10s in 0 millisecondssystemctl status kubeletjournalctl -xeu kubelet[root@k8s-master containerd]# journalctl -xeu kubeletAug 07 19:48:41 VM-0-2-centos kubelet[641716]: E0807 19:48:41.775915 641716 kubelet.go:2424] "Error getting node" err="node \"vm-0-2-centos\" not found"Aug 07 19:48:41 VM-0-2-centos kubelet[641716]: E0807 19:48:41.876481 641716 kubelet.go:2424] "Error getting node" err="node \"vm-0-2-centos\" not found" | 留言与评论(共有 0 条评论) “” |