安装Helm
---
下载压缩包并解压
---
| 12
 
 | [root@k8s-master k8s-install]# wget https://get.helm.sh/helm-v3.16.2-linux-amd64.tar.gz[root@k8s-master k8s-install]# tar -zxvf helm-v3.16.2-linux-amd64.tar.gz
 
 | 
移动到环境变量目录中
---
| 12
 3
 4
 
 | [root@k8s-master k8s-install]# mv linux-amd64/helm /usr/local/bin/ # 加载环境变量
 [root@k8s-master k8s-install]# source <(helm completion bash) >> ~/.bash_profile
 [root@k8s-master k8s-install]# source ~/.bash_profile
 
 | 
验证
---
| 12
 
 | [root@k8s-master k8s-install]# helm versionversion.BuildInfo{Version:"v3.16.2", GitCommit:"3a31588ad33fe3b89af5a2a54ee1d25bfe6eaa5e", GitTreeState:"clean", GoVersion:"go1.20.7"}
 
 | 
添加Helm的官方仓库
---
添加官方Charts仓库
---
| 1
 | [root@k8s-master k8s-install]# helm repo add stable https://charts.helm.sh/stable
 | 
查看官方Charts仓库
---
| 1
 | [root@k8s-master k8s-install]# helm search repo stable
 | 
安装helm dashboard
前提条件
+ 部署nfs共享存储,参考文档:[https://www.cuiliangblog.cn/detail/section/116191364](https://www.cuiliangblog.cn/detail/section/116191364)
+ 部署ingress,参考文档:[https://www.cuiliangblog.cn/detail/section/140101250](https://www.cuiliangblog.cn/detail/section/140101250)
部署
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 
 | [root@k8s-master k8s-install]# kubectl create ns helm[root@k8s-master k8s-install]# helm repo add komodorio https://helm-charts.komodor.io
 [root@master1 k8s-install]# helm pull komodorio/helm-dashboard --untar
 [root@master1 k8s-install]# cd helm-dashboard/
 [root@master1 helm-dashboard]# ls
 Chart.yaml  README.md  templates  values.yaml
 [root@master1 helm-dashboard]# vim values.yaml
 dashboard:
 persistence:
 storageClass: nfs-client # 指定使用nfs存储
 [root@k8s-master k8s-install]# helm install helm-dashboard -n helm . -f values.yaml
 NAME: helm-dashboard
 LAST DEPLOYED: Mon Sep 25 22:43:38 2023
 NAMESPACE: helm
 STATUS: deployed
 REVISION: 1
 NOTES:
 Thank you for installing Helm Dashboard.
 Helm Dashboard can be accessed:
 * Within your cluster, at the following DNS name at port 8080:
 
 helm-dashboard.helm.svc.cluster.local
 
 * From outside the cluster, run these commands in the same shell:
 
 export POD_NAME=$(kubectl get pods --namespace helm -l "app.kubernetes.io/name=helm-dashboard,app.kubernetes.io/instance=helm-dashboard" -o jsonpath="{.items[0].metadata.name}")
 export CONTAINER_PORT=$(kubectl get pod --namespace helm $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
 echo "Visit http://127.0.0.1:8080 to use your application"
 kubectl --namespace helm port-forward $POD_NAME 8080:$CONTAINER_PORT
 
 Visit our repo at:
 https://github.com/komodorio/helm-dashboard
 
 | 
添加ingress资源
---
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 
 | [root@master1 helm-dashboard]# cat ingress.yaml apiVersion: traefik.io/v1alpha1
 kind: IngressRoute
 metadata:
 name: helm-dashboard
 namespace: helm
 spec:
 entryPoints:
 - web
 routes:
 - match: Host(`helm.local.com`) # 域名
 kind: Rule
 services:
 - name: helm-dashboard  # 与svc的name一致
 port: 8080     # 与svc的port一致
 [root@master1 helm-dashboard]# kubectl apply -f ingress.yaml
 ingressroute.traefik.containo.us/helm-dashboard created
 
 | 
访问验证
---
添加hosts解析记录<font style="background-color:rgba(255, 255, 255, 0);">helm.local.com 192.168.10.10</font>,然后访问验证
