多云容器编排 Karmada-Operator 实践

本文介绍了Karmada作为开源多云容器编排项目的背景和选择原因,以及vivo在Karmada-Operator实践中的挑战和解决方案。文章详细讨论了Operator SDK、方案选择、API设计、架构设计、Karmada控制平面和etcd集群管理,以及member集群管理。同时,还提出了Karmada-Operator的CI流程和未来改进方向。
摘要由CSDN通过智能技术生成

🚀 优质资源分享 🚀

学习路线指引(点击解锁) 知识定位 人群定位
🧡 Python实战微信订餐小程序 🧡 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
💛Python量化交易实战💛 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

作者:vivo 互联网服务器团队-Zhang Rong

Karmada作为开源的云原生多云容器编排项目,吸引了众多企业共同参与项目开发,并运行于生产环境中。同时多云也逐步成为数据中心建设的基础架构,多区域容灾与多活、大规模多集群管理、跨云弹性与迁移等场景推动云原生多云相关技术的快速发展。

一、 背景

随着vivo业务不断迁移到k8s上,集群规模和集群的数量快速增长,运维难度也急剧增加。为了构建多集群技术,我们也自研了多集群管理,但无法解决我们遇到的更多的问题。后来开始对社区相关项目做了细致的调研和测试,我们最终选择了Karmada。

主要原因如下:

  • 具备对多套K8s集群的统一管理能力,业务通过服务维度去管理资源,降低容器平台的管理难度。

  • 跨集群的弹性伸缩和调度能力,实现跨集群的资源合理利用,从而提升资源利用率并节约成本。

  • Karmada完全使用了K8s原生的API,改造成本低。

  • 容灾,Karmada控制平面与member集群解藕,集群异常时支持资源重新分配。

  • 可扩展性,如可以添加自研的调度插件和添加自研Openkruise解释器插件等。

在我们探索怎么使用Karmada的同时,我们也遇到了Karmada自身运维的问题。

社区部署工具较多,需要用户自己选择。当前用户部署方式如下:

  • Karmadactl
  • Karmada charts
  • 二进制部署
  • hack目录下脚本

对于上面的几种工具,在Karmada的社区开展了问卷调研,并生成了统计报告

主要总结如下:

  • 社区部署工具较多,需要用户自己选择。
  • 部署脚本也存在缺陷,需要用户自己解决,github上关于这方面的提问较多。
  • 黑屏化操作,没有提供k8s api操作,用户难以产品化,我们主要期望对接我们的容器平台,实现可视化安装。
  • 缺少CI测试和部署工具的发布计划。
  • etcd集群缺少生产环境的关键功能点,如etcd的高可用、定期备份和恢复。
  • 需要安装很多依赖插件,涉及到Karmada控制平面、Karmada的host集群和member集群。
  • 缺少一键部署和配置繁琐等痛点。

针对以上问题,本文将分享Karmada-Operator的vivo实践,包括Operator的方案选择、API、架构设计和CI构建等。

二、Karmada-Operator的落地实践

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值