Go 语言项目开发实战
孔令飞
腾讯云专家工程师,前 Red Hat、联想云工程师
41031 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 61 讲
Go 语言项目开发实战
15
15
1.0x
00:00/00:00
登录|注册

50 | 服务编排(下):基于Helm的服务编排部署实战

在命令行指定-f参数
创建多个Helm values文件
销毁EKS集群的资源
测试IAM应用
安装IAM Chart包
创建Docker镜像并Push到镜像仓库
创建镜像仓库访问密钥
保存IAM各服务使用的证书文件
保存IAM各服务的配置文件
创建iam命名空间
创建IAM应用的配置文件
配置environment.sh
打包Chart并上传到Chart仓库
修改Chart的配置文件
编辑Chart文件
创建模板Chart
通过helm命令升级、回滚和删除IAM应用
加入MariaDB、MongoDB、Redis模板
冒烟测试IAM应用
一键部署IAM应用
二次开发Chart包
创建模板Chart
IAM应用多环境部署
IAM Chart部署
制作IAM Chart包
部署简单应用
Helm的基础知识
课后练习
总结
实战:通过Helm部署IAM应用
Helm基础知识介绍
孔令飞
基于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。
Chart 是一个组织在文件目录中的集合,目录名称就是 Chart 名称(没有版本信息)。你可以看看这个 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
立即购买
登录 后留言

全部留言(5)

  • 最新
  • 精选
  • 我来也
    “给所有字符串类型的值加上引号。” 深有体会,很多开源的chart也可能存在这种问题。比如pvc的名称,没有用quote加引号,用户如果非得来一个全数字的pvc就悲剧了。helm会默认转换为数字类型。 我一般调试时使用helm upgrade --install —debug —dry-run。如果可以看到渲染后的yaml,调试起来还是蛮方便的。

    作者回复: 好办法!

    2021-09-25
    7
  • 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-05
    1
  • GeekCoder
    一个应用有多个服务,其中一个服务改动之后,得重新打一个chart包?全部重新部署?

    作者回复: helm chart是幂等部署的,只要每一个服务的镜像tag不变,Kubernetes就不会去部署

    2022-05-25归属地:广东
  • 骨汤鸡蛋面
    对于一些yaml配置,如果pro 使用,test 不需要,该如何配置呢。比如node 亲和性配置,可能线上要配,测试环境就无所谓了。

    作者回复: 可以在yaml模板中使用if语句来判断

    2022-04-08
  • Wongkakui
    有个疑问,一般集群内的资源都是运维管理的,但我们项目使用到的资源可以通过helm values维护在自己代码仓库,运维缺改不了,这种情况有最佳实践吗
    2023-03-05归属地:广东
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部