helm安装使用
1.helm官网
2.下载需要的版本.这里对照一下看看相对应的k8s版本
3.找到对应的版本后进行二进制包下载.
4.找到对应的包点击download 或者直接在linux中使用wget进行helm对应版本的下载
5.上传到linux中,并进行解压缩.
创建目录 mkdir -p helm 解压缩包 tar xf helm-v3.10.0-linux-amd64.tar.gz 进入到linux-helm中将helm可执行文件移动到usr/local/bin/helm中 cd linux-amd64/ mv helm /usr/local/bin/helm 查看helm版本 helm version
添加ingress-nginx的helm仓库这里因为无法通过虚拟机访问外网,所以使用的是阿里云的ingress-nginx仓库,
1.添加仓库
helm repo add aliyunhub https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/
2.查看仓库内的服务信息
[root@leader ~]$helm search repo aliyunhub|grep ingress aliyunhub/ack-ingress-nginx 3.23.5 0.44.0 For kubernetes version <= 1.20.0. Ingress contr... aliyunhub/ack-ingress-nginx-v1 4.0.17 v1.8.0-aliyun.1 For kubernetes version >= 1.22.0. Ingress contr... aliyunhub/ack-mse-ingress-controller 1.1.5 1.1.5
3.下载ingress-nginx安装包.
这里因为自己的虚拟机无法连接外网,所以就直接从github上找到的对应压缩包拖到宿主机上进行解压操作的.
Release helm-chart-4.4.2 · kubernetes/ingress-nginx · GitHub
这里使用的是4.4.2版本.
4.上传服务器并解压
#将压缩包上传到服务器目录中.(一般是master主机所在的目录) [root@leader /zpf/helm]$pwd /zpf/helm [root@leader /zpf/helm]$ls helm-v3.10.0-linux-amd64.tar.gz #解压上传后的压缩包 [root@leader /zpf/helm]$tar xf helm-v3.10.0-linux-amd64.tar.gz [root@leader /zpf/helm]$ls helm-v3.10.0-linux-amd64.tar.gz linux-amd64 #进入linux-amd64目录,这事helm可执行文件所在的目录 将内部的helm可执行文件移动到/usr/local/bin目录下.目的是可以被系统环境变量识别. [root@leader /zpf/helm/linux-amd64]$ls helm LICENSE README.md [root@leader /zpf/helm/linux-amd64]$mv helm /usr/local/bin/ [root@leader /usr/local/bin]$ls etcd etcdctl helm kubeadm kubectl kubelet kube-scripts #查看helm版本 [root@leader /usr/local/bin]$helm version version.BuildInfo{Version:"v3.10.0", GitCommit:"ce66412a723e4d89555dc67217607c6579ffcb21", GitTreeState:"clean", GoVersion:"go1.18.6"} 表示helm安装成功.
5.helm使用
#使用helm添加仓库信息.(可以添加) [root@leader /usr/local/bin]$helm repo add bitnami https://charts.bitnami.com/bitnami #使用helm查看仓库信息 [root@leader /usr/local/bin]$helm repo list NAME URL aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts aliyunhub https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts-incubator/ brigade https://brigadecore.github.io/charts bitnami https://charts.bitnami.com/bitnami #使用helm检索需要安装的服务包 [root@leader /usr/local/bin]$helm search repo redis NAME CHART VERSION APP VERSION DESCRIPTION bitnami/redis 18.1.5 7.2.1 Redis(R) is an open source, advanced key-value ... bitnami/redis-cluster 9.0.13 7.2.2 Redis(R) is an open source, scalable, distribut... #将可用的安装包下载到本地.并进行解压. [root@leader /usr/local/bin]$helm pull bitnami/redis [root@leader /zpf/helm]$ls ingress-nginx linux-amd64 redis-18.1.5.tgz [root@leader /zpf/helm]$tar xf redis-18.1.5.tgz redis [root@leader /zpf/helm]$ls linux-amd64 redis redis-18.1.5.tgz
修改redis-chart中的配置文件信息.其他
#修改Redis所需要的相关信息.(包括存储.副本数配置.pod资源配置信息,登陆密码.port暴漏方式等) global storageClass: "managed-nfs-storage" redis. password: "yaochizaocan" replica replicaCount: 3 persistence.size 1Gi service.nodePorts.redis
安装redis服务,(多副本)如果需要安装集群操作,可以直接使用集群的下载包.
#首先创建一个用于redis服务的命名空间. [root@leader /zpf/helm/redis]$kubectl create namespace redis #修改完成volume.yaml文件后安装Redis. [root@leader /zpf/helm/redis]$pwd /zpf/helm/redis [root@leader /zpf/helm/redis]$helm install redis ./ -n redis NAME: redis LAST DEPLOYED: Mon Oct 23 14:17:37 2023 NAMESPACE: redis STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: CHART NAME: redis CHART VERSION: 18.1.5 APP VERSION: 7.2.1 ** Please be patient while the chart is being deployed ** . . . kubectl port-forward --namespace redis svc/redis-master 6379:6379 & REDISCLI_AUTH="$REDIS_PASSWORD" redis-cli -h 127.0.0.1 -p 6379 看到这些内容表示服务启动中. #查看redis服务启动状态,因为Redis属于有状态的应用,所以这里会默认使用sts作为服务启动选项 [root@leader /zpf/helm/redis]$kubectl get sts -n redis NAME READY AGE redis-master 1/1 106s redis-replicas 3/3 106s #查看pod是否启动成功. [root@leader /zpf/helm/redis]$kubectl get po -n redis NAME READY STATUS RESTARTS AGE redis-master-0 1/1 Running 0 2m57s redis-replicas-0 1/1 Running 0 2m57s redis-replicas-1 1/1 Running 0 2m21s redis-replicas-2 1/1 Running 0 116s #版本升级 [root@leader /zpf/helm/redis]$helm upgrade redis ./ -n redis Release "redis" has been upgraded. Happy Helming! NAME: redis LAST DEPLOYED: Mon Oct 23 14:23:41 2023 NAMESPACE: redis STATUS: deployed REVISION: 2 TEST SUITE: None NOTES: CHART NAME: redis CHART VERSION: 18.1.5 APP VERSION: 7.2.1 ... #查看历史版本相关信息. [root@leader /zpf/helm/redis]$helm history redis -n redis REVISION UPDATED STATUS CHART APP VERSION DESCRIPTION 1 Mon Oct 23 14:17:37 2023 superseded redis-18.1.5 7.2.1 Install complete 2 Mon Oct 23 14:23:41 2023 superseded redis-18.1.5 7.2.1 Upgrade complete 3 Mon Oct 23 14:34:32 2023 deployed redis-18.1.5 7.2.1 Upgrade complete #版本回滚到上一个版本应用 [root@leader /zpf/helm/redis]$helm rollback redis -n redis Rollback was a success! Happy Helming! #回滚到指定版本应用,回滚到第一个版本. [root@leader /zpf/helm/redis]$helm rollback redis 1 -n redis Rollback was a success! Happy Helming! #卸载Redis服务应用两种方式.删除后历史版本就没有了.慎用 [root@leader /zpf/helm/redis]$helm uninstall redis -n redis release "redis" uninstalled [root@leader /zpf/helm/redis]$helm delete redis -n redis release "redis" uninstalled
如何使用helm应用到自己的服务中,有待于进一步的细化