当前位置: 首页 > news >正文

Kubeasz快速部署k8s混合架构集群

#作者:曹付江

文章目录

  • 前言
  • 1.部署思路
  • 2.操作步骤
    • 2.1.假设已经正常部署了amd64架构的三节点集群
    • 2.2.在“amd64部署机”
    • 2.3.登录“arm64部署机”,执行下载,其他准备工作
    • 2.4.添加arm64新节点到集群
    • 2.5.验证
  • 3.小结

前言

混合架构集群这里是指集群中既有linux amd64架构机器,也有linux arm64架构机器;这里只记录一个简单的操作说明,实际操作注意风险。

1.部署思路

  1. 先选定一台amd64架构的机器做“amd64部署机”,使用它先部署amd64架构的集群
  2. 选一台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/config

2.4.添加arm64新节点到集群

source ~/.bashrc # 添加新节点 x.x.x.x dk ezctl add-node default x.x.x.x

2.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/arch=amd64 Labels: beta.kubernetes.io/arch=amd64 Labels: beta.kubernetes.io/arch=amd64 Labels: beta.kubernetes.io/arch=arm64

3.小结

通过以上步骤,我们就成功实现了在amd64集群中添加arm64节点;充分利用了kubeasz 项目部署集群的灵活性和可配置性;

部署过程中ansible执行的过程性输出内容,以近乎白盒的方式展示每一个细节;假如出错有详细的说明,帮助定位,并且随时可以修改执行脚本,安装的幂等性保证随时可以重新安装以修复错误

http://www.jsqmd.com/news/568163/

相关文章:

  • 接口测试——pytest框架续集
  • 单片机编程核心思想:分层设计与时间片轮
  • 实战应用:基于快马平台快速开发一个运用图结构的社交网络关系分析工具
  • DSQC354 3HNE00065-1/05 编码器
  • Realistic Vision V5.1写实人像生成教程:如何用Negative Prompt强化职业特征
  • ChatTTS在老年关怀场景落地:大字版语音播报+慢速清晰发音定制教程
  • Agent设计模式学习(基于langchain4j实现)(6) - 组合复杂工作流
  • StarUML用例图绘制避坑指南:为什么你的图书馆借书流程图总是不通过?
  • 用快马AI五分钟搭建前端面试题库:交互式原型开发实战
  • 基于COMSOL电弧动态仿真模型的优化及应用:一种高收敛性且可修改的吹弧方案案例解析
  • Vortex: 高效管理游戏模组的智能部署方案
  • Pendulum
  • 最后的GIL堡垒正在崩塌:现在不掌握这6种无锁Python并发安全范式,你的微服务将在Q3大规模core dump
  • 【Java高性能计算新纪元】:向量API正式GA后,这3类业务必须立即迁移——金融风控、AI推理、实时图像处理
  • 高效实现A站视频下载:AcFunDown桌面客户端技术全解析
  • 【7天Java面试突击版】100集Java面试八股文,巧拿高薪offer神器!
  • 【Qt开发】信号与槽
  • 从“画图焦虑”到“教学自由”:大角几何如何用AI解放数学教师
  • AI 时代:祛魅、适应与重新定义
  • Vivado时序约束实战:用Set_Bus_Skew解决跨时钟域数据同步的‘最后一公里’问题
  • XYCTF(Misc部分)
  • Python自动化办公翻车实录:用xlwings操作Excel时遇到-2146959355错误的5种修复方案
  • 筛选表单,支持增删改
  • 3步实现跨平台部署:开源CAD工具零障碍上手指南
  • 【力扣100题】10.回文链表(C++ 解法)
  • CBconvert:漫画爱好者的终极格式转换解决方案,支持10+格式互转
  • 描述 Linux 系统中 crontab 的工作原理,并给出一个每天凌晨 3 点执行备份脚本的 crontab 配置例子。
  • Phi-4-mini-reasoning vLLM监控告警:GPU显存溢出与请求超时自动通知
  • k8s网络Cilium5 - 小镇
  • Azure OpenAI服务升级踩坑记:从OpenAI库v0.27.0到v1.x,手把手解决LangChain中的404报错