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

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.kler.cn/a/530828.html

相关文章:

  • 【产品经理学习案例——AI翻译棒出海业务】
  • Python写一个爱心
  • 基于python的Kimi AI 聊天应用
  • Spring Boot 实例解析:配置文件
  • Oracle数据库高效管理与优化实践
  • LeetCode:279.完全平方数
  • 联想拯救者Y9000P IRX8 2023 (82WK) 原厂Win11 家庭中文版系统 带一键还原功能 安装教程
  • 大语言模型的个性化综述 ——《Personalization of Large Language Models: A Survey》
  • 【算法】回溯算法专题③ ——排列型回溯 python
  • [MRCTF2020]Ez_bypass1(md5绕过)
  • 04树 + 堆 + 优先队列 + 图(D1_树(D10_决策树))
  • Rust中的结构体(Struct):数据组织的基石
  • 蓝桥杯备考:高精度算法之除法
  • 基于构件的软件开发方法
  • LeetCode - #197 Swift 实现找出温度更高的日期
  • Rust枚举(Enum)完全指南:用类型安全表达多样性
  • 前端力扣刷题 | 6:hot100之 矩阵
  • linux下ollama更换模型路径
  • 【腾讯前端面试】纯css画图形
  • WebSocket 实时通信详解:原理、应用与实践
  • 即梦(Dreamina)技术浅析(四):生成对抗网络
  • Vue指令v-html
  • Windows程序设计12:获取磁盘分区信息
  • STM32_SD卡的SDIO通信_DMA读写
  • C语言基础系列【1】第一个C程序:Hello, World!
  • AI时代IT行业职业方向规划大纲