Kubernetes 给我们提供了大量官方 chart,不过要部署微服务应用,还是需要开发自己的 chart,下面就来实践这个主题。

创建 chart

执行 helm create mychart 的命令创建 chart mychart

Helm 会帮我们创建目录 mychart,并生成了各类 chart 文件。这样我们就可以在此基础上开发自己的 chart 了。

新建的 chart 默认包含一个 nginx 应用示例,values.yaml 内容如下:

开发时建议大家参考官方 chart 中的模板、values.yaml、Chart.yaml,里面包含了大量最佳实践和最常用的函数、流控制,这里就不一一展开了。

调试 chart

只要是程序就会有 bug,chart 也不例外。Helm 提供了 debug 的工具:helm lint 和 helm install --dry-run --debug

helm lint 会检测 chart 的语法,报告错误以及给出建议。

比如我们故意在 values.yaml 的第 8 行漏掉了一个 :

helm lint mychart 会指出这个语法错误。

mychart 目录被作为参数传递给 helm lint。错误修复后则能通过检测。

helm install --dry-run --debug 会模拟安装 chart,并输出每个模板生成的 YAML 内容。

我们可以检视这些输出,判断是否与预期相符。

同样,mychart 目录作为参数传递给 helm install --dry-run --debug

下一节我们讨论如何安装并将 chart 添加到仓库。

书籍:

1.《每天5分钟玩转Kubernetes》
https://item.jd.com/26225745440.html

2.《每天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html

3.《每天5分钟玩转OpenStack》
https://item.jd.com/12086376.html

开发自己的 chart - 每天5分钟玩转 Docker 容器技术(167)相关推荐

  1. 再次实践 MySQL chart - 每天5分钟玩转 Docker 容器技术(166)

    学习了 chart 结构和模板的知识后,现在重新实践一次 MySQL chart,相信会有更多收获. chart 安装前的准备 作为准备工作,安装之前需要先清楚 chart 的使用方法.这些信息通常记 ...

  2. 管理和安装 chart - 每天5分钟玩转 Docker 容器技术(168)

    2019独角兽企业重金招聘Python工程师标准>>> 安装 chart 当我们觉得准备就绪,就可以安装 chart,Helm 支持四种安装方法: 安装仓库中的 chart,例如:h ...

  3. chart 模板 - 每天5分钟玩转 Docker 容器技术(165)

    Helm 通过模板创建 Kubernetes 能够理解的 YAML 格式的资源配置文件,我们将通过例子来学习如何使用模板. 以 templates/secrets.yaml 为例: 从结构看,文件的内 ...

  4. Helm 架构 - 每天5分钟玩转 Docker 容器技术(161)

    在实践之前,我们先来看看 Helm 的架构. Helm 有两个重要的概念:chart 和 release. chart 是创建一个应用的信息集合,包括各种 Kubernetes 对象的配置模板.参数定 ...

  5. 使用 Helm - 每天5分钟玩转 Docker 容器技术(163)

    2019独角兽企业重金招聘Python工程师标准>>> Helm 安装成功后,可执行 helm search 查看当前可安装的 chart. 这个列表很长,这里只截取了一部分.大家不 ...

  6. Kubernetes Dashboard - 每天5分钟玩转 Docker 容器技术(173)

    前面章节 Kubernetes 所有的操作我们都是通过命令行工具 kubectl 完成的.为了提供更丰富的用户体验,Kubernetes 还开发了一个基于 Web 的 Dashboard,用户可以用 ...

  7. PV PVC - 每天5分钟玩转 Docker 容器技术(150)

    Volume 提供了非常好的数据持久化方案,不过在可管理性上还有不足. 拿前面 AWS EBS 的例子来说,要使用 Volume,Pod 必须事先知道如下信息: 当前 Volume 来自 AWS EB ...

  8. stack 的优势 - 每天5分钟玩转 Docker 容器技术(113)

    stack 将应用所包含的 service,依赖的 secret.voluem 等资源,以及它们之间的关系定义在一个 YAML 文件中.相比较手工执行命令或是脚本,stack 有明显的优势. YAML ...

  9. Why Helm? - 每天5分钟玩转 Docker 容器技术(160)

    2019独角兽企业重金招聘Python工程师标准>>> 本章我们将学习 Helm,Kubernetes 的包管理器. 每个成功的软件平台都有一个优秀的打包系统,比如 Debian.U ...

最新文章

  1. 如何查看已安装的CentOS版本信息
  2. linux 内核 目录项高速缓存 dentry cache 简介
  3. ASP.NET中EVAL用法大全
  4. JS实现select去除option的使用注意事项
  5. 数据库死锁的解决办法
  6. Kibana安装及简单使用
  7. 我的Objective-C系列文章
  8. python游戏猫咪藏在哪个房间_tes体系风格已经定型,EZ加猫咪似乎成唯一解,在藏还是真没了?...
  9. [数学]点、线、面分割问题
  10. css background-attachment:fixed 固定背景、不随内容一起滚动
  11. emacs .emacs_使用Emacs进行社交并跟踪您的待办事项列表
  12. ios - 高效,准确的网络检测
  13. 如何将文件自动一传到服务器,Windows文件传输篇:怎么上传文件到服务器?
  14. NewLife kick off
  15. pygame小游戏——中国地图拼图小游戏
  16. 混合波束成形matlab,探索 5G 系统的混合波束成形架构
  17. 2021年最新UI/UE设计软件全家桶
  18. vue项目优化及步骤
  19. LCD(一) TFT液晶时序图
  20. 手机软件测试电脑,(转载)如何在电脑上测试手机网站

热门文章

  1. 你还笃信亲身经历的事情吗?来看看大脑如何处理感觉信息
  2. [Luogu] 1600
  3. python图像插值
  4. php获取当前月月初至月末的时间戳,上个月月初至月末的时间戳
  5. 棋盘问题 简单搜索DFS
  6. 最全解释P2P、P2C 、O2O 、B2C、B2B、 C2C的定义
  7. 职业相关职位及职位能力要求知识点大纲范围
  8. 产品经理一定要理解数据
  9. C#/winform 窗体适应不同分辨率
  10. 基于Vue.js的后台管理系统组件开发