再次实践 MySQL chart — Kubernetes(53)steemCreated with Sketch.

in kubernetes •  7 years ago 

学习了 chart 结构和模板的知识后,现在重新实践一次 MySQL chart,相信会有更多收获。

chart 安装前的准备

作为准备工作,安装之前需要先清楚 chart 的使用方法。这些信息通常记录在 values.yaml 和 README.md 中。除了下载源文件查看,执行 helm inspect values 可能是更方便的方法。

810.png

输出的实际上是 values.yaml 的内容。阅读注释就可以知道 MySQL chart 支持哪些参数,安装之前需要做哪些准备。其中有一部分是关于存储的:

811.png

chart 定义了一个 PersistentVolumeClaim,申请 8G 的 PersistentVolume。由于我们的实验环境不支持动态供给,所以得预先创建好相应的 PV,其配置文件 mysql-pv.yml 内容为:

812.png

创建 PV mysql-pv

813.png

接下来就可以安装 chart 了。

定制化安装 chart

除了接受 values.yaml 的默认值,我们还可以定制化 chart,比如设置 mysqlRootPassword

Helm 有两种方式传递配置参数:

  1. 指定自己的 values 文件。
    通常的做法是首先通过 helm inspect values mysql > myvalues.yaml 生成 values 文件,然后设置 mysqlRootPassword,之后执行 helm install --values=myvalues.yaml mysql

  2. 通过 --set 直接传入参数值,比如:

814.png

mysqlRootPassword 设置为 abc123。另外,-n 设置 release 为 my,各类资源的名称即为my-mysql

通过 helm listhelm status 可以查看 chart 的最新状态。

815.png

PVC 已经 Bound,Deployment 也 AVAILABLE

升级和回滚 release

release 发布后可以执行 helm upgrade 对其升级,通过 --values--set 应用新的配置。比如将当前的 MySQL 版本升级到 5.7.15:

816.png

等待一些时间,升级成功。

817.png

helm history 可以查看 release 所有的版本。通过 helm rollback 可以回滚到任何版本。

818.png

回滚成功,MySQL 恢复到 5.7.14。

819.png

到这里,相信大家已经会使用 chart 了。下一节我们学习如何开发自己的 chart。

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!