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

49 | 服务编排(上):Helm服务编排基础知识

运行在Kubernetes集群中的Chart的实例
存放和共享Helm Chart的地方
包含所有YAML格式的资源定义文件
代表一个Helm包
提供多种命令和子命令
卸载Release
升级Release,并在失败时恢复
查看当前集群安装了哪些Release
安装前自定义Chart
安装示例Chart
初始化Helm Chart仓库
提供多种安装方式
确保有可用的Kubernetes集群
管理配置
管理多个服务
简化部署
复杂、维护困难
Release
Repository(仓库)
Chart
提供多种功能来支持Kubernetes的服务编排
Kubernetes的包管理器
尝试制作IAM应用的Chart包并通过Helm安装
思考问题
Helm提供的命令和功能
Helm中的三大基本概念
Helm成为Kubernetes服务编排标准
Helm命令
Helm快速入门
安装Helm
前置条件
Helm解决的问题
传统的应用部署模式
Helm中的三大基本概念
Helm是什么?
课后练习
总结
Helm基本操作实战
为什么要使用Helm?
Helm基础知识介绍
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
立即购买
登录 后留言

全部留言(4)

  • 最新
  • 精选
  • 渊จุ๊บ
    思考题1,跟helm没太大关系,helm是帮助我们生成k8s的声明对象描述文件,服务启动安排在服务配置创建后,是属于k8s对象编排上,调整服务启动策略即可,比如dm对象的pod模板加init-container检查服务配置对象可读取后再开始后续container的启动,或者还可以使用动态准入webhook来控制服务对象的启动等,方法很多

    作者回复: 是的,这种是可以解决的。 Helm在创建资源时其实是有顺序的,比如先创建ConfigMap再创建Pod

    2021-09-25
    2
    4
  • 打工人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归属地:北京
收起评论
显示
设置
留言
4
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部