K8S—Helm

news2024/10/5 17:18:06

一、Helm介绍 

        helm通过打包的方式,支持发布的版本管理和控制,很大程度上简化了Kubernetes应用的部署和管理。

        Helm本质就是让k8s的应用管理(Deployment、Service等)可配置,能动态生成。通过动态生成K8S资源清单文件(deployment.yaml、service.yaml)。然后kubectl自动调用K8S资源部署。

        对于K8s来说,应用资源配置可以定义为K8s API对象,包括Deployment,Namespace,Service, PV(Persistent Volumes)和PVC(PersistentVolumeClaims)等等。通常一个应用的部署会涉及很多资源的共同协作,用户会定义这些API对象到一系列Yaml文件中,然后通过kubectl来逐一进行部署。

        那么问题来了,假如我没接触过K8s, 只想部署个应用了解下,不会写Yaml一个个配这些资源对象怎么破?需要去结合K8s文档学习Yaml语法。过了几天我终于学会了,一个个配好了这些资源对象的Yaml文件,并逐一部署在这台机器上。后面想在这台机器上再重复部署几套,另外还有十台环境要配成和这台一样,怎么办?拷贝过去再一一部署出来?这配置管理也太麻烦了,不好用,直接劝退!

        先别急!幸好已经有Helm,避免了我们去完成这些繁琐配置和维护过程。它能够把这些零零散散的应用资源文件放在一起进行统一配置,极大方便了开发人员对K8s集群应用的管理。

1、Helm 组件及相关术语 

       Helm是官方提供类似于YUM的包管理,是部署环境的流程封装,Helm有三个重要的概念:chart、release和Repository

  • Helm:Helm 是一个命令行下的客户端工具。主要用于 Kubernetes 应用程序 Chart 的创建、打包、发布以及创建和管理本地和远程的 Chart 仓库。
  • Tiller:Tiller 是 Helm 的服务端,部署在 Kubernetes 集群中。Tiller 用于接收 Helm 的请求,并根据 Chart 生成 Kubernetes 的部署文件( Helm 称为 Release ),然后提交给 Kubernetes 创建应用。Tiller 还提供了 Release 的升级、删除、回滚等一系列功能。
  • Chart:Helm 的软件包,采用 TAR 格式。类似于 APT 的 DEB 包或者 YUM 的 RPM 包,其包含了一组定义 Kubernetes 资源相关的 YAML 文件。Chart有特定的文件目录结构,如果开发者想自定义一个新的 Chart,只需要使用Helm create命令生成一个目录结构即可进行开发。
  • Repoistory:Helm 的软件仓库,Repository 本质上是一个 Web 服务器,该服务器保存了一系列的 Chart 软件包以供用户下载,并且提供了一个该 Repository 的 Chart 包的清单文件以供查询。Helm 可以同时管理多个不同的 Repository, 官方仓库的地址是https://hub.helm.sh。
  • Release:使用 helm install 命令在 Kubernetes 集群中部署的 Chart 称为 Release。

2、Helm工作原理

  • Chart Install 过程: 

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

  • Chart Update过程:

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

  • Chart Rollback过程:

Helm将要回滚的Release的名称传递给Tiller

Tiller根据Release的名称查找History
Tiller从History中获取上一个Release
Tiller将上一个Release发送给Kubernetes用于替换当前Release

二、Helm部署

        现在越来越多的公司和团队开始使用Helm这个Kubernetes的包管理器,我们也会使用Helm安装Kubernetes的常用组件。Helm由客户端命令helm工具和服务端tiller组成。

        helm的GitHub地址:https://github.com/helm/helm

方式一:使用官方提供的脚本一键安装

curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.sh
chmod 700 get_helm.sh
./get_helm.sh

方式二:手动下载安装

wget https://get.helm.sh/helm-v3.11.3-linux-amd64.tar.gz
tar -zxvf helm-v3.11.3-linux-amd64.tar.gz
cd linux-amd64/
cp helm /usr/local/bin/
echo "source <(helm completion bash)" >> ~/.bashrc
source ~/.bashrc

做完上述设置后即可使用helm search搜索官方helm hub chart库 

helm search hub nginx

添加第三方Chart库

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 bitnami https://charts.bitnami.com/bitnami

 查看Chart库

helm repo list

 可以使用helm search repo从你所添加的仓库中查找chart的名字

helm search repo nginx

三、helm部署nginx应用

拉取nginx Chart包并做相应配置

helm pull bitnami/nginx --version 14.1.1

解压nginx Chart包

tar -zxf nginx-14.1.1.tgz

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文笔润色-文本校对改写工具

文段改写软件 写作是一项对于很多人来说都需要频繁进行的活动&#xff0c;无论是工作中的商业写作还是学术写作&#xff0c;在完成优质内容的同时也需要付出大量的时间和精力进行语言润色和修改。然而&#xff0c;现在有了147ChatGPT改写润色软件&#xff0c;该软件可以全自动…

近期分享学习心得

1、数据类型 原始类型undefined null number string boolean symbol bigint 引用类型 对象 2、大厂为什么不允许赋值undifined&#xff1f; 必须let avoid 0;效果一样 void是关键字&#xff0c;后面跟表达式&#xff0c;无论跟啥最终制造undefined&#xff0c;但是习惯写0。…

动态规划设计

文章目录 动态规划设计一、什么是最长递增子序列&#xff1f;[300. 最长递增子序列](https://leetcode.cn/problems/longest-increasing-subsequence/)注意子序列和子串的区别&#xff1a; 二、动态规划解法2.1什么是数学归纳法&#xff1f;2.2最长递增子序列中数学归纳的实际应…

simulink电力系统仿真(1):电力系统库+(电力系统基础知识)

文章目录 基础知识仿真库搭建一个简单的电路 基础知识 ★三相交流电&#xff1a;三相电是三组幅值相等、频率相等、相位互相差120的交流电&#xff0c;由有三个绕组的三相发电机产生&#xff0c;是工业上常用的电源&#xff0c;可提供超过数千瓦或以上功率的电力。★电力系统暂…

看一看吧,面试真的卷......

大家好&#xff0c;最近有不少小伙伴在后台留言&#xff0c;今年面试实在是太卷了&#xff0c;不知道从何下手&#xff01; 不论是跳槽涨薪&#xff0c;还是学习提升&#xff01;先给自己定一个小目标&#xff0c;然后再朝着目标去努力就完事儿了&#xff01; 为了帮大家节约…

美术培训学校学生作品管理平台

本系统主要是为了美术培训学校和学生使用的&#xff0c;系统分为了前台和后台两部分&#xff0c;前台部分主要是展示美术培训学校的信息和让学生查看自己的课程信息服务的&#xff0c;后台主要是管理人员对系统进行管理使用的 前台部分功能 1. 网站首页&#xff0c;首页部分…

jar的反编译为java文件

目录 1、cfr工具下载 2、反编译指令 3、反编译说明 1、cfr工具下载 反编译插件工具比较多&#xff0c;但是我认为最后用的工具为cfr&#xff0c;基本能解决所有jar包&#xff0c;下载地址为&#xff1a;cfr官网 点击图中位置下载即可 2、反编译指令 来到你下载完成cfr目录下&…

蓝牙耳机哪个牌子好?数码粉总结学生平价蓝牙耳机推荐

蓝牙耳机这几年发展飞速&#xff0c;涌现了很多品牌和产品&#xff0c;越来越多的用户选择放弃有线耳机使用蓝牙耳机&#xff0c;学生们也不例外。前段时间看到网上很多学生在讨论蓝牙耳机哪个牌子好&#xff0c;我整理了五款口碑最好的学生平价蓝牙耳机推荐清单&#xff1a; 1…

cesium坐标系转换:经纬度地理坐标系 弧度地理坐标系 笛卡尔坐标 屏幕坐标之间的相互转换

参考了网上资料 核心就是 cesium 计算的地理数据用弧度坐标系表示&#xff08;很多公式计算出来的是弧度结果&#xff09;&#xff0c;我们采集的数据是经纬度表示的&#xff08;即我们正常的经纬度&#xff09;&#xff0c;围绕着cesium球体展示的用笛卡尔坐标系计算的其方位…

5月新刊 | MDPI版面费将全面上涨,还有哪些期刊可投?(新增多领域高性价比新刊, 含CCF-B/SSCI/EI)~

近期MDPI官方发布消息称&#xff0c;MDPI出版社旗下期刊的OA论文处理费 (APC), 价格将在2023年6月底上涨&#xff0c;超过90种OA期刊的APC涨幅在200-1200瑞士法郎 (折合人民币1560元-9300元)。 在MDPI出版的OA期刊中&#xff0c;有5种期刊处于2022年中国通迅作者发表OA论文数量…

junit如何在多模块项目中使用

文章目录 前言一、最简单的单元测试二、springboot多模块测试单元1.问题2.解决 总结 前言 相信后端的小伙伴对于junit测试应该不陌生,当我们写好了一些功能之后,由于不太放心是否会出现问题,我们会选择自测; 第一种 通过类似postman之类的,直接走接口测试第二种 由于构造数据…

Halcon 找到产品上 圆圈中的7个点

文章目录 1 关键实现环节演示2 完整代码 及 原图文章目录 1 关键实现环节演示2 完整代码 及 原图找到下图 圆圈中的7个点; 思路: 先找到圆圈外面的矩形, 再找到里面的圆圈, 最后找到圆圈里面的 圆点 1 关键实现环节演示 二值化 阈值分割止 之后,打散, read_image (im…

很多博主用Markdown格式文章?直呼真不错!

概述 Markdown 是一种轻量级标记语言&#xff0c;它可以使我们专注于写作内容&#xff0c;而不用过多关注排版&#xff0c;很多博主、作家等都用它来撰写文章~ 本文将给各位小伙伴介绍 Markdown 语法的使用&#xff0c;本篇文章索奇就是用的纯 markdown 语法来写的~ 标题 一级…

EKMA曲线绘制、MCM箱模型应用与O3形成途径、生成潜势、敏感性分析

目录 EKMA曲线及大气O3来源解析 MCM箱模型实践技术应用与O3形成途径、生成潜势、敏感性分析 一、 大气中O3形成知识基础、MCM和Atchem2原理及Linux系统安装 二、 MCM建模、数据输入、模型运行及结果输出 【讲解案例操作】 三、 O3形成途径、生成潜势及其敏感性分析 【讲解…

2023 谷歌I/O发布会新AI,PALM 2模型要反超GPT-4,一雪前耻!

文章目录 1 前言2 Google I/O 发布者大会3 PaLM 2模型3 Bard项目4 其他AI工具4.1 AI 图片编辑 Magic Editor4.2 Duet AI 办公4.3 Universal Translator 翻译工具4.4 Google 沉浸式导航4.5 Google 搜索引擎 5 讨论 1 前言 每年必看两大会&#xff0c;苹果发布会和谷歌发布会&am…

搭建AI虚拟数字人是一项复杂的任务,需要掌握多个技术领域的知识,包括机器学习、自然语言处理、计算机图形学等。

搭建AI虚拟数字人是一项复杂的任务&#xff0c;需要掌握多个技术领域的知识&#xff0c;包括机器学习、自然语言处理、计算机图形学等。以下是搭建AI虚拟数字人的一般步骤&#xff1a; 确定需求和功能&#xff1a;首先需要确定虚拟数字人的用途和需要实现的功能&#xff0c;例…

精心设计的ChatGPT网页版源码最聪明的镜像ChatGPT

demo软件园每日更新资源,请看到最后就能获取你想要的: 1.精心设计的 ChatGPT网页版源码 最聪明的镜像ChatGPT ChatGPT网页版源码 最聪明的镜像ChatGPT 支持GPT3.5turbo以及GPT4.0turbo的各种版本模型 精心设计的 UI&#xff0c;响应式设计&#xff0c;支持深色模式 极快的首…

【LeetCode】932. 漂亮数组

932. 漂亮数组&#xff08;中等&#xff09; 解法一&#xff1a;分治法 重点 这里给出两个定理&#xff1a; 如果 X,Y,Z 是漂亮数组&#xff0c;则 k * X b, k * Y b, k * Z b 一定也是漂亮数组&#xff1b;奇数 偶数 奇数。 因此不难证明&#xff0c;如果 2 * Y ≠ X…

vue+elementui写了一个图书管理系统

用vueelementui写了一个图书管理系统 转载自公号&#xff1a;java大师 目前是指一个纯前端的展示&#xff0c;后端还在开发中&#xff0c;前端接口是通过json-server模拟的 用到的技术栈 1、vue.js 2、elementui 3、json-server 4、axios 5、vue-router 动态路由 目录结构…

Java每日一练(20230511) 有效数字、重复元素II、类和子类

目录 1. 有效数字 &#x1f31f;&#x1f31f;&#x1f31f; 2. 存在重复元素 II &#x1f31f;&#x1f31f; 3. 设计学生类Student和它的一个子类Undergraduate &#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专…