Mychart的部署以及升级和回滚
- 1 部署mychart应用
- 2 版本升级
- 3 版本回滚
1 部署mychart应用
(1)创建helm包:helm create mychart
- 编辑文件:
vim mychart/values.yaml
,app的版本v1
(2)编辑文件:vim mychart/Chart.yaml
,app的版本v1
(2)安装helm-push插
- 获取插件目录:
helm env
- 创建push插件的目录:
mkdir /root/.local/share/helm/plugins/push -p
- 解压helm-push插件到指定目录:
tar zxf helm-push_0.9.0_linux_amd64.tar.gz -C /root/.local/share/helm/plugins/push
- 查看插件是否安装成功:
helm push
(3)将helm包上传仓库
- 将仓库证书复制到本地的认证目录:
cp /etc/docker/certs.d/reg.westos.org/ca.crt /etc/pki/ca-trust/source/anchors/
- 更新证书:
update-ca-trust
- 添加本地仓库:
helm repo add westos https://reg.westos.org/chartrepo/chart
- 将helm包上传至westos仓库:
helm push mychart-0.1.0.tgz westos --insecure -u admin -p westos
- helm包上传成功
- 更新本机的仓库缓存:
helm repo update
- 在本地仓库查找mychart包:
helm search repo mychart
(3)部署mychart应用到k8s集群:
helm install demo mychart-0.1.0.tgz
- 查看部署参数:
helm show values westos/mychart
- 测试:
kubectl get all
kubectl get svc
curl 10.110.140.56/hostname.html
2 版本升级
(1)通过--set
的方式升级
helm upgrade demo mychart-0.1.0.tgz --set replicaCount=2
## 副本的数量2
- 测试:部署后有两个pod副本
kubectl get all
curl 10.110.140.56/hostname.html
- 升级helm包mychart-0.1.0.tgz,副本数量为2,镜像的版本v2
helm upgrade demo mychart-0.1.0.tgz --set replicaCount=2,image.tag=v2
- 测试:
kubectl get svc
curl 10.110.140.56/hostname.html
- 查看demo的历史版本:
helm history demo
(2)通过修改应用文件的方式升级
- 编辑文件:
vim mychart/values.yaml
,修改副本的数目和镜像的版本
- 开启ingress的服务方式,dns的域名为demo.westos.org
- 编辑文件:
vim mychart/Chart.yaml
,应用的版本0.2.0,app的版本为v2
- 将修改后的文件打包:
helm package mychart
- 上传helm包到westos仓库:
helm push mychart-0.2.0.tgz westos --insecure -u admin -p westos
- 更新本地的helm仓库资源:
helm repo update
- 列出本地仓库中mychart的helm包:
helm search repo mychart -l
- 升级:
helm upgrade demo westos/mychart
,默认更新为westos本地仓库的最新版本
- 查看ingress-nginx命名空间服务的信息,外部访问的ip172.25.12.102
- 查看pod的信息:
测试:
- 编辑真机的dns解析文件:
vim /etc/hosts
- 测试:
curl demo.westos.org/hostname.html
- 查看demo的历史版本:
helm history demo
3 版本回滚
- 回滚到1版本:
helm rollback demo 1
- 测试:
- 查看demo的历史版本:
helm history demo