基于 kubeadm 部署单控制平面的 k8s 集群 (3)

工作节点服务器需要至少启动两个 pod ,需要用到的镜像为 kube-proxy 和 pause ,同理我们无法直接从 k8s.grc.io 下载,需要提前拉取后修改 tag ,执行下面命令:

images=(kube-proxy:v1.15.2 pause:3.1) for imageName in ${images[@]} ; do docker pull mirrorgooglecontainers/$imageName docker tag mirrorgooglecontainers/$imageName k8s.gcr.io/$imageName docker rmi mirrorgooglecontainers/$imageName done 加入集群

执行控制平面节点初始化完成后提供的添加工作节点命令,格式如下:

kubeadm join --token <token> <master-ip>:<master-port> --discovery-token-ca-cert-hash sha256:<hash>

命令中的 --token 和 --discovery-token-ca-cert-hash 在集群master节点部署完成后的结果信息中有体现,直接复制出来即可使用。

可以通过在控制平面节点执行kubeadm token list来获取token信息,token 令牌会在 24 小时候失效,如果要创建新的令牌,使用 kubeadm token create 命令。

可以通过下面命令获取 --discovery-token-ca-cert-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 ,需先先执行 kubeadm reset 进行一些清理工作。

节点执行完 join 命令后,可以在控制平面节点检查 pod 启动进度 watch kubectl get pods --all-namespaces -o wide,观察新节点服务器上的 pod 启动状态,正常启动则加入成功。参照上述步骤,依次讲所有工作节点加入集群。

检查工作节点状态

工作节点加入集群后,随着工作节点上相应 pod 的正常启动,工作节点状态会由有 NotReady 切换到 Ready,Pod 启动需要时间,请耐心等待。所有节点正常加入集群后,可以通过命令查看节点状态:

kubectl get nodes # ECHO ------ NAME STATUS ROLES AGE VERSION vm-10-6-ubuntu Ready master 7h48m v1.15.2 vm-10-7-ubuntu Ready <none> 7h1m v1.15.2 vm-10-8-ubuntu Ready <none> 7h11m v1.15.2 vm-10-9-ubuntu Ready <none> 6h50m v1.15.2 vm-10-10-ubuntu Ready <none> 43s v1.15.2 安装 dashboard

dashboard 不会随机群一起安装,需要单独部署,执行下面命令安装:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta3/aio/deploy/recommended.yaml

这里要注意 dashboard 的版本,并非所有版本的dashboard都能和任意版本的 k8s 集群完全兼容。引用官网对照表

Kubernetes version 1.11 1.12 1.13 1.14 1.15
Compatibility   ?   ?   ?   ?    

Fully supported version range.
? Due to breaking changes between Kubernetes API versions, some features might not work correctly in the Dashboard.

默认情况下,Dashboard 使用最小 RBAC 配置进行部署。目前,Dashboard 仅支持使用 Bearer Token 登录。可以按照关于创建示例用户的指南 进行操作。

关于 dashboard 的使用,随后会抽时间再详细写一篇进行介绍。

结语

现在我们已经拥有一个 4 工作节点的单控制平面 k8s 集群,本文只是简单介绍了部署过程,关于集群的管理、使用还会涉及到非常多的 k8s 概念及领域知识,官网文档基本上很详细的介绍了各类概念还有详尽的操作演示,可以多看、多实践。

最后,祝大家身体健康、工作顺利、学有所成、万事如意。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxgff.html