Helm
Helm
简介
Helm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的yum。
Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。
对于应用发布者而言,可以通过 Helm 打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。
对于使用者而言,使用 Helm 后不用需要编写复杂的应用部署文件,可以以简单的方式在 Kubernetes 上查找、安装、升级、回滚、卸载应用程序。
1 下载第三方资源并测试
server1上传镜像
docker pull bitnami/redis-cluster:6.2.5-debian-10-r0
docker tag bitnami/redis-cluster:6.2.5-debian-10-r0 reg.westos.org/bitnami/redis-cluster:6.2.5-debian-10-r0
docker push reg.westos.org/bitnami/redis-cluster:6.2.5-debian-10-r0
server2创建工作目录,解压压缩包
[root@server2 ~]# mkdir helm
[root@server2 ~]# cd helm/
[root@server2 helm]# tar zxf helm-v3.4.1-linux-amd64.tar.gz
[root@server2 helm]# cd linux-amd64/
[root@server2 linux-amd64]# cp helm /usr/local/bin/
设置helm命令补齐
[root@server2 linux-amd64]# echo "source <(helm completion bash)" >> ~/.bashrc
[root@server2 linux-amd64]# source ~/.bashrc
[root@server2 linux-amd64]# helm
添加第三方源并搜索redis
pull bitnami/redis-cluster 下载
解压redis-cluster后进入目录,编辑values.yaml,仓库设置为自己的
[root@server2 redis-cluster]# vim values.yaml
global:
imageRegistry: "reg.westos.org"
[root@server2 redis-cluster]# helm install redis-cluster . #安装
此时查看,配置成功
[root@server2 redis-cluster]# kubectl get pod
[root@server2 redis-cluster]# kubectl get all
删除
[root@server2 redis-cluster]# helm uninstall redis-cluster
2 搭建一个Helm Chart
2.1 harbor创建新的仓库
2.2创建mychart
[root@server2 helm]# helm create mychart
Creating mychart
[root@server2 helm]# cd mychart/
[root@server2 mychart]# vim Chart.yaml
apiVersion: v2
name: mychart
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
appVersion: v1
[root@se