helm的介绍和安装

1 helm概述

1.1 资源对象难以管理的问题

helm是k8s资源清单的管理工具,它就像Linux下的包管理器,比如centos的yum,ubuntu的apt

helm:命令行工具,主要用于k8s的chart的创建,打包,发布和管理。

chart:应用描述,一系列用于描述k8s资源相关文件的集合。

release:基于chart的部署实体,一个chart被helm运行后会生成一个release实体。这个release实体会在k8s集群中创建对应的资源对象。

(1)资源清单过多,不容易管理,如何将这些资源清单当成一个整体的服务进行管理?

  • deploy、ds、rs、cm、secret、pv、Pvc、sc

(2)如何实现应用的版本管理,比如发布,回滚到指定版本?

(3)如何实现资源清单文件到高效复用?

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

官方中文文档:https://helm.sh/zh/docs/

2 安装helm

1.2 helm版本区别

在这里插入图片描述

建议选择v3版本。v2需要部署一个名为 Tiller 的服务在集群中,它负责接收用户的指令,管理 Chart 的安装和升级。

Tiller 需要集群级别的权限,因此增加了潜在的安全风险

Helm v3移除了 Tiller,Helm 的客户端直接与 Kubernetes API 交互。

1.3 helm的安装

官方下载地址: https://helm.sh/docs/intro/install/

	4.1 下载helm软件包
wget https://get.helm.sh/helm-v3.15.3-linux-amd64.tar.gz2 解压软件包,直接把二进制命令放到 /usr/bin 即可
[root@master231 ~]# tar xf helm-v3.15.3-linux-amd64.tar.gz -C /usr/local/bin/  linux-amd64/helm --strip-components=1
[root@master231 ~]# 
[root@master231 ~]# ll /usr/local/bin/helm 
-rwxr-xr-x 1 1001 127 52445336 Jul 11 03:29 /usr/local/bin/helm*
[root@master231 ~]# .3 查看帮助信息
[root@master231 ~]# helm help
...completion:生成命令补全的功能。使用"source <(helm completion bash)"create:创建一个chart并指定名称。dependency:管理chart依赖关系。env:查看当前客户端的helm环境变量信息。get:下载指定版本的扩展信息。help:查看帮助信息。history:获取发布历史记录。install:安装chart。lint:检查chart中可能出现的问题。list:列出releases信息。package:将chart目录打包到chart存档文件中。plugin:安装、列出或卸载Helm插件。pull:从存储库下载chart并将其解包到本地目录。repo:添加、列出、删除、更新和索引chart存储库。rollback:将版本回滚到以前的版本。search:在chart中搜索关键字。show:显示chart详细信息。status:显示已有的"RELEASE_NAME"状态。template:本地渲染模板。test:运行版本测试。uninstall:卸载版本。upgrade:升级版本。verify:验证给定路径上的chart是否已签名且有效version:查看客户端版本。

4.添加自动补全功能-新手必备

# 仅对当前会话有效,开启自动补全功能 
source <(helm completion bash)# 对新打开的会话生效,开启自动补全功能
helm completion bash > /etc/bash_completion.d/helm

1.4.1 创建一个Chart

[root@master23105-helm]# pwd
/k8s/05-helm
[root@master23105-helm]# helm create zhiyong18-web[root@master23105-helm]# ll zhiyong18-web/
charts/ 
Chart.yaml
.helmignore  # 包含打包Helm charts时要忽略的模式。说白了,就是用于忽略的文件。
templates/ 
values.yaml 

可以暂时理解为ansible的playbook

  • **charts目录:**用于存放当前 Chart 的依赖,如果当前 Chart 依赖于其他 Chart(例如数据库或共享服务),依赖 Chart 会被放在这个目录中;使用 helm dependency update 下载依赖后,会自动存储在此目录中。目录为空,表明该 Chart 没有定义任何依赖关系

  • **Chart.yaml 文件:**用于定义 Chart 的元数据,包含 Chart 的基本信息,如名称、版本、描述、API 版本等。用于标识 Chart 和管理版本

  • **templates/ 目录:**用于存放 Kubernetes 资源模板,如Kubernetes 资源(如 Deployment、Service、ConfigMap 等)的模板文件

    • 默认情况下,Helm 创建的 Chart 包含一些基本模板:
    • deployment.yaml:用于生成 Deployment 资源
    • service.yaml:用于生成 Service 资源
    • _helpers.tpl:包含模板片段,用于复用逻辑或变量
  • **values.yaml 文件:**用于定义模板中用到的默认变量值,模板文件会通过 .Values 引用 values.yaml 中的值

    • 举例:
    • replicaCount:用于定义 Deployment 的副本数
    • image字段:repository: 容器镜像地址,tag: 镜像版本,pullPolicy: 镜像拉取策略
    • service字段:type:Service 类型,如 ClusterIP、NodePort 等。port:服务暴露的端口

这个语法是不是非常眼熟,没错就是ansible的 .j2语法

[root@master23105-helm]# cat zhiyong18-web/templates/service.yaml
apiVersion: v1
kind: Service
metadata:name: {{ include "zhiyong18-web.fullname" . }}labels:{{- include "zhiyong18-web.labels" . | nindent 4 }}
spec:type: {{ .Values.service.type }}ports:- port: {{ .Values.service.port }}targetPort: httpprotocol: TCPname: httpselector:{{- include "zhiyong18-web.selectorLabels" . | nindent 4 }}

service的type类型就这几种 clusterIP、NodePort、loadblance、headless…。type: {{ .Values.service.type }}会去如下找对应的值。这样一来修改配置是不是就非常方便了。

[root@master23105-helm]# yy zhiyong18-web/values.yaml |grep -A 3 '^service:'
service:type: ClusterIPport: 80
ingress:
.。`type: {{ .Values.service.type }}`会去如下找对应的值。这样一来修改配置是不是就非常方便了。```yaml
[root@master23105-helm]# yy zhiyong18-web/values.yaml |grep -A 3 '^service:'
service:type: ClusterIPport: 80
ingress:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/494441.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

专业的内外网数据交换方案 可解决安全、效率、便捷3大问题

内外网数据交换是很多企业和行业都会面临的场景&#xff0c;既然隔离了内外网&#xff0c;重中之重就是要确保数据的安全性&#xff0c;其次在数据流转交换过程中&#xff0c;不能太繁琐复杂&#xff0c;需要让用户快速、便捷的进行数据交换。首先我们来看看&#xff0c;在进行…

2024 楚慧杯 re wp

go_bytes 附件拖入ida 输入长度为0x28&#xff0c;每两位字符的4bit拼接 与一个常量值经过运算后的值进行异或&#xff0c;并且判断是否相等 脚本 bouquet 附件拖入ida。简单去一下花 构建了一个二叉树&#xff0c;然后递归调用函数 重新排列一下再层序遍历读出即可 zistel 附件…

BERT模型入门(1)BERT的基本概念

文章目录 BERT是Bidirectional Encoder Representations from Transformers的首字母简写&#xff0c;中文意思是&#xff1a;Transformer的双向编码器表示。它是谷歌发布的最先进的嵌入模型。BERT在许多NLP任务中提供了更好的结果&#xff0c;如问答、文本生成、句子分类等&…

ECharts关系图-关系图11,附视频讲解与代码下载

引言&#xff1a; 关系图&#xff08;或称网络图、关系网络图&#xff09;在数据可视化中扮演着至关重要的角色。它们通过节点&#xff08;代表实体&#xff0c;如人、物体、概念等&#xff09;和边&#xff08;代表实体之间的关系或连接&#xff09;的形式&#xff0c;直观地…

java全栈day19--Web后端实战(java操作数据库3)

一、MyBatis 1.1介绍 前提引入&#xff1a; controller(控制层)作用&#xff1a;接受请求&#xff0c;响应数据 service(业务层)作用&#xff1a;负责具体的逻辑处理 dao(持久层)作用&#xff1a;数据访问层 一般的访问流程&#xff1a;浏览器发起请求过来&#xff0c;先…

Hmsc包开展群落数据联合物种分布模型分析通用流程(Pipelines)

HMSC&#xff08;Hierarchical Species Distribution Models&#xff09;是一种用于预测物种分布的统计模型。它在群落生态学中的应用广泛&#xff0c;可以帮助科学家研究物种在不同环境条件下的分布规律&#xff0c;以及预测物种在未来环境变化下的潜在分布范围。 举例来说&a…

PostgreSQL 的历史

title: PostgreSQL 的历史 date: 2024/12/23 updated: 2024/12/23 author: cmdragon excerpt: PostgreSQL 是一款功能强大且广泛使用的开源关系型数据库管理系统。其历史可以追溯到1986年,当时由加州大学伯克利分校的一个研究团队开发。文章将深入探讨 PostgreSQL 的起源、…

CSPM认证最推荐学习哪个级别?

一、什么是CSPM&#xff1f; CSPM的全称是Certified Strategic Project Manager&#xff0c;中文名称为“项目管理专业人员能力评价等级证书”。这是由中国标准化协会依据国家标准《项目管理专业人员能力评价要求》&#xff08;GB/T 41831-2022&#xff09;推出的一项认证&…

车载网关性能 --- GW ECU报文(message)处理机制的技术解析

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的…

IT运维的365天--021 服务器上的dns设置后不起作用

之前在内网搭建了一个和外网同域名的网站&#xff0c;开发同事今天告诉我&#xff0c;程序调试发现可能服务器不能正常访问自己内网的网站内容。于是&#xff0c;今天的故事开始了。 前面的文章在下面列出&#xff0c;当然不看也问题不大&#xff0c;今天的主题是&#xff1a;…

任务2 配置防火墙firewalld

基本概念 概述 支持动态更新防火墙规则 不重启即可创建、修改和删除规则 使用区域和服务来简化防火墙配置 区域 一组预定义的规则&#xff0c;防火墙策略集合&#xff08;或策略模板&#xff09; 把网络分配到不同的区域中&#xff0c;并为网络及其关联的网络接口或流量源…

FPGA(一)verilog语句基础

Verilog 是一种硬件描述语言&#xff08;HDL&#xff09;&#xff0c;常用于数字电路的设计、模拟和验证&#xff0c;特别是用于 FPGA 和 ASIC 的设计。Verilog 让设计者能够描述和模拟硬件系统的行为和结构&#xff0c;最终将其转化为硬件电路。 一、模块结构 Verilog 中的设计…

Asp.Net FrameWork 4.7.2 WebAPI 使用WebSocket协议

参考文章&#xff1a;Asp.net webApi 通过WebSocket推送消息给客户端&#xff0c;搭建一个即是服务端又是客户端的服务_c# webapi websocket-CSDN博客 WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455&#xff0c;并由…

网关的国际化改造

网关的国际化改造和web服务的改造有所不同。 问题 SpringCloud Gateway是基于reactor模型的&#xff0c;按照SpringBoot那套以及所尝试网上以及AI的i18n国际化方案&#xff0c;都没有成功。 解决问题 基本思路跟SpringBoot项目的i18n一样 通过MessageSource加载messages国际…

数据分析思维(五):分析方法——假设检验分析方法

数据分析并非只是简单的数据分析工具三板斧——Excel、SQL、Python&#xff0c;更重要的是数据分析思维。没有数据分析思维和业务知识&#xff0c;就算拿到一堆数据&#xff0c;也不知道如何下手。 推荐书本《数据分析思维——分析方法和业务知识》&#xff0c;本文内容就是提取…

5G学习笔记之Non-Public Network

目录 0. NPN系列 1. 概述 2. SNPN 2.1 SNPN概述 2.2 SNPN架构 2.3 SNPN部署 2.3.1 完全独立 2.3.2 共享PLMN基站 2.3.3 共享PLMN基站和PLMN频谱 3. PNI-NPN 3.1 PNI-NPN概述 3.2 PNI-NPN部署 3.2.1 UPF独立 3.2.2 完全共享 0. NPN系列 1. NPN概述 2. NPN R18 3. 【SNPN系列】S…

【专题】2024年悦己生活消费洞察报告汇总PDF洞察(附原数据表)

原文链接&#xff1a; https://tecdat.cn/?p38654 在当今时代背景下&#xff0c;社会发展日新月异&#xff0c;人们的生活方式与消费观念正经历深刻变革。MoonFox 月狐数据的《2024 年悦己生活消费洞察报告》聚焦于这一充满活力与变化的消费领域。随着就业、婚姻等社会压力的…

Latex+VsCode+Win10搭建

最近在写论文&#xff0c;overleaf的免费使用次数受限&#xff0c;因此需要使用本地的形式进行编译。 安装TEXLive 下载地址&#xff1a;https://mirror-hk.koddos.net/CTAN/systems/texlive/Images/ 下载完成直接点击iso进行安装操作。 安装LATEX Workshop插件 设置VsCode文…

模型 课题分离

系列文章 分享 模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。明确自我与他人责任。 1 课题分离的应用 1.1课题分离在心理治疗中的应用案例&#xff1a;李晓的故事 李晓&#xff0c;一位28岁的软件工程师&#xff0c;在北京打拼。他面临着工作、家庭和感情的多重…

panddleocr-文本检测+文本方向分类+文本识别整体流程

panddleocr-文本检测文本方向分类文本识别整体流程 通过文本检测–>文本方向分类–>文本识别&#xff0c;即可识别出0~360度的旋转文本。 文本检测的最小外接矩形框根据长宽可以看到90度的角度&#xff0c;而再加入文本方向分类就能扩展到180度的角度。