helm3基本用法

发布时间 2023-09-03 16:58:35作者: 坚强的小蚂蚁

一. 部署

1.安装helm

wget https://get.helm.sh/helm-v3.6.1-linux-amd64.tar.gz
tar -xvf helm-v3.6.1-linux-amd64.tar.gz && cd linux-amd64/ && mv helm /usr/bin 
helm version

2.添加helm仓库

# 配置helm微软源地址
helm repo add stable http://mirror.azure.cn/kubernetes/charts
# 配置helm阿里源地址
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
# 查看仓库
helm repo list
# 更新仓库
helm repo update  
# 删除仓库
helm repo remove  aliyun

二. 创建自定义chart

官方文档:https://helm.sh/docs/

1.创建chart

helm create hello-helm
[root@k8s-master ~]# tree hello-helm/

fields start with upper case even though Chart.yaml field starts with lower case. Same with Chart.Version and all the other fields.

2.自定义chart的常用命令

1)helm inspect values stable/mysql | more 查看chart的配置选项

2) 我们可以直接在 YAML 格式的文件中来覆盖上面的任何配置,在安装的时候直接使用该配置文件即可:(config.yaml)
helm install -f config.yaml --set name=z0ukun stable/mysql --generate-name    正式平台推荐使用这种方式,保留原名字,其它方式都会添加一些自己的名字

3) 在安装过程中可以使用–set来覆盖对应的 value 值,比如禁用数据持久化,我们这里可以这样来覆盖:
helm install stable/mysql --set name=z0ukun-persistence.enabled=false --generate-name

4) 我们这里将数据持久化禁用掉来对上面的 mysql-1584976849 进行升级:

helm upgrade -f config.yaml mysql-1584976849 stable/mysql  其中stable/mysql是chart名, mysql-1584976849是创建后生成的名字
或者
helm upgrade -f values.yaml mysql ../mysqlha -n kuaikong  mysqlha是chart文件夹名, mysql是创建后生成的实例名
  
5) release 的版本是递增的,每次安装、升级或者回滚,版本号都会加1,第一个版本号始终为1
helm history 命令查看 release 的历史版本

6) helm rollback mysql-1584976849 1 回滚到上一个版本

7) helm pull harbor/harbor 拉取helm镜像 可修改values.yaml文件来实现自定义
helm install mysql . -f ./values.yaml
或者
helm install harbor ../harbor 第二个harbor是解压后chart文件夹的文件, 第一个harbor是自定义的名字

三. 创建自己的chart仓库

参考:https://helm.sh/zh/docs/topics/chart_repository/

使用阿里云的wget容器来当做我的chart仓库

cd /root/wget_rongqi/webapps/ROOT
mkdir fantastic-charts
cd fantastic-charts
helm pull stable/nginx-ingress  拉一个chart包来测试,默认已安装helm并添加了chart仓库

#生成索引,这里注意必须在自定义chart包目录的上一级才能执行,成功执行后会在fantastic-charts目录中生成一个index.yaml文件
cd ..
helm repo index fantastic-charts --url http://47.243.230.1xx:8090/fantastic-charts

#添加自定义chart仓库
helm repo add fantastic-charts http://47.243.230.1xx:8090/fantastic-charts