Helm简介
Helm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的yum。
Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。
对于应用发布者而言,可以通过 Helm 打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。
对于使用者而言,使用 Helm 后不用需要编写复杂的应用部署文件,可以以简单的方式在 Kubernetes 上查找、安装、升级、回滚、卸载应用程序。
Helm当前最新版本 v3.1.0 官网:https://helm.sh/docs/intro/
Helm部署
tar zxf helm-v3.4.1-linux-amd64.tar.gz
cd linux-amd64/
cp helm /usr/local/bin/
添加环境变量echo "source <(helm completion bash)" >> ~/.bashrc source .bashrc
测试搜索nginx
[root@server2 ~]# helm search hub nginx
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo list
##列出默认default ns下的第三方chart仓库
使用helm部署redis集群
[root@server2 ~]# helm search repo redis
在harber仓库创建bitnami目录
拉取应用到本地,编辑value文件,读取本地harbor仓库
helm pull bitnami/redis-cluster
tar zxf redis-cluster-6.3.2.tgz
cd redis-cluster/
vim values.yaml
测试,使用helm部署redis集群
支持多种安装方式,本次从当前目录安装:
helm install redis-cluster .
kubectl get pod
##列出已安装的
helm list
helm list --all-namespaces
##卸载redis集群
helm uninstall redis-cluster
kubectl get pod
私有Helm Chart构建
helm create mychart
tree mychart/
cd mychart/
##编写mychart的应用描述信息
vim Chart.yaml
##编写应用部署信息:
8 repository: myapp
11 tag: "v1"
##校验依赖和模板配置
helm lint mychart/
将应用打包
[root@server2 helm]# helm package mychart/
#######################################
测试上传 helm
使用harber仓库
创建charts目录
需要harber仓库有 helm charts 选项
如果没有先寻找
[root@server1 ~]# find / -name docker-compose.yml
/usr/local/harbor/docker-compose.yml
[root@server1 ~]# cd /usr/local/harbor/
[root@server1 harbor]# ls
common common.sh docker-compose.yml harbor.v1.10.1.tar.gz harbor.yml install.sh LICENSE prepare
[root@server1 harbor]# docker-compose down