1.4.4.4 准备镜像
查看安装指定版本的 k8s 需要的镜像有哪些
[root@k8s-master1 ~]# kubeadm config images list --kubernetes-version v1.21.1
k8s.gcr.io/kube-apiserver:v1.21.1
k8s.gcr.io/kube-controller-manager:v1.21.1
k8s.gcr.io/kube-scheduler:v1.21.1
k8s.gcr.io/kube-proxy:v1.21.1
k8s.gcr.io/pause:3.4.1
k8s.gcr.io/etcd:3.4.13-0
k8s.gcr.io/coredns/coredns:v1.8.0
[root@k8s-master1 ~]#
从上面可以看出新版本coredns镜像仓库路径多了/coredns,所以直接更换仓库依然会报错,可以提前下载后通过打标签的方式进行更改。
1.4.4.5 master 节点下载镜像
推荐提前在 master 节点下载镜像以减少安装等待时间,但是镜像默认使用 Google 的镜像仓库,所以国内无法直接下载,但是可以通过阿里云的镜像仓库把镜像先提前下载下来 ,可以避免后期因镜像下载异常而导致 k8s 部署异常。
阿里云镜像仓库查询地址
https://cr.console.aliyun.com/cn-hangzhou/instances/images # 在用户公开镜像搜索google_containers
# 或者 registry.aliyuncs.com/google_containers
编写拉取镜像并打标签脚本
[root@k8s-master1 ~]# vim k8s-images-download.sh
[root@k8s-master1 ~]# cat k8s-images-download.sh
#!/bin/bash
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.21.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.21.1 k8s.gcr.io/kube-apiserver:v1.21.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.21.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.21.1 k8s.gcr.io/kube-controller-manager:v1.21.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.21.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.21.1 k8s.gcr.io/kube-scheduler:v1.21.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.21.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.21.1 k8s.gcr.io/kube-proxy:v1.21.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.4.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.4.1 k8s.gcr.io/pause:3.4.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.13-0
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.13-0 k8s.gcr.io/etcd:3.4.13-0
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.8.0
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.8.0 k8s.gcr.io/coredns/coredns:v1.8.0
[root@k8s-master1 ~]# bash k8s-images-download.sh
# 复制到其他master和node节点进行拉取镜像并打标签
[root@k8s-master1 ~]# scp k8s-images-download.sh 10.0.0.19:
[root@k8s-master1 ~]# scp k8s-images-download.sh 10.0.0.29:
......
1.4.4.6 单节点 master 初始化
[root@k8s-master2 ~]# kubeadm init --apiserver-advertise-address=10.0.0.9 --apiserver-bind-port=6443 --ignore-preflight-errors=swap --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --kubernetes-version=v1.21.1 --pod-network-cidr=10.10.0.0/16 --service-cidr=10.20.0.0/16 --service-dns-domain=waluna.local
......
[kubelet-finalize] Updating "/etc/kubernetes/kubelet.conf" to point to a rotatable kubelet client certificate and key
[addons] Applied essential addon: CoreDNS
[addons] Applied essential addon: kube-proxy
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Alternatively, if you are the root user, you can run:
export KUBECONFIG=/etc/kubernetes/admin.conf
You should now deploy a pod network to the cluster.
Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join 10.0.0.19:6443 --token 2ovong.2t8xtz33tfdqhke3 \
--discovery-token-ca-cert-hash sha256:c92c665760048cf8d30340f2231883c46a2ce798446ff18d86604729e4f8ad2a
[root@k8s-master2 ~]#
初始化结果








Comments | NOTHING