7-k8s-helm管理
文章目录
- 一、为什么需要Helm
- 二、Helm相关概念介绍
- 三、Helm安装
- 四、Helm指令介绍
- 五、Helm创建tomcat
- 六、Helm创建tomcat其他方式
- 七、Helm创建redis
一、为什么需要Helm
k8s部署:k8s平台部署的服务都是由资源文件描述组成,传统的k8s部署应用需要手工编排yaml文件。编写完,然后通过kubectl apply -f xxx.yaml进行部署。
缺点:对于一个复杂的系统,随着服务的增多,yaml配置文件越来越多,甚至如果要更新服务,需要不断维护资源文件,较为杂乱。
Helm优点:可以统一管理这些资源文件,而且提供了kubernetes上的软件部署,删除,升级, 回滚应用的强大功能
二、Helm相关概念介绍
-
helm:命令行客户端工具,主要用于 Kubernetes 应用中的 chart 的创建、打包、发布和管理。
-
Chart:目录或者压缩包,一系列用于描述 k8s 资源相关文件的集合,比方说我们部署 nginx,需要deployment的yaml,需要 service 的 yaml,这两个清单文件就是一个 helm 程序包,在 k8s 中把这些yaml 清单文件叫做 chart 图表。
-
repository:存放 chart 图表的仓库,提供部署 k8s 应用程序需要的那些 yaml 清单文件
-
Release:基于 Chart 的部署实体,一个 chart 被 Helm 运行后将会生成对应的一个 release;将在k8s 中创建出真实运行的资源对象
-
helm主要工作
1)从头开始创建新的chart
2)将chart 打包成归档(tgz)文件
3)与存储chart的仓库进行交互
4)在现有的Kubernetes集群中安装和卸载chart
5)管理与Helm一起安装的chart的发布周期
三、Helm安装
-
下载helm:https://repo.huaweicloud.com/helm/v3.5.4/helm-v3.5.4-linux-amd64.tar.gz
-
创建文件夹:mkdir /opt/helm
-
上传到/opt/helm
-
解压:tar -xvf helm-v3.5.4-linux-amd64.tar.gz
-
将解压的文件移到/usr/local/bin: mv /opt/helm/linux-amd64/helm /usr/local/bin
-
查看版本:helm version

-
添加仓库
ps:比较慢,耐心等待
#官方仓库: helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx #添加微软仓库 helm repo add azure http://mirror.azure.cn/kubernetes/charts/ #添加阿里云仓库 helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts #添加chat仓库 helm repo add bitnami https://charts.bitnami.com/bitnami -
查询仓库列表:helm repo list

-
更新所有仓库:helm repo update
四、Helm指令介绍
- 添加仓库:helm repo add 自定义库名 仓库地址
- 查看仓库:helm repo list
- 删除仓库:helm repo remove 自定义库名
- 更新仓库:helm repo update
- 搜索chart:helm search repo 包名
- 拉取chart到本地:helm pull
- 本地创建新的chart:helm create
- 查看 chart 信息:helm show chart 包名
- 管理chart依赖:helm dependency
- 安装chart:helm install
- 列出所有release:helm list
- 删除release:helm delete 名字
- 检查chart配置是否有误:helm lint
- 打包本地 chart:helm package
- 回滚release到历史版本:helm rollback
- 卸载release:helm uninstall
- 升级release:helm upgrade
五、Helm创建tomcat
-
去仓库查找nginx:helm search repo tomcat
-
创建chart:helm create tomcat
-
进入:cd tomcat
-
目录文件详解
├── charts:依赖其他包的charts文件
Chart.yaml :该chart的描述文件,包括ip地址,版本信息等
├── templates:存放k8s模板文件目录
│ ├── deployment.yaml:创建k8s deployment资源的yaml 模板
│ ├── _helpers.tpl :下划线开头的文件,可以被其他模板引用
│ ├── hpa.yaml:配置服务资源CPU 内存
│ ├── ingress.yaml :ingress 配合service域名访问的配置
│ ├── NOTES.txt :说明文件,helm install之后展示给用户看的内容
│ ├── serviceaccount.yaml
│ ├── service.yaml :kubernetes Serivce yaml模板
│ └── tests
│ └── test-connection.yaml
└── values.yaml #给模板文件使用的变量
ps:deployment.yaml、service.yaml这些文件的内容,和我们平时创建pod和service时编写的yaml文件类似,不同之处在于很多配置的值并非固定,而是用变量代替了。而变量,则是在values.yaml种定义的
-
修改参数:vi value.yaml
service:type: NodePortport: 80 -
安装对应仓库的chart:helm install tomcat azure/tomcat -f values.yaml
-
查看:helm list

-
查看pod:kubectl get pod

-
查看访问地址:kubectl get svc

-
往tomcat里面写入首页数据
1)进入pod:kubectl exec -it tomcat-bf4bc978c-97fhx bash
2)创建文件夹: mkdir webapps/ROOT
3)写入文件:echo “helm test1” > webapps/ROOT/index.jsp -
访问:http://192.168.248.10:30511/

六、Helm创建tomcat其他方式
-
可以使用–set来配置value.yaml的参数:helm install tomcat azure/tomcat --set service.type=NodePort
-
可以先下载包,后配置
1)下载:helm pull azure/tomcat
2)解压:tar -xvf tomcat-0.4.3.tgz
3)修改配置:vi tomcat/values.yaml
service:name: httptype: NodePortexternalPort: 80internalPort: 80804)启动: helm install tomcat tomcat
ps:后面那个tomcat是指tomcat文件夹
七、Helm创建redis
-
对外提供
NodePort访问helm install redis bitnami/redis --set global.storageClass=managed-nfs-storage --set global.redis.password=ffcsict123 --set architecture=standalone --set master.service.type=NodePort --set master.service.nodePorts.redis=30919 --version 17.4.3
相关文章:
7-k8s-helm管理
文章目录 一、为什么需要Helm二、Helm相关概念介绍三、Helm安装四、Helm指令介绍五、Helm创建tomcat六、Helm创建tomcat其他方式七、Helm创建redis 一、为什么需要Helm k8s部署:k8s平台部署的服务都是由资源文件描述组成,传统的k8s部署应用需要手工编排…...
零基础怎么样才能学好 Python?Python 入门必看
Python 目前可以用一个字来描述那就是 “火”,问题来了,这么火的语言零基础小白到底该怎样学习 Python? 首先,从基础开始学习,切勿毛躁。 刚开始学习 Python 的时候,我们可能会有些毛躁总觉得这些知识太简…...
1.X3-Warming up
/* 此程序使用 Boost Spirit 库来解析用户提供的逗号分隔的数字列表。它演示了如何使用 Spirit 来定义解析 器和执行解析操作,并且在用户输入时反复执行解析操作。用户可以提供一系列逗号分隔的数字,程序会检查它们 是否符合指定的解析规则。如果解析成功…...
【23真题】两电一邮之一,难度骤降!24可能回升!
今天分享的是23年电子科技大学858的信号与系统试题及解析。23成电858真题和22年相比,难度骤降!今年我预测可能会有反弹。22年成电858真题,是我做过的22真题中数一数二的难度!23年一般,但是题目也很好,真的很…...
持续集成部署-k8s-资源调度:DaemonSet
持续集成部署-k8s-资源调度:DaemonSet 1. DaemonSet 简介2. 部署 Fluent 日志收集程序1. DaemonSet 简介 在 Kubernetes 中,DaemonSet 是一种用于在集群中运行一个 Pod 副本的控制器对象。它可以保证在每个节点上都运行一个 Pod 副本,并且在节点加入或退出集群时自动地更新…...
RabbitMQ内容
RabbitMQ是一款开源的消息中间件,支持多个消息协议,包括AMQP、STOMP、MQTT等,它的主要功能是将分散的应用程序连接在一起,以便它们可以相互通信,从而构建可靠的、高效的分布式系统。 RabbitMQ的基础概念包括ÿ…...
搭建一个vscode+uni+vue的小程序项目
我们使用 vue2 创建工程作为示例,uni-app中Vue2版的组件库和插件也比较多,稳定、问题少,可以先参考下官方文档:uni-app官网 既然是使用vue脚手架,那肯定要全局安装vue/cli,已安装的可以跳过。 注意:Vue2创…...
处理ElementUI组件默认样式多次重复问题
问题截图: 解决办法: 在postcss.config.js文件里添加配置项: module.exports {plugins: {autoprefixer: {},cssnano: {} //添加这行代码}, } 处理结果: github issues: https://github.com/ElemeFE/element/is…...
配置hpa后,target显示<unknown>/50%
背景: 有两个服务,server 负责主要后端请求,bill 负责计量计费请求。服务都是使用 helm 部署。测试提了一个缺陷,说全部服务没有配置hpa。 解决一 按照之前的代码结构添加了hpa后,发现: ➜ kubectl get…...
用java实现抖音授权登录
要使用Java实现抖音授权登录,您需要使用抖音开放平台提供的API。以下是一个简单的Java代码示例,演示如何使用OAuth 2.0授权登录流程: 要使用Java实现抖音授权登录,您需要按照以下步骤进行操作: 创建抖音开放平台账号…...
Atlassian午餐会直播回顾:如何在Jira中进行项目时间与成本管理?
工时管理是项目过程管理的一个重要手段,通过科学记录项目组成员在项目执行过程中的任务完成和时间消耗情况,可以帮助管理者精准评估成员工作效率,实时掌握项目进展,并有效管控项目成本。 想要成为时间管理大师吗?在近…...
屏幕时代的数字化信息管理:从传统到纯软件的转变
随着数字化时代的推进,屏幕已经成为了企业和机构向外界传递信息的主要媒介。除了传统的手机和电脑屏幕,线下空间如办公楼、商场、店铺、医院、展厅等也需要利用屏幕来展示和发布各类信息。 管理这些屏幕和发布信息并不是一件容易的事情,特别是…...
Stm32_标准库_14_串口蓝牙模块_解决手机与蓝牙模块数据传输的不完整性
由手机向蓝牙模块传输时间信息,Stm32获取信息并将已存在信息修改为传入信息 测试代码: #include "stm32f10x.h" // Device header #include "Delay.h" #include "OLED.h" #include "Serial.h"uint16_t num…...
基于深度学习的“语义通信编解码技术”框架分类
目录 基于神经网络的语义提取基于神经网络的语义信源编码基于神经网络的语义信源信道联合编码基于神经网络的语义编码与数字调制联合设计参考文献 基于神经网络的语义提取 在现有的信源编码前端加上一个语义提取神经网络[53] ,如图所示。语义提取神经网络的输入是原…...
信钰证券:股票抵押是好还是坏?
股票典当是指将持有的股票作为质押品向银行或其他金融机构融资的行为。股票典当有其优势和下风,下面咱们将从多个角度来剖析股票典当是否好仍是坏。 一、优势 1.占用资金少 相比较于其他融资办法,股票典当所需求占用的资金较少,只需将股票作…...
媒体基础:打开多模态大模型的新思路
编者按:2023年是微软亚洲研究院建院25周年。25年来,微软亚洲研究院探索并实践了一种独特且有效的企业研究院的新模式,并以此为基础产出了诸多对微软公司和全球社会都有积极影响的创新成果。一直以来,微软亚洲研究院致力于创造具有…...
dubbo-admin安装
一、dubbo-admin安装 1、环境准备 dubbo-admin 是一个前后端分离的项目。前端使用vue,后端使用springboot,安装 dubbo-admin 其实就是部署该项目。我们将dubbo-admin安装到开发环境上。要保证开发环境有jdk,maven,nodejs 安装no…...
Kaggle - LLM Science Exam(三):Wikipedia RAG
文章目录 一、赛事概述1.1 OpenBookQA Dataset1.2 比赛背景1.3 评估方法和代码要求1.4 比赛数据集1.5 优秀notebook 二、 [EDA, Data gathering] LLM-SE ~ Wiki STEM | 1k DS2.1 Data overview2.2 Data gathering 三、如何高效收集数据3.1 概述3.2 与训练数据关联的维基百科类别…...
【机器学习】PyTorch-MNIST-手写字识别
文章目录 前言完成效果一、下载数据集手动下载代码下载MNIST数据集: 二、 展示图片三、DataLoader数据加载器四、搭建神经网络五、 训练和测试第一次运行: 六、优化模型第二次优化后运行: 七、完整代码八、手写板实现输入识别功能 前言 注意…...
玩转代码| Vue 中 JSX 的特性,这一篇讲的明明白白
目录 什么时候使用JSX JSX在Vue2中的基本使用 配置 文本插值 条件与循环渲染 属性绑定 事件绑定 v-show与v-model 插槽 使用自定义组件 在method里返回JSX JSX是一种Javascript的语法扩展,即具备了Javascript的全部功能,同时又兼具html的语义…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...
车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...
LangChain【6】之输出解析器:结构化LLM响应的关键工具
文章目录 一 LangChain输出解析器概述1.1 什么是输出解析器?1.2 主要功能与工作原理1.3 常用解析器类型 二 主要输出解析器类型2.1 Pydantic/Json输出解析器2.2 结构化输出解析器2.3 列表解析器2.4 日期解析器2.5 Json输出解析器2.6 xml输出解析器 三 高级使用技巧3…...
