什么是helm?

deplyment service ingress helm的作用就是通过打包的方式,把deplyment service ingress这些打包在一块,一键式的部署服务。类似yum

官方提供的一个类似与安装仓库的功能,可以实现一键化部署应用。

helm的概念:

三个部分组成:

chart:helm的软件包,部署包,service ingress,定义好的yaml资源。类似于yum的rpm包

Release:可以理解为版本,也可以理解为在安装过程中,给这个部署的应用起一个名字

Repository:仓库。提供一个服务器,服务器中包含chart的资源。yaml资源的保存的地址

helm2  helm3

helm3是纯命令行方式

[root@master01 linux-amd64]# helm install my-nginx bitnami/nginx

 helm install:安装

my-nginx:release 安装的名称或者版本

bitnami/dginx:bitnami:bitnami仓库名,nginx就是chart 一系列yaml资源的集合

helm自定义模板:

根据自己的需求,定义chart。然后部署到集群当中去

[root@master01 helm]# tree nginx

nginx

├── charts

├── Chart.yaml

├── templates

│   ├── deployment.yaml

│   ├── _helpers.tpl

│   ├── hpa.yaml

│   ├── ingress.yaml

│   ├── NOTES.txt

│   ├── serviceaccount.yaml

│   ├── service.yaml

│   └── tests

│       └── test-connection.yaml

└── values.yaml

3 directories, 10 files

chart:用于存储依赖,如果这个chart依赖于其他的chart,以来文件保存在这个目录

Chart.yaml:helm chart的元数据文件,包含了这个chart的名称、版本、维护者信息等等

templates:包含清单模板的目录

deployment.yaml:部署应用的模板文件

_helpers.tpl:帮助文档。告诉用户如何定义模板的值

hpa.yaml:定义了应用程序副本数的扩缩容行为

ingress.yaml:定义了外部流量如何转发到应用程序

NOTES.txt:注意事项

serviceaccount.yaml:应用程序的服务账号

service.yaml:集群内部的访问

tests -- test-connection.yaml:测试的目录和文件,部罢完chart之后,用来测试的文件

values.yaml:核心文件。自定义的值,都是通过values。yaml,把我们的数据覆盖到安装的chart

helm install nginx-11 ./nginx --dry-run --debug

helm install 安装chart

nginx-11: release 版本号

/nginx:当前目录下的nginx的chart

-dry-run --debug: 这个chart不会被部署到集群当中,参数验证,测试chart的配置是否正确

修改chart之后重新部署

回滚

上传harbor

helm就是一个部署微服务的工具,可以跳过繁琐的自定义yaml过程,一键式的拉取和部署好所有自定义或者模版定义的服务

helm的常用命令:

helm repo add 仓库名 url地址

helm repo update 不加仓库名,就是更新所有仓库

helm repo list 仓库列表

hele repo remove 仓库名称

helm show chart stable/neinx 查看chart信息

     helm show all stable/nginx 查看详细信息

helm install nginx-11 stable/nginx -n lucky-cloud 安装chart,安装官网的默认版本

helm uninstall nginx-11 删除安装好的chart

helm list 查看已经安装chart

自定义模版:

helm create nginx 创建一个自定义的chart模版

values.yaml: 这里值会传给templates里面的yaml文件

helm install nginx-11 ./nginx

helm install nginx-11 ./nginx-0.1.0.tgz

如何打包创建好的chart:

helm package nginx

回滚:

helm history nginx-11

helm rollback nginx-11 1

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐