当前位置:首页 > 科技  > 软件

三分钟入门Helm工具

来源: 责编: 时间:2024-05-16 17:43:38 17观看
导读相关组件helm 是一个命令行工具,用于本地开发及管理chart,chart仓库管理等。helm 本质就是一个K8s包管理器。优点简化部署 :Helm允许使用单个命令轻松部署和管理应用程序,从而简化了整个部署过程;高度可配置:Helm Charts提

相关组件

helm 是一个命令行工具,用于本地开发及管理chart,chart仓库管理等。zug28资讯网——每日最新资讯28at.com

helm 本质就是一个K8s包管理器。zug28资讯网——每日最新资讯28at.com

优点

  • 简化部署 :Helm允许使用单个命令轻松部署和管理应用程序,从而简化了整个部署过程;
  • 高度可配置:Helm Charts提供了高度可配置的选项,可以轻松自定义和修改应用程序的部署配置;
  • 版本控制 :Helm允许管理应用程序的多个版本,从而轻松实现版本控制和回滚;
  • 模板化:Helm Charts使用YAML模板来定义Kubernetes对象的配置,从而简化了配置过程,并提高了可重复性和可扩展性;
  • 应用程序库:Helm具有应用程序库的概念,可以轻松地共享和重用Helm Charts,从而简化了多个应用程序的部署和管理;
  • 插件系统:Helm拥有一个强大的插件系统,允许您扩展和定制Helm的功能,以满足特定的需求和要求。

工作流程(v3)

图片图片zug28资讯网——每日最新资讯28at.com

开发者首先创建并编辑chart的配置;
接着打包并发布至Helm的仓库(Repository);
当管理员使用helm命令安装时,相关的依赖会从仓库下载;
接着helm会根据下载的配置部署资源至k8s;zug28资讯网——每日最新资讯28at.com

Tiller (helm3 已经移除 helm直接和k8s交互)

Helm 的服务端。Tiller 负责接收 Helm 的请求,与 k8s 的 apiserver 交互,根据chart 来生成一个 release 并管理 release 部署在 Kubernetes 集群中。Tiller 用于接收 Helm 的请求,并根据 Chart 生成 Kubernetes 的部署文件( Helm 称为 Release ),然后提交给 Kubernetes 创建应用。Tiller 还提供了 Release 的升级、删除、回滚等一系列功能。zug28资讯网——每日最新资讯28at.com

chart

Helm 的软件包,采用 TAR 格式。类似于 APT 的 DEB 包或者 YUM 的 RPM 包,其包含了一组定义 Kubernetes 资源相关的 YAML 文件。zug28资讯网——每日最新资讯28at.com

release

使用 helm install 命令在 Kubernetes 集群中部署的 Chart 称为 Release。zug28资讯网——每日最新资讯28at.com

Repoistory

Helm chart 的仓库,Helm 客户端通过 HTTP 协议来访问存储库中 chart 的索引文件和压缩包 Repository 本质上是一个 Web 服务器,该服务器保存了一系列的 Chart 软件包以供用户下载,并且提供了一个该 Repository 的 Chart 包的清单文件以供查询。Helm 可以同时管理多个不同的 Repository。zug28资讯网——每日最新资讯28at.com

流程相关

Chart Install 过程:

1:Helm从指定的目录或者tgz文件中解析出Chart结构信息2:Helm将指定的Chart结构和Values信息通过gRPC传递给Tiller3:Tiller根据Chart和Values生成一个Release4:Tiller将Release发送给Kubernetes用于生成Release

Chart Update过程:zug28资讯网——每日最新资讯28at.com

1:Helm从指定的目录或者tgz文件中解析出Chart结构信息2:Helm将要更新的Release的名称和Chart结构,Values信息传递给Tiller3:Tiller生成Release并更新指定名称的Release的History4:Tiller将Release发送给Kubernetes用于更新Release

Chart Rollback过程:zug28资讯网——每日最新资讯28at.com

1:Helm将要回滚的Release的名称传递给Tiller2:Tiller根据Release的名称查找History3:Tiller从History中获取上一个Release4:Tiller将上一个Release发送给Kubernetes用于替换当前Release

安装

github 地址:zug28资讯网——每日最新资讯28at.com

https://github.com/helm/helm/releases

Helm 客户端

k8s所有节点 

yum install -y socat

主节点

wget https://get.helm.sh/helm-v3.4.0-linux-amd64.tar.gz tar xf helm-v3.4.1-linux-amd64  ln -s /usr/local/linux-amd64/helm /usr/local/bin/helm

仓库配置

# 添加公用的仓库[bigdata@k8s-master module]$ helm repo add bitnami https://charts.bitnami.com/bitnami# 配置helm阿里源地址[bigdata@k8s-master module]$ helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/chartshelm repo update  helm repo llist

使用

安装一个nginx:zug28资讯网——每日最新资讯28at.com

helm create nginxtree nginx

图片图片zug28资讯网——每日最新资讯28at.com

nginx/├── charts   #依赖其他包的charts文件├── Chart.yaml   # 该chart的描述文件,包括ico地址,版本信息等├── templates   #存放k8s模板文件目录│   ├── deployment.yaml   #创建k8s资源的yaml 模板│   ├── _helpers.tpl   #下划线开头的文件,可以被其他模板引用.│   ├── hpa.yaml   # 配置服务资源CPU 内存│   ├── ingress.yaml   # ingress 配合service域名访问的配置│   ├── NOTES.txt   #说明文件,helm install之后展示给用户看的内容│   ├── service.yaml   #kubernetes Serivce yaml 模板└── values.yaml   #给模板文件使用的变量

 values.yaml   #给模板文件使用的变量。zug28资讯网——每日最新资讯28at.com

修改values.yam 里的service的type为 NodePort。zug28资讯网——每日最新资讯28at.com

安装chart任务 (注意后面有个点)

helm install -f values.yaml nginx1 .

查询release

helm ls helm list

删除release

helm delete nginx1


zug28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-88568-0.html三分钟入门Helm工具

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 使用Cargo的特性来优化你的Rust项目

下一篇: 一文搞懂:什么是SSR、SSG、CSR?前端渲染技术全解析

标签:
  • 热门焦点
Top