helm---自动化一键部署
什么是helm??
在没有这个helm之前,deployment service ingress helm的作用就是通过打包的方式,把deployment service ingress 这些打包在一块,一键式部署服务,类似于yum
官方提供的一个类似于安装仓库的功能,可以实现一键化部署应用。
helm的概念:
三个部分组成:
cahrt:helm软件包,service ingress ,定义好的yaml资源,类似于yum的rpm包。
Release:可以理解为版本,也可以理解为在安装过程中,给这个部署的应用起一个名称。
Repository:仓库,提供一个服务器,这个服务器中包含chart的资源。yaml的资源保存地址。
常用命令
#查看仓库
helm repo list
#更新仓库资源
helm repo update
#搜索bitnami仓库中nginx
helm search repo bitnami | grep nginx
#查看chart信息
helm show chart bitnami/nginx
#查看详细信息
helm show all bitnami/nginx

#查看helm所有的安装
helm list

helm部署
tar -xf helm-v3.12.0-linux-amd64.tar.gz
cd linux-amd64/
mv helm /usr/local/bin/helm
helm version
vim /etc/profile
***
source <(helm completion bash)
***
source /etc/profile
#添加仓库
helm repo add bitnami https://charts.bitnami.com/bitnami
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 incubator https://charts.helm.sh/incubator
#helm安装
法一:
helm insatll my-nginx bitnami/nginx -n 指定命名空间
helm install: 安装
my-nginx: release 安装的名称或者版本
bitnami/nginx:bitnami仓库名,nginx就是chart 一系列yaml资源的集合法二---随机命名
helm install bitnami/nginx --generate-name
#卸载
helm uninstall my-nginx
helm自定义模版
根据自己的需求,定义chart。然后部署到集群当中去。
从stable仓库拉取mysql
helm pull stable/mysql
命令行创建
helm create nginx[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.yamlcharts: 用于存储依赖,如果这个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 lint nginx
[root@master01 helm]# helm lint nginx
==> Linting nginx
[INFO] Chart.yaml: icon is recommended1 chart(s) linted, 0 chart(s) failed[root@master01 helm]
vim Chart.yaml

vim values.yaml


#将修改的nginx封装
helm package nginx测试
helm install nginx-1.11 ./nginx --dry-run --debug
helm install 安装chart
nginx-11: release 版本号
./nginx:当前目录下的nginx的chart
-dry-run --debug: 这个chart不会被部署到集群当中,参数验证,测试chart的配置是否正确.安装
[root@master01 helm]# helm install nginx-11 ./nginx -n default
查看
[root@master01 helm]# kubectl get pod
修改chart之后重新部署
vim values.yaml

vim templates/service.yaml

检测语法
helm lint nginx更新
helm upgrade nginx-11 nginx查看service
kubectl get svc

回滚
查看历史更新
helm history nginx-11回滚
helm rollback nginx-11 1

上传仓库

./install
![]()

创建路径
mkdir -p ~/.local/share/helm/plugins/helm-push解压
tar -xf helm-push_0.8.1_linux_amd64.tar.gz -C ~/.local/share/helm/plugins/helm-push/登录
docker login -u admin -p123456 https://hub.test.com压缩成包
helm package nginx上传
helm push nginx-0.2.0.tgz oci://hub.test.com/charts --insecure-skip-tls-verify
--insecure-skip-tls-verify 跳过tls验证下载
helm pull oci://hub.test.com/charts/nginx --version 0.2.0 --insecure-skip-tls-verify
--insecure-skip-tls-verify 跳过tls验证

总结:
helm一键部署微服务的工具,可以跳过繁琐的自定义的yaml过程,一健式的拉取和部罢好所有自定义或者模版定义的服务。
helm的常用命令:
添加仓库
helm repo add 仓库名 url地址
helm repo remove 仓库名
helm repo update 不加仓库名,就是更新所有仓库
helm repo list 仓库列表
helm show chart stable/nginx 查看chart信息
helm show all stable/nginx 查看详细信息
helm install nginx-11 table/nginx -n lucky-cloud 安装chart,安装官网的默认版本
helm uninstall nginx-11 删除安装好的chart
helm list 查看已经安装chart
helm lint nginx 检测语法自定义模版:
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
相关文章:
helm---自动化一键部署
什么是helm?? 在没有这个helm之前,deployment service ingress helm的作用就是通过打包的方式,把deployment service ingress 这些打包在一块,一键式部署服务,类似于yum 官方提供的一个类似于安装仓库的功能,可以实…...
求助帖(setiosflags)的左右对齐问题:
以后自己要注意,如果两个相互矛盾的标志同时被设置,如先设置 setiosflags(ios::right),然后又设置 setiosflags(ios::left),那么结果可能就是两个标志都不起作用。因此,在设置了某标志,又要设置其他与之矛盾…...
升级8.0:民生手机银行的“内容解法”
数字化浪潮,滚滚来袭。 随着数字中国建设的持续推进,数字经济正在蓬勃发展。中商产业研究院分析师预测,2023年中国数字经济市场规模将增长至56.7万亿元,占GDP的比重将达到43.5%。 在此浪潮下,数字化的触角蔓延到各行…...
Kubernetes多租户实践
由于namespace本身的限制,Kubernetes对多租户的支持面临很多困难,本文梳理了K8S多租户支持的难点以及可能的解决方案。原文: Multi-tenancy in Kubernetes 是否应该让多个团队使用同一个Kubernetes集群? 是否能让不受信任的用户安全的运行不受信任的工作…...
【GEE】GEE反演地表温度相关问题说明(空洞、Landsat9数据集等)
之前分享了基于GEE-Landsat8数据集地表温度反演(LST热度计算),最近有很多小伙伴私信我很多问题,一一回复太慢了,所以今天写篇文章统一回答一下大家的问题。 问题1:数据有很多空洞、某些条带没有数据等 问题…...
【蓝桥备赛】数组分割——组合数学?
题目链接 数组分割 个人思路 两个数组都需要和为偶数,那么就去思考一个数组如何才能和是偶数呢?? 数组里肯定要么是奇数要么是偶数,偶数无论有多少个,都不会改变一个数组的奇偶性。但是奇数个奇数的和还是奇数&…...
iphone5s基带部分电源部分主主电源供电及
时序: 1.,基带电源的供电,基带电源也叫pmu。 首先时序图说电池提供供电,电池是J6接口,视频习惯把接口称之为座子。查U2_RF芯片,发现供电信号为PP_BATT_VCC_CONN,但是没查到跟电池座子有关系,电池座子写的是…...
【每日一题】按分隔符拆分字符串
文章目录 Tag题目来源解题思路方法一:遍历方法二:getline 写在最后 Tag 【遍历】【getline】【字符串】【2024-01-20】 题目来源 2788. 按分隔符拆分字符串 解题思路 方法一:遍历 思路 分隔符在字符串开始和结束位置时不需要处理。 分隔…...
spawn_group_template | spawn_group | linked_respawn
字段介绍 spawn_group | spawn_group_template 用来记录与脚本事件或boss战斗有关的 creatures | gameobjects 的刷新数据linked_respawn 用来将 creatures | gameobjects 和 boss 联系起来,这样如果你杀死boss, creatures | gameobjects 在副本重置之前…...
软考系分之计算机网络规划设计、综合布线、RAID和网络存储等
文章目录 1、概要2、网络的三层模型3、综合布线系统4、廉价磁盘冗余阵列(RAID)5、网络存储6、总结 1、概要 本篇重点介绍计算机网络中的网络规划设计、综合布线、RAID和网络存储。 2、网络的三层模型 三层模型分为核心层、汇聚层和接入层,接…...
使用ElEment组件实现vue表单校验空值
1.绑定表单组件数组rules 2.在data域中设定组件rules 3.设定调用方法函数 提交校验 取消: 测试页面 提交空值 失去焦点 取消重置 提交后重置...
processing集训day01
介绍 Processing是一门开源编程语言,提供了对图片,动画和声音进行编程的环境。学生,艺术家,设计师,建筑师,研究人员和业余爱好者可以使用Processing进行学习,制作原型以及作为生产工具。你可以…...
java面试——juc篇
目录 一、线程基础 1、进程与线程的区别?(⭐⭐⭐) 2、并行和并发的区别(⭐) 3、创建线程的方式有哪些?(⭐⭐⭐⭐) runnable和Callable的区别: 线程中的run()和 star…...
CSS 实现卡片以及鼠标移入特效
CSS 实现卡片以及鼠标移入特效 文章目录 CSS 实现卡片以及鼠标移入特效0、效果预览默认鼠标移入后 1、创建卡片组件2、添加样式3、完整代码 0、效果预览 默认 鼠标移入后 在本篇博客中,我们将探讨如何使用 CSS 来实现卡片组件,并添加鼠标移入特效&#…...
芯课堂 | SWM34S系列驱动TFT-LCD显示模组应用基本注意事项
1、确认硬件的连接、包括电源、地、RGB 数据线、DCLK\DE\HSYNC\VSYNC 等,显示模组有 DISP、RESET、CS、SCL、SDA 等。 2、确认各电压的正常,包括电源,部分有 IOVCC、VGL、VGH、VCOM 等电压 3、如果应用的 TFT-LCD 模组非演示例程中已适配调…...
java8 列表通过 stream流 根据对象属性去重的三种实现方法
java8 列表通过 stream流 根据对象属性去重的三种实现方法 一、简单去重 public class DistinctTest {/*** 没有重写 equals 方法*/SetterGetterToStringAllArgsConstructorNoArgsConstructorpublic static class User {private String name;private Integer age;}/*** lombo…...
鸿蒙开发DevEco Studio Setup 工具认识及使用
1、界面认识 1.1 创建页面之前理解Ability 1.2 理解stage模式 1.3 工程级别目录结构 1.4 模块级别目录...
程序员裁员潮:技术变革下的职业危机
程序员裁员潮:技术变革下的职业危机 一对来自中国的工程师夫妻在美身亡,疑因谷歌裁员致悲剧发生。在技术变革下,裁员对于程序员的影响到底有多大?快来和我们分享一下你的看法吧~ 哎,这是悲哀,让我又想起来…...
Cesium快速入门
文章目录 0.引言1.Cesium环境搭建1.1安装Node.js环境1.2配置Cesium依赖 2.搭建第一个Cesium程序2.1引入源码编译结果2.2创建html文件2.3编写第一个Cesium程序2.4申请许可密钥2.5发布Cesium程序服务 3.界面介绍4.默认控件介绍 0.引言 现有的gis开发方向较流行的是webgis开发&am…...
Android.mk和Android.bp的区别和转换详解
Android.mk和Android.bp的区别和转换详解 文章目录 Android.mk和Android.bp的区别和转换详解一、前言二、Android.mk和Android.bp的联系三、Android.mk和Android.bp的区别1、语法:2、灵活性:3、版本兼容性:4、向后兼容性:5、编译区…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
Caliper 配置文件解析:fisco-bcos.json
config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...
算法打卡第18天
从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7…...




