49 | 服务编排(上):Helm服务编排基础知识
孔令飞
该思维导图由 AI 生成,仅供参考
你好,我是孔令飞。
我们将应用部署在 Kubernetes 时,可能需要创建多个服务。我就见过一个包含了 40 多个微服务的超大型应用,每个服务又包含了多个 Kubernetes 资源,比如 Service、Deployment、StatefulSet、ConfigMap 等。相同的应用又要部署在不同的环境中,例如测试环境、预发环境、现网环境等,也就是说应用的配置也不同。
对于一个大型的应用,如果基于 YAML 文件一个一个地部署 Kubernetes 资源,是非常繁琐、低效的,而且这些 YAML 文件维护起来极其复杂,还容易出错。那么,有没有一种更加高效的方式?比如,像 Docker 镜像一样,将应用需要的 Kubernetes 资源文件全部打包在一起,通过这个包来整体部署和管理应用,从而降低应用部署和维护的复杂度。
答案是有。我们可以通过 Helm Chart 包来管理这些 Kubernetes 文件,并通过helm命令,基于 Chart 包来创建和管理应用。
接下来,我就来介绍下 Helm 的基础知识,并给你演示下如何基于 Helm 部署 IAM 应用。
Helm 基础知识介绍
Helm 目前是 Kubernetes 服务编排事实上的标准。Helm 提供了多种功能来支持 Kubernetes 的服务编排,例如 helm 命令行工具、Chart 包、Chart 仓库等。下面,我就来详细介绍下。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
Helm是Kubernetes的包管理器,用于简化应用部署和管理。本文介绍了Helm的基本概念和操作实战,包括Chart、Repository和Release的概念,以及通过`helm`命令行工具进行应用创建、升级和卸载的操作。文章还详细介绍了Helm的配置覆盖方式,包括使用`--values`和`--set`来传递配置数据。此外,还介绍了升级Release和在失败时恢复的操作,以及Helm命令的使用方法。通过本文,读者可以快速了解Helm的基础知识和使用方法,以及Helm在简化应用部署和管理方面的优势。文章还提出了课后练习,鼓励读者思考和实践。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Go 语言项目开发实战》,新⼈⾸单¥68
《Go 语言项目开发实战》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(4)
- 最新
- 精选
- 渊จุ๊บ思考题1,跟helm没太大关系,helm是帮助我们生成k8s的声明对象描述文件,服务启动安排在服务配置创建后,是属于k8s对象编排上,调整服务启动策略即可,比如dm对象的pod模板加init-container检查服务配置对象可读取后再开始后续container的启动,或者还可以使用动态准入webhook来控制服务对象的启动等,方法很多
作者回复: 是的,这种是可以解决的。 Helm在创建资源时其实是有顺序的,比如先创建ConfigMap再创建Pod
2021-09-2524 - 打工人yyds根据helm get 所述,其作用应该是获取release的额外信息,但是在您最后的命令列表中写的是"下载一个Release",是我理解错误还是手误? ``` $ helm get -h This command consists of multiple subcommands which can be used to get extended information about the release, including: - The values used to generate the release - The generated manifest file - The notes provided by the chart of the release - The hooks associated with the release Usage: helm get [command] # ... and many more ```
作者回复: 应该是表述不准确,准确的是:下载一个Release的信息。 感谢反馈
2022-03-20 - yandongxiao总结: helm 作为Kubernetes的包管理工具,有三个概念:Chart、Repository、Release。 Chart:是一个 helm package,它是一个模板,包含了应用所需要的各种资源的定义。 Repository:存放 helm chart 的地方 Release: 每个 Chart 可以被部署多次,每次部署会创建一个对应的release。 Helm 关键的命令:helm repo list/add, helm search, helm Install, helm upgrade 等
作者回复: Chart中的templates目录下的文件是一个模板,Chart就是一个包,里面包含了配置。
2021-12-05 - Wayne老师好,请问文章部署图中描述的【服务1】【服务2】指的是k8s资源这些吗(Deployment、Pod、Service)?2023-07-15归属地:北京
收起评论