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

三分钟入门Helm工具

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

相关组件

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

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

优点

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

工作流程(v3)

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

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

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

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

chart

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

release

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

Repoistory

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

流程相关

Chart Install 过程:

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

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

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

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

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

安装

github 地址:JmB28资讯网——每日最新资讯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:JmB28资讯网——每日最新资讯28at.com

helm create nginxtree nginx

图片图片JmB28资讯网——每日最新资讯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   #给模板文件使用的变量。JmB28资讯网——每日最新资讯28at.com

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

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

helm install -f values.yaml nginx1 .

查询release

helm ls helm list

删除release

helm delete nginx1


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

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

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

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

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

标签:
  • 热门焦点
  • 6月iOS设备好评榜:第一蝉联榜首近一年

    作为安兔兔各种榜单里变化最小的那个,2023年6月的iOS好评榜和上个月相比没有任何排名上的变化,仅仅是部分设备好评率的下降,长年累月的用户评价和逐渐退出市场的老款机器让这
  • 一加首款折叠屏!一加Open渲染图出炉:罕见单手可握小尺寸

    8月5日消息,此前就有爆料称,一加首款折叠屏手机将会在第三季度上市,如今随着时间临近,新机的各种消息也开始浮出水面。据悉,这款新机将会被命名为“On
  • 三言两语说透设计模式的艺术-简单工厂模式

    一、写在前面工厂模式是最常见的一种创建型设计模式,通常说的工厂模式指的是工厂方法模式,是使用频率最高的工厂模式。简单工厂模式又称为静态工厂方法模式,不属于GoF 23种设计
  • 之家push系统迭代之路

    前言在这个信息爆炸的互联网时代,能够及时准确获取信息是当今社会要解决的关键问题之一。随着之家用户体量和内容规模的不断增大,传统的靠"主动拉"获取信息的方式已不能满足用
  • 一文掌握 Golang 模糊测试(Fuzz Testing)

    模糊测试(Fuzz Testing)模糊测试(Fuzz Testing)是通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。可以用来发现应用程序、操作系统和网络协议等中的漏洞或
  • 使用Webdriver-manager解决浏览器与驱动不匹配所带来自动化无法执行的问题

    1、前言在我们使用 Selenium 进行 UI 自动化测试时,常常会因为浏览器驱动与浏览器版本不匹配,而导致自动化测试无法执行,需要手动去下载对应的驱动版本,并替换原有的驱动,可能还
  • 从零到英雄:高并发与性能优化的神奇之旅

    作者 | 波哥审校 | 重楼作为公司的架构师或者程序员,你是否曾经为公司的系统在面对高并发和性能瓶颈时感到手足无措或者焦头烂额呢?笔者在出道那会为此是吃尽了苦头的,不过也得
  • JVM优化:实战OutOfMemoryError异常

    一、Java堆溢出堆内存中主要存放对象、数组等,只要不断地创建这些对象,并且保证 GC Roots 到对象之间有可达路径来避免垃 圾收集回收机制清除这些对象,当这些对象所占空间超过
  • iQOO 11S或7月上市:搭载“鸡血版”骁龙8Gen2 史上最强5G Soc

    去年底,iQOO推出了“电竞旗舰”iQOO 11系列,作为一款性能强机,iQOO 11不仅全球首发2K 144Hz E6全感屏,搭载了第二代骁龙8平台及144Hz电竞屏,同时在快充
Top