持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第21天,点击查看活动详情
Helm 的基本使⽤
我们成功安装了 Helm 的客户端以及服务端 Tiller Server 后,我们也⾃⼰尝试创建了我们的第 ⼀个 Helm Chart 包,这节课就来和⼤家⼀起学习下 Helm 中的⼀些常⽤的操作⽅法。
仓库
Helm 的 Repo 仓库和 Docker Registry ⽐较类似,Chart 库可以⽤来存储和共享打包 Chart 的位置, 我们在安装了 Helm 后,默认的仓库地址是 google 的⼀个地址,这对于我们不能科学上⽹的同学就⽐ 较苦恼了,没办法访问到官⽅提供的 Chart 仓库,可以⽤ helm repo list 来查看当前的仓库配置:
我们可以看到除了⼀个默认的 stable 的仓库配置外,还有⼀个 local 的本地仓库,这是我们本地测试 的⼀个仓库地址。其实要创建⼀个 Chart 仓库也是⾮常简单的,Chart 仓库其实就是⼀个带 有 index.yaml 索引⽂件和任意个打包的 Chart 的 HTTP 服务器⽽已,⽐如我们想要分享⼀个 Chart 包的时候,将我们本地的 Chart 包上传到该服务器上⾯,别⼈就可以使⽤了,所以其实我们⾃⼰托管 ⼀个 Chart 仓库也是⾮常简单的,⽐如阿⾥云的 OSS、Github Pages,甚⾄⾃⼰创建的⼀个简单服务 器都可以。
为了解决科学上⽹的问题,我这⾥建了⼀个 Github Pages 仓库,每天会⾃动和官⽅的仓库进⾏同步, 地址是:github.com/cnych/kube-… Helm 默认仓库地址 更改成我们⾃⼰的仓库地址了:
仓库添加完成后,可以使⽤ update 命令进⾏仓库更新。当然如果要我们⾃⼰来创建⼀个 web 服务器 来服务 Helm Chart 的话,只需要实现下⾯⼏个功能点就可以提供服务了:
- 将索引和 Chart 置于服务器⽬录中
- 确保索引⽂件 index.yaml
- 可以在没有认证要求的情况下访问
- 确保 yaml ⽂件的正确内容类型(text/yaml 或 text/x-yaml)
如果你的 web 服务提供了上⾯⼏个功能,那么也就可以当做 Helm Chart 仓库来使⽤了。
查找 chart
Helm 将 Charts 包安装到 Kubernetes 集群中,⼀个安装实例就是⼀个新的 Release,要找到新的 Chart,我们可以通过搜索命令完成。
记住,如果不能科学上⽹,将默认的 stable 的仓库地址更换成上⾯我们创建的地址
直接运⾏ helm search 命令可以查看有哪些 Charts 是可⽤的:
如果没有使⽤过滤条件,helm search 显示所有可⽤的 charts。可以通过使⽤过滤条件进⾏搜索来缩⼩ 搜索的结果范围:
可以看到明显少了很多 charts 了,同样的,我们可以使⽤ inspect 命令来查看⼀个 chart 的详细信息:
使⽤ inspect 命令可以查看到该 chart ⾥⾯所有描述信息,包括运⾏⽅式、配置信息等等。 通过 helm search 命令可以找到我们想要的 chart 包,找到后就可以通过 helm install 命令来进⾏安装 了。
安装 chart
要安装新的软件包,直接使⽤ helm install 命令即可。最简单的情况下,它只需要⼀个 chart 的名称参 数:
现在 mysql chart 已经安装上了,安装 chart 会创建⼀个新 release 对象。上⾯的 release 被命名为 hmewing-squid。如果你想使⽤你⾃⼰的 release 名称,只需使⽤ --name 参数指定即可,⽐如: