Helm架构
1.Helm架构是什么样的
helm CLI
Chart
Release
2.Helm CLI是什么
命令行工具 管理Chart 与Helm仓库交互 模版渲染
3.Chart的作用是什么
模版,里面包含
chart.yaml chart的元数据
values.yaml 可配置参数
templates 模版文件
charts 依赖库
4.chart中各个文件的作用
1.chart 记录chart的信息 版本什么的
2.values 放配置的 镜像,端口,副本个数等
3.template 模版目录 有service deployment
4.charts 依赖库 例如依赖数据库 就会把数据库下载到这里
5.helmigore 和.gitigore 告诉helm 哪些文件不需要打包
6.Notes.txt 安装chart后的提示
5.release的作用是什么
表示在集群中的一次部署(安装)记录
Helm打包go服务
1.步骤是什么
1.helm create my-go-app 会生成 chart 目录 文件是上面的文件
2.修改chart中的deployment
3.修改values中的配置
4.修改service
5.打包helm chart helm package . 会生成 .tgz 包
6.部署到k8s 通过 helm install my-go-release ./my-go-app-0.1.0.tgz
7.升级或回滚: helm rollback helm upgrade
2.部署的步骤
# 构建镜像
docker build -t my-docker-user/my-go-app:latest .
# 推送到仓库(比如 DockerHub)
docker push my-docker-user/my-go-app:latest
# 安装 Helm Chart
helm install my-go-release ./my-go-app
# 查看 Pod
kubectl get pods
# 端口转发访问
kubectl port-forward svc/my-go-app-my-go-release 8080:80
curl http://localhost:8080
# 查看安装过的 release
helm list
# 查看 release 的历史版本
helm history my-go-release
# 回滚到上一个版本
helm rollback my-go-release 1