自己编写Helm Chart

一.构建一个 Helm Chart

helm create mychart
tree mychart/

在这里插入图片描述

cd mychart/
vim Chart.yaml  #编写mychart的应用描述信息,修改app版本,和包版本
vim values.yaml  #编写应用部署信息

在这里插入图片描述

helm lint mychart/  #检查依赖和模板配置是否正确
helm package mychart/  #打包
helm install demo mychart-1.1.0.tgz  #安装

在这里插入图片描述

拉伸
helm show values mychart  #查看变量定义的值
helm upgrade demo mychart-1.1.0.tgz --set replicaCount=3
helm history demo

在这里插入图片描述

二.建立本地chart仓库

helm-push插件下载

1.安装helm-push插件
get helm-push_0.9.0_linux_amd64.tar.gz
helm env  #获取插件目录
mkdir -p /root/.local/share/helm/plugins/push
tar zxf helm-push_0.9.0_linux_amd64.tar.gz -C /root/.local/share/helm/plugins/push

TLS仓库
cd /etc/docker/certs.d/reg.westos.org/
cp ca.crt /etc/pki/ca-trust/source/anchors/
update-ca-trust

2.添加本地仓库
helm repo add test1 https://reg.westos.org/chartrepo/charts
helm repo list

在这里插入图片描述

3.上传
helm push mychart-1.1.0.tgz test1 --insecure -u admin -p westos
helm repo update
helm search repo mychart  #查看上传的mychart应用

在这里插入图片描述
在这里插入图片描述

三.本地仓库部署

4.本地仓库部署
helm install demo1 test1/mychart --set replicaCount=3
curl 10.108.235.191
curl 10.108.235.191/hostname.html

在这里插入图片描述
在这里插入图片描述

5.升级 app后端服务版本
helm upgrade demo1 test1/mychart --set image.tag=v2

在这里插入图片描述

6.升级整个包版本
vim /root/helm/mychart/values.yaml

在这里插入图片描述
在这里插入图片描述
vim /root/helm/mychart/Chart.yaml
在这里插入图片描述

7.打包上传
helm package mychart/
helm push mychart-2.1.0.tgz test1 --insecure -u admin -p westos
helm repo update
helm search repo mychart -l

8.更新
kubectl get all -n ingress-nginx  #ingress+metallb使其暴露在外网
helm upgrade demo1 test1/mychart

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

扫描二维码关注公众号,回复: 12793097 查看本文章
9.测试,外部访问
vim /etc/hosts
172.25.2.101 test.westos.org
curl test.westos.org

在这里插入图片描述

10.回滚
helm history demo1
helm rollback demo1 1  #1版本没有对外暴露服务,只能集群内访问
kubectl get svc
curl 10.108.235.191

在这里插入图片描述
之前部署的metrics,nfs-client-provisioner,也可以用helm部署

猜你喜欢

转载自blog.csdn.net/qq_49564346/article/details/114383312