安装Helm¶
说明:我用的Kubernetes版本为1.23.17,考虑到后期会升级Kubernetes版本,所以helm版本为3.11
$ k get no
NAME STATUS ROLES AGE VERSION
k8s-master01 Ready <none> 208d v1.23.17
k8s-master02 Ready <none> 208d v1.23.17
k8s-master03 Ready <none> 208d v1.23.17
k8s-node01 Ready <none> 208d v1.23.17
k8s-node02 Ready <none> 208d v1.23.17
下载二进制包
$ wget https://get.helm.sh/helm-v3.11.3-linux-amd64.tar.gz
解压,改名并做软链接
$ tar zxf helm-v3.11.3-linux-amd64.tar.gz -C /opt/
$ mv /opt/linux-amd64/ /opt/helm
$ ln -s /opt/helm/helm /bin/
验证软链接
$ ll /bin/helm
lrwxrwxrwx 1 root root 14 Oct 5 22:00 /bin/helm -> /opt/helm/helm
测试,查看helm版本
$ helm version
version.BuildInfo{Version:"v3.11.3", GitCommit:"323249351482b3bbfc9f5004f65d400aa70f9ae7", GitTreeState:"clean", GoVersion:"go1.20.3"}
Helm常用命令¶
添加仓库,这样会把该仓库添加到本地
$ helm repo add bitnami https://charts.bitnami.com/bitnami
$ helm repo add helm_sh https://charts.helm.sh/stable
$ helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
更新仓库列表到本地
$ helm repo update
查看仓库列表
$ helm repo list
在本地添加的仓库里搜索所有chart
$ helm search repo
在本地的仓库里搜索mysql
$ helm search repo mysql
还可以从公共的hub里搜索chart,目的是找到合适的repo
$ helm search hub mysql
$ helm search hub mysql --list-repo-url ##查看对应repo的url
$ helm search hub mysql --max-col-width 100 #可以设置每一列的宽度,这样可以显示所有的描述信息
查看某个chart详细信息
$ helm show chart bitnami/mysql
查看某个chart values(这个values相当于是该cahrt的配置文件)
$ helm show values helm_sh/redis
安装chart (示例,安装nginx)
$ helm search repo nginx ##先搜一下
$ helm install nginx-test bitnami/nginx #这个nginx-test就是release名字,同时也是service和deployment/statefulset以及pod前缀
$ helm install bitnami/nginx --generate-name #让Helm帮忙定义release name,不常用
#其中install过程中会自动生成缓存目录: ~/.cache/helm/repository/
安装完后,查看用helm安装过的chart
$ helm list -A #-A会列出所有namespace里的release,不加-A只列default namespace里的release
卸载
$ helm uninstall nginx-test
下载一个chart包
$ helm pull bitnami/mysql #会下载一个tgz的压缩包
下载一个指定版本的chart包
$ helm pull bitnami/redis-cluster --version 7.5.0
利用本地的chart包,直接安装
$ tar zxf mysql-9.12.3.tgz
$ cd mysql
$ helm install test-mysql . #.代表找当前目录下的values.yaml文件