1.Helm简介
- Helm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的yum。
- Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些Metadata,以便于应用程序的分发。
- 对于应用发布者而言,可以通过 Helm 打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。
- 对于使用者而言,使用 Helm 后不用需要编写复杂的应用部署文件,可以以简单的方式在 Kubernetes上查找、安装、升级、回滚、卸载应用程序。
Helm当前最新版本 v3.2.0 官网:https://helm.sh/docs/intro/
Helm V3 与 V2 最大的区别在于去掉了tiller,见下图:
本节使用的是 Helm V3
2. Helm的部署
Helm当前最新版本 v3.1.0 官网:https://helm.sh/docs/intro/
Helm安装:
下载软件包:helm-v3.1.1-linux-amd64.tar.gz
[root@server1 ~]# tar zxf helm-v3.1.1-linux-amd64.tar.gz
[root@server1 ~]# cd linux-amd64/
[root@server1 linux-amd64]# ls
helm LICENSE README.md
[root@server1 ~]# cp helm /usr/local/bin/
设置helm命令补齐:
[kubeadm@server1 ~]$ echo "source <(helm completion bash)" >> ~/.bashrc
重新登陆生效
[root@server1 ~]# su - kubeadm
Last login: Mon May 11 09:16:14 CST 2020 on pts/1
Last failed login: Mon May 11 11:38:46 CST 2020 on pts/1
There was 1 failed login attempt since the last successful login.
[kubeadm@server1 ~]$ helm //helm命令
completion dependency get install list plugin repo search status test upgrade version
create env history lint package pull rollback show template uninstall verify
Helm 添加第三方 Chart 库:
[kubeadm@server1 ~]$ helm repo add stable http://mirror.azure.cn/kubernetes/charts/
"stable" has been added to your repositories
[kubeadm@server1 ~]$ helm repo list
NAME URL
stable http://mirror.azure.cn/kubernetes/charts/
[kubeadm@server1 ~]$ helm search repo redis
NAME CHART VERSION APP VERSION DESCRIPTION
stable/prometheus-redis-exporter 3.4.0 1.3.4 Prometheus exporter for Redis metrics
stable/redis 10.5.7 5.0.7 DEPRECATED Open source, advanced key-value stor...
stable/redis-ha 4.4.4 5.0.6 Highly available Kubernetes implementation of R...
stable/sensu 0.2.3 0.28 Sensu monitoring framework backed by the Redis ...
3. Helm 部署应用(拉取仓库的redis-ha并部署)
[kubeadm@server1 ~]$ helm search repo redis-ha -l // 可以查看redis-ha的所有版本
NAME CHART VERSION APP VERSION DESCRIPTION
stable/redis-ha 4.4<