Helm:
什么是helm,在没有这个heml之前,deployment service ingress的作用就是通过打包的方式,把deployment service ingress这些打包在一块,一键式的部署服务,类似于yum
官方提供的一个类似于安全仓库的功能,可以实现一键化部署应用
三个部分组成:
Chart helm的软件包,部署包,service ingress,定义好的yaml资源,类似于yum的rpm包
Release: 可以理解为版本,也可以理解为在安装过程中,这个部署的应用起一个名字
Repository:仓库,提供一个服务器,服务器中包含chart的资源,yaml资源的保存的本地地址
下载 helm3

添加自动补齐

source <(helm completion bash)


安装仓库
直接复制命令

helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add stable http://mirror.azure.cn/kubernetes/charts
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
helm repo add incubator https://charts.helm.sh/incubator
如何查看仓库列表:

如何更新:

查询bitnami是否有nginx的资源

同理查其他
查看简要:

查看所有信息

如何安装:


Helm install:安装
My-nginx:release安装的名称或者版本
Bitnami/nginx:bitnami仓库名,nginx就是chart一系列yaml资源的集合
如何删除:

查看

删除

如何在 helm自定义模板:
根据自己的需求,定义chart,然后部署到集群当中去


Charts:用于存储依赖,如果这个chart依赖于其他的chart,依赖文件保存在这个目录
Chart.yaml:helm chart的元数据,包含了这个chart的名称,版本维护者信息等等
Template:包含清单模板的目录
Deployment.yaml部署应用的模板文件
Helpers.tpl帮助文档,告诉用户如何实现缩行为
hpa.yaml:定义了应用程序副本数的扩缩容行为
ingress.yaml:定义了外部流量如和转发到应用形成
NOTES.txt:注意事项
serviceaccount.yaml:应用程序的服务账号
service.yaml集群内部的访问
test-connection.yaml:测试的目录和文件,部署完chart之后,用来测试文件
values.yaml:核心文件,自定义的值,都是通过values.yaml,把我们的数据覆盖到安装的chart





验证语法是否正确:不能在当前目录检测,必须要在上一级目录检测,否则报错

正确模式:

打包
如何部署

Helminstall:安装chart
Nginx-11:release版本号
./nginx:当前目录下的nginx的chart
--dry-run--debug:这个chart不会被部署到集群当中,参数验证,测试chart的配置是否正确
安装:


如和删除

一键部署,一键删除
两种安装方式,基于目录和基于安装包,效果是一样的
演示基于目录安装

测试访问是否正常:
地址映射


- 修改chart之后,如何重新部署
- 回滚
- 如何上传harbor仓库
演示修改重新部署









访问测试

演示回滚:

演示上传harbor



重新安装一下即可
./ install

回到主节点:


打包

上传仓库

报错,系统识别不了证书
要加个代码

上传成功:

如何从镜像当中拉取
直接复制

下载即可
