当前位置: 首页 > news >正文

k8s的helm

1、在没有helm之前,部署deployment、service、ingress等等

2、helm的作用:通过打包的方式,deployment、service、ingress这些打包在一块,一键部署服务、类似于yum功能

3、helm:官方提供的一种类似于仓库的功能,可以实现一键化部署应用

(1)helm自带回滚功能

4、helm的组件

chart

helm的软件包:包含部署包deployment,service包,ingress等等(定义好的yaml资源)类似于yum的rpm包

release

版本/在安装过程中给部署的应用起一个名字

repository

仓库(yaml资源的保存地址):提供一个服务器,这个服务器当中包含chart资源

5、helm的版本

(1)helm2(已淘汰)
(2)helm3:纯命令行方式(目前使用)

6、部署helm

(1)部署软件
tar -xf helm-v3.12.0-linux-amd64.tar.gz
mv helm /usr/local/bin/helm

(2)配置自动补齐

(3)部署仓库
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(官网)

(4)仓库(repo)的相关命令
①查看有哪些仓库:helm repo list

②更新仓库:helm repo update

③查找指定仓库中是否有nginx的yaml资源:helm search repo bitnami | grep nginx

(5)查看指定chart的一般信息:helm show chart bitnami/nginx

(6)查看指定chart的所有信息:helm show all bitnami/nginx

7、部署nginx实例

(1)查找指定仓库中是否有nginx的yaml资源:helm search repo bitnami | grep nginx

(2)安装:
①指定release名称创建:helm install my-nginx bitnami/nginx

helm install

安装

my-nginx

release安装的名称或者版本

bitnami/nginx

bitn仓库名,nginx就是chart一系列yaml资源的集合

-n default

指定命令空间

②随机生成release名称创建:helm install bitnami/nginx --generate-name

(3)访问

(4)修改service的类型
kubectl edit svc my-nginx

(5)删除:helm uninstall my-nginx

(6)查看本机所有基于helm安装的release:helm ls/helm list

8、helm自定义模版:根据需求定义chart

(1)查看chart的模版
①拉取mysql的chart包:helm pull stable/mysql
tar -xf mysql-1.6.9.tgz

②安装tree:yum -y install tree

(2)自定义nginx的chart:helm create nginx

charts

用于存储依赖环境,如果这个chart依赖于其他的chart,依赖文件保存在这个目录

chart.yaml

chart的元数据文件,包含了这个chart的名称,版本,维护者信息等等

templates

包含清单模版的目录

deployment.yaml

部署应用的模版文件

helpers.tpl

帮助文档,告诉用户如何定义模版的值

hpa.yaml

定义了应用程序副本数的扩缩容行为

ingress.yaml

定义了外部流量如何转发到应用程序

NOTES.txt

注意事项

serviceaccou.yaml

应用程序的服务账号

service.yaml

集群内部的访问

test test-connection.yaml

测试的目录和文件,部署完chart之后,用来测试的文件

values.yaml

核心文件:自定义的值,都是通过values.yaml,把数据覆盖到安装的chart文件

(3)修改配置文件
①vim Chart.yaml

②修改核心文件:vim values.yaml

(4)验证语法是否正确:helm lint nginx

(5)打包chart:helm package nginx

(6)检测:helm install nginx-1 ./nginx --dry-run --debug

helm install

安装

nginx-1

release版本号

./nginx

当前目录下nginx的chart

--dry-run --debug

这个chart不会被部署到集群当中,用于参数验证,测试chart的配置是否正确

(7)部署安装
①第一种:基于目录安装:helm install nginx-1 ./nginx -n default

删除(一键删除):helm uninstall nginx-1

②第二种:基于压缩包安装:helm install nginx-1 /opt/helm/nginx-0.1.0.tgz -n default

(8)配置映射

(9)安装ingres
wget https://gitee.com/mirrors/ingress-nginx/raw/nginx-0.30.0/deploy/static/mandatory.yaml
wget https://gitee.com/mirrors/ingress-nginx/raw/nginx-0.30.0/deploy/static/provider/baremetal/service-nodeport.yaml

(10)访问测试

9、修改chart之后重新部署(更新)

(1)修改核心文件values.yaml

(2)修改service文件

(3)修改版本

(4)升级:helm upgrade nginx-1 nginx

(5)访问测试

10、回滚

(1)查看版本:helm history nginx-1

(2)回滚:helm rollback nginx-1 1

11、上传harbor仓库

(1)创建项目

(2)修改配置文件(部署chart的识别路径的方式)

(3)配置安装包
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

(4)登录仓库:docker login -u admin -p 123456 https://hub.test.com

(5)打包:helm package nginx

(6)上传仓库:
helm push nginx-0.2.0.tgz oci://hub.test.com/charts --insecure-skip-tls-verify

(7)拉取chart包:helm pull oci://hub.test.com/charts/nginx --version 0.2.0 --insecure-skip-tls-verify

(8)安装:helm install nginx-2 ./nginx-0.2.0.tgz

(9)删除仓库:helm repo remove aliyun

12、总结

1helm:一键部署微服务的工具,可以跳过繁琐的自定义yaml的过程,一键式的拉取和部署好所有自定义或者模版定义的服务
2helm的常用命令

添加仓库

helm repo add 仓库名 url地址

更新所有仓库

helm repo update 不加仓库名

查看仓库列表

helm repo list

删除仓库

helm repo remove 仓库名

查看指定仓库中chart信息

helm show chart stable/nginx

查看指定仓库中chart的详细信息

helm show all stable/nginx

安装chart(官网的默认版本)

helm install nginx stable/nginx -n lucky-cloud

删除安装好的chart

helm uninstall nginx

查看已安装的chart

helm list

创建自定义的chart模版

helm create nginx

安装自定义chart

helm install nginx ./nginx

helm install nginx ./nginx-0.1.0.tgz

打包创建好的chart

helm package nginx

回滚

helm history nginx

helm rollback nginx 1

3values.yaml:这里的值会传给templates里面的yaml文件

相关文章:

k8s的helm

1、在没有helm之前,部署deployment、service、ingress等等 2、helm的作用:通过打包的方式,deployment、service、ingress这些打包在一块,一键部署服务、类似于yum功能 3、helm:官方提供的一种类似于仓库的功能&#…...

[MySQL]基础的增删改查

目录 1.前置介绍 2.数据库操作 2.1显示当前数据库 2.2创建数据库 2.3 使用数据库 2.4 删除数据库 3.常用数据类型 3.1整型和浮点型 3.2字符串类型 4.表的操作 4.1查看表结构 4.2创建表 4.3删除表 5.重点 5.1操作数据库 5.2常用数据类型 5.3操作表 1.前置介绍 …...

简易播放器 以及触发的异常

jl 1.0.jar 架包导入步骤: 1.读取到MP3音频文件 2.创建播放器对象,传入音频文件 3.开始播放 package com.ztt.Demo01;import java.io.FileInputStream; import java.io.FileNotFoundException;import javazoom.jl.decoder.JavaLayerException; import javazoom.jl.…...

【Flutter跨平台插件开发】如何实现kotlin跟C++的相互调用

【Flutter跨平台插件开发】如何实现kotlin跟C的相互调用 kotlin 调 c 在 Kotlin 中&#xff0c;可以使用 JNI (Java Native Interface) 来调用 C 代码 调用步骤: 创建 C 文件并实现函数。 // example.cpp #include <jni.h>extern "C" JNIEXPORT jstring J…...

Apache SeaTunnel社区荣获“2023快速成长开源项目”奖项

在这个开源理念推动技术创新和全球协同发展的时代&#xff0c;SeaTunnel社区在开放原子开源基金会举办的2023年开源项目评选中脱颖而出&#xff0c;荣获“2023快速成长开源项目”殊荣。 这个奖项不仅仅是对Apache SeaTunnel社区过去一年发展速度和质量的认可&#xff0c;更是对…...

Unity 桥接模式(实例详解)

文章目录 示例1&#xff1a;角色与装备系统示例2&#xff1a;UI控件库示例3&#xff1a;渲染引擎模块示例4&#xff1a;AI决策树算法示例5&#xff1a;物理模拟引擎 在Unity游戏开发中&#xff0c;桥接模式&#xff08;Bridge Pattern&#xff09;是一种设计模式&#xff0c;它…...

Xftp连接不上Linux虚拟机的原因解决方法

前言&#xff1a; 在当今数字化时代&#xff0c;远程连接到Linux虚拟机是许多开发者和系统管理员日常工作的一部分。然而&#xff0c;有时候&#xff0c;面对Xftp连接不上Linux虚拟机的问题&#xff0c;我们可能感到困惑和无措。这个看似小问题可能导致工作中断&#xff0c;因…...

代码随想录刷题笔记 DAY12 | 二叉树的理论基础 | 二叉树的三种递归遍历 | 二叉树的非递归遍历 | 二叉树的广度优先搜索

Day 12 01. 二叉树的理论基础 1.1 二叉树的种类 满二叉树&#xff1a;除了叶子节点以外&#xff0c;每个节点都有两个子节点&#xff0c;整个树是被完全填满的完全二叉树&#xff1a;除了底层以外&#xff0c;其他部分是满的&#xff0c;底部可以不是满的但是必须是从左到右连…...

Linux问题 apt-get install时 无法解析域名“cn.archive.ubuntu.com”

问题描述: 在安装程序时会出现无法解析域名的错误 解决办法: 1、编辑文件 sudo vim /etc/resolv.conf 2、在最后加上(按键 i 进入编辑模式) nameserver 8.8.8.8 3、保存退出(:wq)...

蓝桥--鸡哥的购物挑战OJ(4169)

题目&#xff1a; 思路&#xff1a; 暴力&#xff1a; 直接枚举所有得偶数区间&#xff0c;找最大值&#xff0c;n2超时 优化&#xff1a; 分类讨论&#xff0c;只要醉倒不重不漏得分类不出意外就能AC了 图中的选择方式很简单了&#xff0c;不做解释了。 AC代码(我的代码可…...

MySQL--删除数据表(6)

MySQL中删除数据表是非常容易操作的&#xff0c;但是你在进行删除表操作时要非常小心&#xff0c;因为执行删除命令后所有数据都会消失。 语法 以下为删除 MySQL 数据表的通用语法&#xff1a; DROP TABLE table_name ; -- 直接删除表&#xff0c;不检查是否存在 或 DROP…...

常用界面设计组件 —— 时间日期与定时器

2.7 时间日期与定时器2.7.1 时间日期相关的类2.7.2 日期时间数据与字符串之间的 转换2.7.3 QCalendarWidget日历组件2.7.4 定时器 2.7 时间日期与定时器 2.7.1 时间日期相关的类 时间日期是经常遇到的数据类型&#xff0c;Qt中时间日期类型的 类如下&#xff1a; QTime &…...

GO 中高效 int 转换 string 的方法与高性能源码剖析

文章目录 使用 strconv.Itoa使用 fmt.Sprintf使用 strconv.FormatIntFormatInt 深入剖析1. 快速路径处理小整数2. formatBits 函数的高效实现 结论 Go 语言 中&#xff0c;将整数&#xff08;int&#xff09;转换为字符串&#xff08;string&#xff09;是一项常见的操作。 本文…...

YOLOv7调用摄像头检测报错解决

yolov7detect.py文件调用本地摄像头&#xff0c;把source参数设为0 parser.add_argument(--source, typestr, default0, helpsource) # file/folder, 0 for webcam 报错&#xff1a;cv2.error: OpenCV(3.4.2) 一堆地址:The function is not implemented. Rebuild the library…...

Git学习 -- 分支合并、版本修改相关

目录 learn GIT Learn Git Branching merge和rebase的使用 基础命令 版本回退 工作区和暂存区 管理修改 撤销修改 删除修改 learn GIT Learn Git Branching 这是Gitee上的Git学习教程 Learn Git Branching Git Rebase Learn Git Branching 最终的实操 merge和rebase的…...

【小呆的力学笔记】弹塑性力学的初步认知二:应力应变分析(2)

文章目录 1.4 主应力空间、八面体应力1.5 应变分析1.6 特殊应力、应变定义 1.4 主应力空间、八面体应力 一点的应力状态不论如何变化&#xff0c;其主应力和主方向一致的话&#xff0c;该点的应力状态就是唯一确定的。因此&#xff0c;我们用主应力方向建立一个三维坐标系来描…...

【学网攻】 第(6)节 -- 三层交换机实现VLAN间路由

文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻】 第(2)节 -- 交换机认识及使用【学网攻】 第(3)节 -- 交换机配置聚合端口【学网攻】 第(4)节 -- 交换机划分Vlan【学网攻】 第(5)节 -- Cisco VTP的使用 前言 网络已经成为了我们生活中不可或缺的一部分&#xff0c;它连接了…...

C++之内联函数

函数调用在执行时&#xff0c;首先要在栈中为形参和局部变量分配存储空间&#xff0c;然后还要将实参的值复制给形参&#xff0c;接下来还要将函数的返回地址&#xff08;该地址指明了函数执行结束后&#xff0c;程序应该回到哪里继续执行&#xff09;放入栈中&#xff0c;最后…...

【Bugku-web】alert

1.打开场景 2.按"CtrlU"查看源代码 3.翻到页面最末尾会有一个HTML实体编码&#xff0c;用在线工具在线Html实体编码解码后&#xff0c;得到flag值。...

QQ数据包解密

Windows版qq数据包格式&#xff1a; android版qq数据包格式&#xff1a; 密钥&#xff1a;16个0 算法&#xff1a;tea_crypt算法 pc版qq 0825数据包解密源码&#xff1a; #include "qq.h" #include "qqcrypt.h" #include <WinSock2.h> #include…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...