最新k8s学习 — (运维)第九章 Helm 包管理器(2)

本文详细介绍了Kubernetes的包管理器Helm,包括Helm的概念、架构、组件(客户端和库)、安装方法、常用命令,以及Redischart的实践,如修改helm源、安装与管理过程。文章适合IT从业者和对K8s感兴趣的读者深入学习。
摘要由CSDN通过智能技术生成
k8s学习 — (运维)第九章 Helm 包管理器

※ 各章节重要知识点

k8s学习 — 各章节重要知识点

1 什么是 Helm?

Kubernetes 包管理器:Helm 是查找、分享和使用软件构件 Kubernetes 的最优方式。

Helm 管理名为 chart 的 Kubernetes 包的工具。Helm 可以做以下的事情:

  • 从头开始创建新的 chart
  • 将 chart 打包成归档(tgz)文件
  • 与存储 chart 的仓库进行交互
  • 在现有的 Kubernetes 集群中安装和卸载 chart
  • 管理与 Helm 一起安装的 chart 的发布周期

对于Helm,有三个重要的概念:

  1. chart 创建Kubernetes应用程序所必需的一组信息。
  2. config 包含了可以合并到打包的chart中的配置信息,用于创建一个可发布的对象。
  3. release 是一个与特定配置相结合的chart的运行实例。

2 Helm 架构

2.1 重要概念

chart:chart 创建 Kubernetes 应用程序所必需的一组信息。
config:config 包含了可以合并到打包的 chart 中的配置信息,用于创建一个可发布的对象。
release:release 是一个与特定配置相结合的 chart 的运行实例。

2.2 组件

2.2.1 Helm 客户端

Helm 客户端 是终端用户的命令行客户端。负责以下内容:

  • 本地 chart 开发
  • 管理仓库
  • 管理发布
  • 与 Helm 库建立接口
    • 发送安装的 chart
    • 发送升级或卸载现有发布的请求
2.2.2 Helm 库

Helm 库 提供执行所有 Helm 操作的逻辑。与 Kubernetes API 服务交互并提供以下功能:

  • 结合 chart 和配置来构建版本
  • 将 chart 安装到 Kubernetes 中,并提供后续发布对象
  • 与 Kubernetes 交互升级和卸载 chart

独立的 Helm 库封装了 Helm 逻辑以便不同的客户端可以使用它。

3 安装 Helm

https://helm.sh/docs/intro/install

  1. 下载二进制文件:https://get.helm.sh/helm-v3.2.3-linux-amd64.tar.gz
  2. 解压(tar -zxvf helm-v3.10.2-linux-amd64.tar.gz)
  3. 将解压目录下的 helm 程序移动到 usr/local/bin/helm
  4. 添加阿里云 helm 仓库

4 Helm 的常用命令

  1. helm repo:列出、增加、更新、删除 chart 仓库。
  2. helm search:使用关键词搜索 chart。
  3. helm pull:拉取远程仓库中的 chart 到本地。
  4. helm create:在本地创建新的 chart。
  5. helm dependency:管理 chart 依赖。
  6. helm install:安装 chart。
  7. helm list:列出所有 release。
  8. helm lint:检查 chart 配置是否有误。
  9. helm package:打包本地 chart。
  10. helm rollback:回滚 release 到历史版本。
  11. helm uninstall:卸载 release。
  12. helm upgrade:升级 release。

5 chart 详解

5.1 目录结构

mychart
├── Chart.yaml
├── charts # 该目录保存其他依赖的 chart(子 chart)
├── templates # chart 配置模板,用于渲染最终的 Kubernetes YAML 文件
│   ├── NOTES.txt # 用户运行 helm install 时候的提示信息
│   ├── _helpers.tpl # 用于创建模板时的帮助类
│   ├── deployment.yaml # Kubernetes deployment 配置
│   ├── ingress.yaml # Kubernetes ingress 配置
│   ├── service.yaml # Kubernetes service 配置
│   ├── serviceaccount.yaml # Kubernetes serviceaccount 配置
│   └── tests
│       └── test-connection.yaml
└── values.yaml # 定义 chart 模板中的自定义配置的默认值,可以在执行 helm install 或 helm update 的时候覆盖

5.2 Redis chart 实践

5.2.1 修改 helm 源

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值