Kubernetes学习之包管理工具(Helm)

一、基础知识

        1.如果我们需要开发微服务架构的应用,组成应用的服务可能很多,使用原始的组织和管理方式就会非常臃肿和繁琐以及较难管理,此时我们需要一个更高层次的工具将这些配置组织起来。

        2.helm架构:

                chart:一个应用的信息集合,包含kubernetes对象的配置模板、参数设定、依赖关系等,其类似于apt、yum中的软件安装包

                release:为chart的运行实例,代表一个正在运行的应用,当chart安装到kubernetes中就会生成一个release,chart能够多次安装到同一个集群中且每次安装都是一个release。

        3.helm的两个组件:

                helm客户端和tiller服务器:

                        helm客户端(终端用户使用的命令行工具):

                        在本地开发chart

                        管理chart仓库

                        与tiller服务器交互

                        在远程kubernetes集群上安装chart

                        查看release信息并升级或卸载已有的release

                        tiller服务器:

                        监听来自helm客户端的请求

                        通过chart构建release

                        在kubernetes中安装chart并跟踪chart的状态

                        通过api server升级或卸载已有的release

                4.安装helm

                        通过命令安装,然后执行:

                        helm  complention  bash > .helmrc  echo  “source  .helmrc”  >>.bashrc

                        以上命令执行后可以通过tab键补全helm子命令和参数

                        执行 helm  init安装tiller服务器,实际上,tiller本身作为容器化应用运行在kubernetes cluster中。

                5.使用helm

                        helm search 查看当前可安装的chart,其helm有两个默认配置好的仓库:stable和local,其中stable是官方仓库,local仓库是用户存放自己开发的chart本地仓库。

                安装chart:

                        helm  install  stable/mysql

        

                        其中,name是release的名字,一般为随机生成,namespace是release部署的namespace,默认为default,可以通过--namespace指定

                        status为deployed,表示已经将chart部署到集群

                helm  list:显示已经部署的release

                helm  delete:删除release

                6.chart的目录结构:

                        

                requirement.yaml:chart可能依赖其他chart,这些依赖关系可通过requirements.yaml指定,在安装过程中,依赖的chart也会被一起安装

                values.yaml:chart支持在安装时根据参数进行定制化配置,该文件提供这些配置参数的默认值

                templates:各类资源的配置模板

                helm通过模板创建kubernetes能够理解的yaml格式的配置文件

                下图示例:

                

                7.定制化安装chart:

                        helm两种方式传递配置参数:

                        指定自己的values文件,先通过 helm  inspect  values   mysql > myvalues.yaml生成values文件,执行  helm  install  --values=myvalues.yaml  mysql

                        通过 --set直接传入参数值

                

                8.升级和回滚release

                        release发布后可执行 helm upgrade对其进行升级

                

                        helm  rollback可以回滚到任何版本,helm可以查看release所有版本

                9.开发自己的chart

                创建chart:执行helm create mychart 创建 mychart,helm会为我们创建目录生成各类chart文件

                调试chart:helm lint mychart会检测chart的语法,helm install  --dry-run --debug会模拟安装chart,并输出每个模板生成的yaml内容

                10.安装chart

                

                11.将chart添加到仓库

                任何http server都可以作为chart仓库

                

                通过helm package mychart将其打包,该操作也会被同步到local仓库

                执行helm  repo  index生成仓库的index文件:helm repo index  myrepo/  --url  http://192.168.56.106:8080/charts,helm会扫描myrepo目录中的所有tgz包生成index.yaml,其中--url指定的是新仓库的访问路径

                通过helm repo add将新仓库添加到helm

                

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

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

相关文章

Kamailio 不通过 dmq 实现注册复制功能

春节期间找到一篇文章,需要 fg 才能看到: https://medium.com/tumalevich/kamailio-registration-replication-without-dmq-65e225f9a8a7 kamailio1 192.168.56.115 kamailio2 192.168.56.116 kamailio3 192.168.56.117 route[HANDLE_REPLICATION] {i…

grpc 和 http 的区别---二进制vsJSON编码

gRPC 和 HTTP 是两种广泛使用的通信协议,各自适用于不同的场景。以下是它们的详细对比与优势分析: 一、核心特性对比 特性gRPCHTTP协议基础基于 HTTP/2基于 HTTP/1.1 或 HTTP/2数据格式默认使用 Protobuf(二进制)通常使用 JSON/…

Intel 与 Yocto 项目的深度融合:全面解析与平台对比

在嵌入式 Linux 领域,Yocto 项目已成为构建定制化 Linux 发行版的事实标准,广泛应用于不同架构的 SoC 平台。Intel 作为 x86 架构的领导者,在 Yocto 生态中投入了大量资源,为其嵌入式处理器、FPGA 和 AI 加速硬件提供了完整的支持…

kubernetes(二)

文章目录 NamespacePodLabelDeploymentService Namespace 在Kubernetes系统中,Namespace是一种至关重要的资源类型,其主要功能在于实现多套环境的资源隔离或者多租户的资源隔离,默认情况下所有的Pod都能够相互访问,但如果不想让两…

巧妙利用数据结构优化部门查询

目录 一、出现的问题 部门树接口超时 二、问题分析 源代码分析 三、解决方案 具体实现思路 四、优化的效果 一、出现的问题 部门树接口超时 无论是在A项目还是在B项目中,都存在类似的页面,其实就是一个部门列表或者叫组织列表。 从页面的展示形式…

【数据分析】案例04:豆瓣电影Top250的数据分析与Web网页可视化(numpy+pandas+matplotlib+flask)

豆瓣电影Top250的数据分析与Web网页可视化(numpy+pandas+matplotlib+flask) 豆瓣电影Top250官网:https://movie.douban.com/top250写在前面 实验目的:实现豆瓣电影Top250详情的数据分析与Web网页可视化。电脑系统:Windows使用软件:PyCharm、NavicatPython版本:Python 3.…

【线程】基于环形队列的生产者消费者模型

1 环形队列 环形队列采用数组来模拟,用取模运算来模拟环状特性。 1.如何判断环形队列为空或者为满? 当环形队列为空时,头和尾都指向同一个位置。当环形队列为满时,头和尾也都指向同一个位置。 因此, 可以通过加计数器或者标记…

Vue指令v-html

目录 一、Vue中的v-html指令是什么?二、v-html指令与v-text指令的区别? 一、Vue中的v-html指令是什么? v-html指令的作用是:设置元素的innerHTML,内容中有html结构会被解析为标签。 二、v-html指令与v-text指令的区别…

OPENGLPG第九版学习 - 着色器基础

文章目录 2.1 着色器与OpenGL2.2 0penGL的可编程管线2.3 OpenGL着色语言GLSL概述2.3.1 使用GLSL构建着色器变量的声明变量的作用域变量的初始化构造函数 、 类型转换聚合类型访问向量和矩阵中的元素结构体数组多维数组 2.3.2 存储限制符const 存储限制符in 存储限制符out 存储限…

路径规划之启发式算法之二十九:鸽群算法(Pigeon-inspired Optimization, PIO)

鸽群算法(Pigeon-inspired Optimization, PIO)是一种基于自然界中鸽子群体行为的智能优化算法,由Duan等人于2014年提出。该算法模拟了鸽子在飞行过程中利用地标、太阳和磁场等导航机制的行为,具有简单、高效和易于实现的特点,适用于解决连续优化问题。 更多的仿生群体算法…

Docker Compose的使用

文章首发于我的博客:https://blog.liuzijian.com/post/docker-compose.html 目录 Docker Compose是什么Docker Compose安装Docker Compose文件Docker Compose常用命令案例:部署WordPress博客系统 Docker Compose是什么 Docker Compose是Docker官方的开源…

AP单类平均准确率

P_true N_true P_pred TP Fp N_pred FN TNP NTP(真正样本,与真实框IoU大于阈值的框) FP(假正样本,与真实框IoU小于阈值的框) TN(真负样本,背景)…

Leetcode—1427. 字符串的左右移【简单】Plus

2025每日刷题&#xff08;206&#xff09; Leetcode—1427. 字符串的左右移 实现代码 class Solution { public:string stringShift(string s, vector<vector<int>>& shift) {// shift[i] [dir, amount]// dir 0(左) or 1(右)// 左表示正, 右表示负int len…

机器学习10

自定义数据集 使用scikit-learn中svm的包实现svm分类 代码 import numpy as np import matplotlib.pyplot as pltclass1_points np.array([[1.9, 1.2],[1.5, 2.1],[1.9, 0.5],[1.5, 0.9],[0.9, 1.2],[1.1, 1.7],[1.4, 1.1]])class2_points np.array([[3.2, 3.2],[3.7, 2.9],…

股票入门知识

股票入门&#xff08;更适合中国宝宝体制&#xff09; 股市基础知识 本文介绍了股票的基础知识&#xff0c;股票的分类&#xff0c;各板块发行上市条件&#xff0c;股票代码&#xff0c;交易时间&#xff0c;交易规则&#xff0c;炒股术语&#xff0c;影响股价的因素&#xf…

Golang 并发机制-3:通道(channels)机制详解

并发编程是一种创建性能优化且响应迅速的软件的强大方法。Golang&#xff08;也称为 Go&#xff09;通过通道&#xff08;channels&#xff09;这一特性&#xff0c;能够可靠且优雅地实现并发通信。本文将揭示通道的概念&#xff0c;解释其在并发编程中的作用&#xff0c;并提供…

C#,入门教程(11)——枚举(Enum)的基础知识和高级应用

上一篇&#xff1a; C#&#xff0c;入门教程(10)——常量、变量与命名规则的基础知识https://blog.csdn.net/beijinghorn/article/details/123913570 不会枚举&#xff0c;就不会编程&#xff01; 枚举 一个有组织的常量系列 比如&#xff1a;一个星期每一天的名字&#xf…

读书笔记--分布式架构的异步化和缓存技术原理及应用场景

本篇是在上一篇的基础上&#xff0c;主要对分布式应用架构下的异步化机制和缓存技术进行学习&#xff0c;主要记录和思考如下&#xff0c;供大家学习参考。大家知道原来传统的单一WAR应用中&#xff0c;由于所有数据都在同一个数据库中&#xff0c;因此事务问题一般借助数据库事…

【C++】继承(下)

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家了解C的继承&#xff08;下&#xff09;&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 5.继承与友元6.继承与静态成员7.复杂的菱形继承及菱形虚拟继承8.继…

基于LLM的路由在专家混合应用:一种新颖的交易框架,该框架在夏普比率和总回报方面提升了超过25%

“LLM-Based Routing in Mixture of Experts: A Novel Framework for Trading” 论文地址&#xff1a;https://arxiv.org/pdf/2501.09636 摘要 随着深度学习和大语言模型&#xff08;LLMs&#xff09;的不断进步&#xff0c;混合专家&#xff08;MoE&#xff09;机制在股票投资…