一部署helm
1 安装helm

2 配置helm命令补齐

二helm常用操作
命令 | 描述 |
---|---|
create | 创建一个 chart 并指定名字 |
dependency | 管理 chart 依赖 |
get | 下载一个 release。可用子命令:all、hooks、manifest、notes、values |
history | 获取 release 历史 |
install | 安装一个 chart |
list | 列出 release |
package | 将 chart 目录打包到 chart 存档文件中 |
pull | 从远程仓库中下载 chart 并解压到本地 # helm pull stable/mysql -- untar |
repo | 添加,列出,移除,更新和索引 chart 仓库。可用子命令:add、index、 list、remove、update |
rollback | 从之前版本回滚 |
search | 根据关键字搜索 chart。可用子命令:hub、repo |
show | 查看 chart 详细信息。可用子命令:all、chart、readme、values |
status | 显示已命名版本的状态 |
template | 本地呈现模板 |
uninstall | 卸载一个 release |
upgrade | 更新一个 release |
version | 查看 helm 客户端版本 |
2.1 查询官方应用中心
helm search hub nginx #在官方仓库中搜索
helm search repo nginx #在本地仓库中搜索
2.2 管理第三方repo源
-
阿里云仓库:https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
-
bitnami仓库: https://charts.bitnami.com/bitnami
#添加微软仓库

#查看仓库信息

#查看仓库存储helm清单

#删除第三方存储库
helm repo remove aliyun
2.3 helm的使用方法
1 查找chart

2 查看chart信息

3 安装chart 包
helm install bitnami/nginx
#卸载项目
helm uninstall
2.4 安装项目前预定义项目选项
#拉取项目
helm pull bitnami/nginx

vim values.yaml

#上传项目所需要镜像到仓库

#安装本地项目


#更新项目
vim values.yaml




#查看历史

#删除项目

三 构建helm中的chart包
3.1 Helm Chart目录结构
#建立chart项目

timinglee/
├── charts #目录里存放这个chart依赖的所有子chart。
├── Chart.yaml #用于描述这个 Chart 的基本信息
#包括名字、描述信息以及版本等。
├── templates #目录里面存放所有 yaml 模板文件。
│ ├── deployment.yaml
│ ├── _helpers.tpl #放置模板助手的地方,可以在整个 chart 中重复使用
│ ├── hpa.yaml
│ ├── ingress.yaml
│ ├── NOTES.txt
│ ├── serviceaccount.yaml
│ ├── service.yaml
│ └── tests
│ └── test-connection.yaml
└── values.yaml #用于存储 templates 目录中模板文件中用到变量的值
3.2 构建方法
vim Chart.yaml

vim values.yaml
image:
repository: myapp
pullPolicy: IfNotPresent
tag: "v1"
ingress:
enabled: true
className: "nginx"
annotations: {}
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: "true"
hosts:
- host: myapp.timinglee.org
paths:
- path: /
pathType: ImplementationSpecific
#语法检测

#项目打包

#项目可以通过各种分享方式发方为任何人后部署即可


四 构建helm仓库
4.1 在harbor仓库中构建一个公开的项目

4.2 安装helm push插件
4.2.1 在线安装
root@k8s-master helm\]# dnf install git -y \[root@k8s-master helm\]# helm plugin install https://github.com/chartmuseum/helm-push
4.2.2 离线安装
#创建helm plugin的存放目录
mkdir ~/.local/share/helm/plugins/helm-push -p
#解压push插件包到指定目录

#查看helm调用命令是否成功

4.3 上传项目到仓库
4.3.1 添加仓库
#添加仓库时报错,因为我们用的是加密访问

#为helm添加证书

#更新本地ca认证库

#再次添加仓库


4.3.2 上传本地项目

#查看项目上传情况

#更新仓库

#再次查看

五 helm的版本迭代
5.1 从新构建新版本项目
vim timinglee/Chart.yaml

vim timinglee/values.yaml
tag: "v2"

5.2 上传项目到helm仓库中

5.3 更新应用
#1.更新

#显示项目版本

#2.应用回滚
