学习了 chart 结构和模板的知识后,现在重新实践一次 MySQL chart,相信会有更多收获。
chart 安装前的准备
作为准备工作,安装之前需要先清楚 chart 的使用方法。这些信息通常记录在 values.yaml 和 README.md 中。除了下载源文件查看,执行 helm inspect values
可能是更方便的方法。
输出的实际上是 values.yaml 的内容。阅读注释就可以知道 MySQL chart 支持哪些参数,安装之前需要做哪些准备。其中有一部分是关于存储的:
chart 定义了一个 PersistentVolumeClaim,申请 8G 的 PersistentVolume。由于我们的实验环境不支持动态供给,所以得预先创建好相应的 PV,其配置文件 mysql-pv.yml
内容为:
创建 PV mysql-pv
:
接下来就可以安装 chart 了。
定制化安装 chart
除了接受 values.yaml 的默认值,我们还可以定制化 chart,比如设置 mysqlRootPassword
。
Helm 有两种方式传递配置参数:
指定自己的 values 文件。
通常的做法是首先通过helm inspect values mysql > myvalues.yaml
生成 values 文件,然后设置mysqlRootPassword
,之后执行helm install --values=myvalues.yaml mysql
。通过
--set
直接传入参数值,比如:
mysqlRootPassword
设置为 abc123
。另外,-n
设置 release 为 my
,各类资源的名称即为my-mysql
。
通过 helm list
和 helm status
可以查看 chart 的最新状态。
PVC 已经 Bound
,Deployment 也 AVAILABLE
。
升级和回滚 release
release 发布后可以执行 helm upgrade
对其升级,通过 --values
或 --set
应用新的配置。比如将当前的 MySQL 版本升级到 5.7.15:
等待一些时间,升级成功。
helm history
可以查看 release 所有的版本。通过 helm rollback
可以回滚到任何版本。
回滚成功,MySQL 恢复到 5.7.14。
到这里,相信大家已经会使用 chart 了。下一节我们学习如何开发自己的 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