云原生基础架构实战课
15
15
1.0x
00:00/00:00
登录|注册

09|集群组件管理:自动化之道,轻松管理百个集群

你好,我是潘野。
通过前面的课程,我们学习了通过 GitOps 的方式来管理公有云里的资源,也顺利地启动了一个 Kubernetes 集群。
但是在真正的生产环境中,一个“光秃秃”的集群业务人员是无法使用的。比如业务需要 Ingress 来对外暴露流量,SRE 需要集群内有 Prometheus 来监控整个应用的状态。所以像 Ingress、Prometheus 这些组件依然属于基础设施的管理范畴。也就是说,快速、可靠和可重复的管理 Kubernetes 集群组件也是 IaC 中的一环。
我们不妨试着想象一下,假如你是公司 Kubernetes 平台管理员,需要管理 100 个 Kubernetes 集群,而每个集群都有 10 个组件的时候,你应该如何来做呢?

常见的 Kubernetes 集群组件

我们先看看交付给业务团队使用的 Kubernetes 集群一般需要哪些组件。
这些组件分成两类,一类是控制平面组件,一类是数据平面组件。控制平面的组件里面涉及到网络插件、安全组件等,数据平面的组件主要是以 Ingress、cert-manger 和 Grafana 这样的业务辅助组件为主。我将常用的 Kubernetes 集群组件用表格的形式列在下面,供你参考。
前面我们预设的场景是 100 个集群,每个集群 10 个组件,那么一共就有 1000 个组件。我们来分析一下有哪些通用的管理需求,主要是三类。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

1. 管理Kubernetes集群组件是必不可少的,需要考虑组件类型管理、版本管理和功能管理等需求。 2. 通过维护一个集合来表述一个集群需要安装哪些组件,可以实现需求定制和集中管理组件。 3. 使用umbrella chart结合enabled字段来决定是否在集群上启用组件,实现按需定制集群组件。 4. Helm配合ArgoCD工具可以部署单个集群组件,同时umbrella chart可以管理集群所有组件。 5. 通过为ArgoCD的Application自定义一个helm chart包,将变化的参数转变成可配置的value,可以实现集中化管理集群组件。 6. Helm的values.yaml可以采用层层递进式覆盖,为每个集群单独配置一个values.yaml,就能控制集群可以安装哪些组件. 7. GitOps方式可以用来管理Kubernetes集群配置,提供版本控制、审计日志以及回滚等功能。 8. 通过GitOps方式管理Kubernetes集群配置,可以实现快速、可靠和可重复的部署和管理过程。 9. 基础设施自动化管理的目标是让Kubernetes基础组件既可以按需求定制,又能够集中管理。 10. 本文介绍了如何部署单个集群组件、同时部署多个集群组件,以及如何部署多个集群的组件,解决了基础设施自动化管理的最后一公里。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《云原生基础架构实战课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • 咸蛋超人
    潘老师,能否分享一下再eBay这种公司是怎么样来管理和运维这么多的大规模K8S集群?是否有文章或者资料可以分享下?
    2024-04-12归属地:广东
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部