K8s学习十一(Helm包管理)

本文介绍了Helm,作为Kubernetes的包管理器,它用于创建、分享和管理chart。Helm的核心组件包括chart(包含配置和模板)、release(运行实例)以及客户端。文章详细讲解了如何安装Helm、常用命令,如仓库管理、chart操作(如创建、搜索、升级和卸载),并展示了RedisChart的实践案例。
摘要由CSDN通过智能技术生成

Helm包管理器

什么是helm

  • Kubernetes 包管理器
  • Helm 是查找、分享和使用软件构件 Kubernetes 的最优方式。
  • Helm 管理名为 chart 的 Kubernetes 包的工具。Helm 可以做以下的事情:
    • 从头开始创建新的 chart
    • 将 chart 打包成归档(tgz)文件
    • 与存储 chart 的仓库进行交互在现有的 Kubernetes 集群中安装和卸载 chart
    • 管理与 Helm 一起安装的 chart 的发布周期

helm架构

  • chart 创建 Kubernetes 应用程序所必需的一组信息。

  • config 包含了可以合并到打包的 chart 中的配置信息,用于创建一个可发布的对象。

  • release 是一个与特定配置相结合的 chart 的运行实例。

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

本地 chart 开发
管理仓库
管理发布
与 Helm 库建立接口
发送安装的 chart
发送升级或卸载现有发布的请求
  • Helm 库 提供执行所有 Helm 操作的逻辑。与 Kubernetes API 服务交互并提供以下功能:
结合 chart 和配置来构建版本
将 chart 安装到 Kubernetes 中,并提供后续发布对象
与 Kubernetes 交互升级和卸载 chart

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

安装helm

#下载二进制文件
https://get.helm.sh/helm-v3.2.3-linux-amd64.tar.gz


# 解压(tar -zxvf helm-v3.10.2-linux-amd64.tar.gz)

# 将解压目录下的 helm 程序移动到 usr/local/bin/helm


# 添加阿里云 helm 仓库

常用命令

helm repo
列出、增加、更新、删除 chart 仓库

helm search
使用关键词搜索 chart

helm pull
拉取远程仓库中的 chart 到本地

helm create
在本地创建新的 chart

helm dependency
管理 chart 依赖

helm install
安装 chart

helm list
列出所有 release

helm lint
检查 chart 配置是否有误

helm package
打包本地 chart

helm rollback
回滚 release 到历史版本

helm uninstall
卸载 release

helm upgrade
升级 release

chart详解

  • 目录结构


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 的时候覆盖


Redis Chart 实践
# 修改 helm 源
# 查看默认仓库
helm repo list

# 添加仓库
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add aliyun https://apphub.aliyuncs.com/stable
helm repo add azure http://mirror.azure.cn/kubernetes/charts

# 搜索 redis chart
helm search repo redis

# 查看安装说明
helm show readme bitnami/redis


# 修改配置安装
# 先将 chart 拉到本地
helm pull bitnami/redis

# 解压后,修改 values.yaml 中的参数
tar -xvf redis-18.19.4.tgz

# 修改 storageClass 为 managed-nfs-storage
# 设置 redis 密码 password
# 修改集群架构 architecture,默认是主从(replication,3个节点),可以修改为 standalone 单机模式
# 修改实例存储大小 persistence.size 为需要的大小
# 修改 service.nodePorts.redis 向外暴露端口,范围 <30000-32767>

# 安装操作
# 创建命名空间
kubectl create namespace redis

# 安装
cd ../
helm install redis ./redis -n redis

# 查看安装情况
# 查看 helm 安装列表
helm list

# 查看 redis 命名空间下所有对象信息
kubectl get all -n redis

# 升级与回滚
# 要想升级 chart 可以修改本地的 chart 配置(values.yaml)并执行:
helm upgrade [RELEASE] [CHART] [flags]
helm upgrade redis ./redis -n redis
# 使用 helm ls 的命令查看当前运行的 chart 的 release 版本,并使用下面的命令回滚到历史版本:
helm rollback <RELEASE> [REVISION] [flags]

# 查看历史
helm history redis
# 回退到上一版本
helm rollback redis
# 回退到指定版本
helm rollback redis 3

# helm 卸载 redis
helm delete redis -n redis

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值