Kubeasz快速部署k8s混合架构集群
#作者曹付江文章目录前言1.部署思路2.操作步骤2.1.假设已经正常部署了amd64架构的三节点集群2.2.在“amd64部署机”2.3.登录“arm64部署机”执行下载其他准备工作2.4.添加arm64新节点到集群2.5.验证3.小结前言混合架构集群这里是指集群中既有linux amd64架构机器也有linux arm64架构机器这里只记录一个简单的操作说明实际操作注意风险。1.部署思路先选定一台amd64架构的机器做“amd64部署机”使用它先部署amd64架构的集群选一台arm64架构的机器做“arm64部署机”复制amd64部署机的/etc/kubeasz目录文件除去目录中的bin、down子目录然后重新下载arm64架构的二进制和镜像然后添加arm64节点到原有集群即可2.操作步骤2.1.假设已经正常部署了amd64架构的三节点集群2.2.在“amd64部署机”目录 /etc/kubeasz 中移除子目录 bin 和 down然后把整体/etc/kubeasz 目录复制到“arm64部署机”# 登录amd64部署机 cd /etc/kubeasz; mv bin down /tmp/; scp -r /etc/kubeasz root{_ip_arm64}:/etc/ # 复制完成后找回 bin 和 down 子目录 mv /tmp/bin /etc/kubeasz/; mv /tmp/down /etc/kubeasz/2.3.登录“arm64部署机”执行下载其他准备工作cd /etc/kubeasz # 下载基础部分 ./ezdown -D # 下载额外部分如有 ./ezdown -X ... # 运行部署容器 ./ezdown -S # 配置机器ssh免密码登录集群所有节点都免密包括待新增arm64节点 ssh-copy-id xx.xx.xx.xx ssh-copy-id ... # 复制kubeconfig mkdir /root/.kube/; cp clusters/default/kubectl.kubeconfig /root/.kube/config2.4.添加arm64新节点到集群source ~/.bashrc # 添加新节点 x.x.x.x dk ezctl add-node default x.x.x.x2.5.验证$ kubectl get node -owide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME k8s-x.x.x-19 Ready master 5d8h v1.33.1 x.x.x.19 none Ubuntu 20.04.4 LTS 5.4.0-122-generic containerd://2.1.1 k8s-x.x.x-90 Ready node 5d8h v1.33.1 x.x.x.90 none Ubuntu 22.04.5 LTS 5.15.0-134-generic containerd://2.1.1 k8s-x.x.x-91 Ready node 5d8h v1.33.1 x.x.x.91 none Ubuntu 22.04.5 LTS 5.15.0-134-generic containerd://2.1.1 k8s-x.x.x-93 Ready node 79s v1.33.1 x.x.x.93 none Ubuntu 22.04.5 LTS 5.15.0-140-generic containerd://2.1.1 $ kubectl describe node|grep beta.kubernetes.io/arch Labels: beta.kubernetes.io/archamd64 Labels: beta.kubernetes.io/archamd64 Labels: beta.kubernetes.io/archamd64 Labels: beta.kubernetes.io/archarm643.小结通过以上步骤我们就成功实现了在amd64集群中添加arm64节点充分利用了kubeasz 项目部署集群的灵活性和可配置性部署过程中ansible执行的过程性输出内容以近乎白盒的方式展示每一个细节假如出错有详细的说明帮助定位并且随时可以修改执行脚本安装的幂等性保证随时可以重新安装以修复错误