网站首页 文章专栏 07创建集群.md
07创建集群.md
创建于:2021-07-04 07:49:59 更新于:2025-05-23 19:36:38 羽瀚尘 521

在某次测试中发现,slave节点在加入集群后,slave节点本身存在的与k8无关的image都被清除,要做好image的备份工作。后续的测试中未发现此类现象。

准备安装环境

安装docker-ce, nvidia-docker, 关闭swap, 修改docker,修改docker cgroup驱动 安装kubeadm, kubelet

拉取slave所需的镜像

从aliyun镜像拉取docker image

国内由于一些原因,拉取google的镜像会非常慢,所以我们先从镜像拉取。

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.15.0
docker pull jmgao1983/flannel:v0.10.0-amd64
  1. 如果网络插件使用kube-router, 那么不用提前拉取kube-proxy,因为kube-router的镜像在国内可以访问.
  2. 如果使用非flannel网络插件,不用拉取flannel镜像

给镜像换tag

由于在初始化集群时会指定使用的image名称,而从镜像拉取的image都带有特定前缀registry.cn-hangzhou.aliyuncs.com, 我们要把这个前缀换为k8s.gcr.io.

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.1  k8s.gcr.io/pause:3.1
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.15.0  k8s.gcr.io/kube-proxy:v1.15.0
docker tag jmgao1983/flannel:v0.10.0-amd64 quay.io/coreos/flannel:v0.10.0-amd64

如果使用kube-router网络插件,那么不需要提前拉取kube-proxy镜像

重新生成token

创建master时生成token有效期只有24h,如果过期需要重新生成。

生成token

在master节点运行

kubeadm token create

获取ca证书sha256编码hash值

openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'

节点加入集群

kubeadm join 172.16.2.128:6443 --token yqxegq.6antyu686zxa5v8p --discovery-token-ca-cert-hash sha256:808a960f343d8c9339da78a9c48c62bf8b8a636fd5474a0b1413b6c3b496404f

确认节点信息

在master节点上运行

kubectl get nodes -o wide

参考

TODO:

  • 增加slave节点加入集群