4 私有环境 Helm 基于 harbor 做 Helm Charts 部署 VM
前言:
在工作中我们会有业务部门需要使用到 helm 进行 vm 的部署,需要通过 harbor 来做 helm Charts 实现 helm repo 的这么一个功能
4.1 harbor 支持 helm chart 功能
Harbor 是一个主流的镜像仓库系统,在 v1.6 版本以后的 harbor 中新增加了 helm charts 的管理功能,可以存储Chart文件。
在下面的文章中我不在详细表述 harbor 部署的过程我们只需要在 ./install.sh --with-chartmuseum
该参数能够实现 harbor 对 helm charts 的支持
部署完毕之后会在 harbor 页面看到 helm charts 的选项
4.2 helm 打包 vm
# 添加 repo 仓库
helm repo add vm https://victoriametrics.github.io/helm-charts/
# 刷新仓库
helm repo update
# 拉取 chart 包
helm pull vm/victoria-metrics-cluster --version 0.11.4
# 拉取成功
ls victoria-metrics-cluster-0.11.4.tgz
4.3 将 chart 文件上传至 harbor
这里就是将我们刚才拉取的 victoria-metrics-cluster-0.11.4.tgz
上传至 harbor 中
4.4 配置 helm repo
需要将私有环境的 helm repo add 该 harbor 仓库
helm repo add testvm http://harbor-dev.xxx.com/chartrepo/testvm/
helm repo update
helm repo list
NAME URL
testvm http://harbor-dev.xxx.com/chartrepo/testvm/
# chartrepo 在 harbor 中是固定写法,不然无法识别 chart
4.5 修改 value.yaml 文件
这里需要修改 value.yaml 文件因为我们都知道在 helm 中所有的配置都在 value.yaml 中,这里修改的是仓库地址
# 获取 value.yaml
helm show values testvm/victoria-metrics-cluster > values.yaml
# 修改下列几个参数
# -- Image repository
repository: harbor-dev.xxx.com/testvm/vmselect
# -- Image repository
repository: harbor-dev.xxx.com/testvm/vminsert
# -- Image repository
repository: harbor-dev.xxx.com/testvm/vmstorage
4.6 部署并验证
# 创建 ns
kubectl create ns testvm
# 部署
helm install vmcluster testvm/victoria-metrics-cluster -f values.yaml -n testvm
# K8S 验证
kubectl get pod -n testvm
NAME READY STATUS RESTARTS AGE
vmcluster-victoria-metrics-cluster-vminsert-77f96998d4-crhhk 1/1 Running 0 51m
vmcluster-victoria-metrics-cluster-vminsert-77f96998d4-tcdff 1/1 Running 0 51m
vmcluster-victoria-metrics-cluster-vmselect-7bbcb75fd8-mn9f4 1/1 Running 0 51m
vmcluster-victoria-metrics-cluster-vmselect-7bbcb75fd8-pcjfp 1/1 Running 0 51m
vmcluster-victoria-metrics-cluster-vmstorage-0 1/1 Running 0 51m
vmcluster-victoria-metrics-cluster-vmstorage-1 1/1 Running 0 50m
# 查看 helm
helm list -n testvm
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
vmcluster testvm 1 2023-11-23 10:25:56.966588951 +0800 CST deployed victoria-metrics-cluster-0.11.4 v1.94.0