50 | 服务编排(下):基于Helm的服务编排部署实战
孔令飞
该思维导图由 AI 生成,仅供参考
你好,我是孔令飞。
上一讲,我介绍了 Helm 的基础知识,并带着你部署了一个简单的应用。掌握 Helm 的基础知识之后,今天我们就来实战下,一起通过 Helm 部署一个 IAM 应用。
通过 Helm 部署 IAM 应用,首先需要制作 IAM Chart 包,然后通过 Chart 包来一键部署 IAM 应用。在实际开发中,我们需要将应用部署在不同的环境中,所以我也会给你演示下如何在多环境中部署 IAM 应用。
制作 IAM Chart 包
在部署 IAM 应用之前,我们首先需要制作一个 IAM Chart 包。
我们假设 IAM 项目源码根目录为${IAM_ROOT},进入 ${IAM_ROOT}/deployments目录,在该目录下创建 Chart 包。具体创建流程分为四个步骤,下面我来详细介绍下。
第一步,创建一个模板 Chart。
不过,这里你也可以使用 helm create 命令来快速创建一个模板 Chart,并基于该 Chart 进行修改,得到你自己的 Chart。创建命令如下:
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了如何使用Helm进行服务编排部署实战。作者详细介绍了制作IAM Chart包的四个步骤,包括创建模板Chart、编辑Chart文件、修改配置文件以及打包Chart并上传到Chart仓库。在创建IAM Chart包时,读者可以了解如何使用Helm进行服务编排部署,并在实际开发中部署IAM应用到不同的环境中。文章还介绍了IAM应用的多环境部署方法,以及一些课后练习。整体而言,本文提供了实用的操作指南,适合需要使用Helm进行服务编排部署的开发人员阅读参考。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Go 语言项目开发实战》,新⼈⾸单¥68
《Go 语言项目开发实战》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(5)
- 最新
- 精选
- 我来也“给所有字符串类型的值加上引号。” 深有体会,很多开源的chart也可能存在这种问题。比如pvc的名称,没有用quote加引号,用户如果非得来一个全数字的pvc就悲剧了。helm会默认转换为数字类型。 我一般调试时使用helm upgrade --install —debug —dry-run。如果可以看到渲染后的yaml,调试起来还是蛮方便的。
作者回复: 好办法!
2021-09-257 - yandongxiao总结: 制作chart的流程: 1. 使用 helm create 命令创建一个 chart; 2. chart 的目录结构:Chart.yaml, values.yaml, templates, charts 等。 3. templates 目录中包含资源的定义文件,使用了 go template 语法,有点凌乱。 4. 建议 values.yaml 文件中个,给所有字符串类型的值加上引号;使用字符串来表示整型,通过 {{ int $values }} 方式来引用。 5. 使用 helm lint 或者 helm install --dry-run 方式,验证helm package的格式,但内容上不一定符合你预期。
作者回复: 6666
2021-12-051 - GeekCoder一个应用有多个服务,其中一个服务改动之后,得重新打一个chart包?全部重新部署?
作者回复: helm chart是幂等部署的,只要每一个服务的镜像tag不变,Kubernetes就不会去部署
2022-05-25归属地:广东 - 骨汤鸡蛋面对于一些yaml配置,如果pro 使用,test 不需要,该如何配置呢。比如node 亲和性配置,可能线上要配,测试环境就无所谓了。
作者回复: 可以在yaml模板中使用if语句来判断
2022-04-08 - Wongkakui有个疑问,一般集群内的资源都是运维管理的,但我们项目使用到的资源可以通过helm values维护在自己代码仓库,运维缺改不了,这种情况有最佳实践吗2023-03-05归属地:广东
收起评论