news 2026/6/10 17:10:00

K8S-Helm

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
K8S-Helm

Helm:Kubernetes 应用管理的利器

在 Kubernetes 生态系统中,应用部署和管理曾是一件繁琐的事情。开发者需要手动编写大量 YAML 配置文件,涉及 Deployment、Service 等众多资源对象,且在多环境部署和版本管理时面临诸多挑战。而 Helm 的出现,为这些问题提供了完美的解决方案。

Helm 核心概念

Helm 作为 Kubernetes 的包管理工具,有三个核心概念:

  • Chart:Helm 的软件包,采用 TAR 格式,包含一组定义 Kubernetes 资源相关的 YAML 文件,且有特定的目录结构。
  • Release:使用helm install命令在 Kubernetes 集群中部署的 Chart 称为 Release。
  • Repository:本质是一个 Web 服务器,保存一系列 Chart 软件包供用户下载,并提供清单文件供查询,Helm 可管理多个不同 Repository。

此外,Helm 包含客户端工具helm和服务端Tiller(Helm v3 中已移除 Tiller,简化了架构)。客户端负责 Chart 的创建、打包等操作,服务端则处理请求并与 Kubernetes 交互完成应用部署等功能。

Helm 工作原理

  1. Chart Install 过程:Helm 解析 Chart 结构信息,将其与 Values 信息传递给 Tiller,Tiller 生成 Release 并发送给 Kubernetes 以完成部署。
  2. Chart Update 过程:Helm 解析更新的 Chart 信息,传递给 Tiller,Tiller 生成新 Release 并更新对应 Release 的历史,再发送给 Kubernetes 完成升级。
  3. Chart Rollback 过程:Helm 将需回滚的 Release 名称传递给 Tiller,Tiller 查找该 Release 历史,获取上一版本并发送给 Kubernetes 完成回滚。

Helm 部署步骤

  1. 安装 Helm 客户端

    mkdir helm wget https://get.helm.sh/helm-v3.14.0-linux-amd64.tar.gz tar -zxvf helm-v3.14.0-linux-amd64.tar.gz cd linux-amd64/ cp helm /usr/local/bin/ echo "source <(helm completion bash)" >> ~/.bashrc source ~/.bashrc
  2. 配置 Chart 库

    • 搜索官方 Helm hub chart 库:helm search hub nginx
    • 添加第三方 Chart 库:
      helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts helm repo add bitnami https://charts.bitnami.com/bitnami
    • 查看 Chart 库:helm repo list
    • 从仓库查找指定 chart:helm search repo nginx

常用 Helm 命令

命令字作用
create使用给定的名称创建新图表
install安装图表
upgrade升级发布
rollback将发布回滚到先前版本
uninstall卸载发布
list列出发布
history获取发布历史记录
repo添加、列出、删除、更新和索引图表存储库
search在图表中搜索关键字

Helm Chart 详解

目录结构

通过helm create命令可创建一个新的 chart 包,其典型目录结构如下:

nginx/ ├── charts # 依赖其他包的 charts 文件 ├── Chart.yaml # 该 chart 的描述文件,包括版本等信息 ├── templates # 存放 k8s 模板文件目录 │ ├── deployment.yaml # 创建 k8s 资源的 yaml 模板 │ ├── _helpers.tpl # 可被其他模板引用的文件 │ ├── hpa.yaml # 弹性扩缩容配置 │ ├── ingress.yaml # ingress 配置 │ ├── NOTES.txt # 安装后展示给用户的说明 │ ├── serviceaccount.yaml # 服务账号配置 │ ├── service.yaml # Service 模板 │ └── tests # 测试模块 │ └── test-connection.yaml └── values.yaml # 给模板文件使用的变量

Chart.yaml

包含 chart 的基本信息,如 API 版本、名称、版本、描述、依赖等,是 chart 的重要描述文件。

Helm 部署案例:部署 Nginx 应用

  1. 拉取 Nginx chart 并解压:

    helm pull bitnami/nginx --version 15.3.5 tar xf nginx-15.3.5.tgz cd nginx
  2. 修改 values.yaml 配置(如服务类型等)。

  3. 安装 chart:

    helm install nginx-server .
  4. 查看部署结果:

    • 查看 deployments:kubectl get deployments.apps
    • 查看 pods:kubectl get pod
    • 查看 services:kubectl get svc
  5. 测试访问:通过 service 的 ClusterIP 进行 curl 测试。

升级与回滚

  1. 修改配置文件(如调整副本数)。
  2. 执行升级:helm upgrade nginx-server .
  3. 查看升级历史:helm history nginx-server
  4. 回滚到指定版本:helm rollback nginx-server 1
  5. 卸载应用:helm uninstall nginx-server

Helm 极大地简化了 Kubernetes 应用的部署、升级、回滚等管理操作,提高了开发和运维效率,是 Kubernetes 生态中不可或缺的工具。通过 Helm,开发者可以更专注于应用本身,而无需过多关注复杂的 Kubernetes 资源配置细节。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 10:11:51

Kubernetes 应用部署与发布策略:Helm 与蓝绿 / 金丝雀发布

目录 一、Helm&#xff1a;Kubernetes 的包管理利器 1.1 Helm 核心概念 1.2 Helm 工作原理 1.3 Helm Chart 详解 1.3.1 Chart 目录结构 1.3.2 Chart.yaml 配置详解 二、蓝绿发布&#xff1a;零停机的版本切换策略 2.1 蓝绿发布核心原理 2.2 蓝绿发布实现方式 2.2.1 通…

作者头像 李华
网站建设 2026/6/9 23:29:54

10 个不能错过的项目源码 —— 适合 GIS 专业课设 / 毕设 / 竞赛练手

小编搜集整理了近 10 个 GIS 项目源码&#xff0c;在此准备陆续进行分享。这些项目多数基于 WebGIS&#xff0c;能够实现一定功能&#xff0c;比如路径规划、人流检测、实时数据可视化分析展示、在线管理等功能&#xff0c;且附有源码和项目文档&#xff0c;有兴趣的同学在尊重…

作者头像 李华
网站建设 2026/6/9 19:49:42

Florence-2-large-ft:统一视觉表征如何重构多任务AI处理范式

Florence-2-large-ft&#xff1a;统一视觉表征如何重构多任务AI处理范式 【免费下载链接】Florence-2-large-ft 项目地址: https://ai.gitcode.com/hf_mirrors/microsoft/Florence-2-large-ft 在计算机视觉领域长期存在的"模型碎片化"问题正在被新一代统一架…

作者头像 李华
网站建设 2026/6/9 20:52:21

3步解锁mcp-agent:打造你的专属AI助手

3步解锁mcp-agent&#xff1a;打造你的专属AI助手 【免费下载链接】mcp-agent Build effective agents using Model Context Protocol and simple workflow patterns 项目地址: https://gitcode.com/GitHub_Trending/mc/mcp-agent 还在为复杂的AI代理配置而烦恼吗&#…

作者头像 李华
网站建设 2026/6/9 22:12:25

金融风险的黄金标准错了吗?一个可能存在70年的模型缺陷

引言&#xff1a;撼动现代金融基石的疑问如果过去这70年里&#xff0c;整个金融世界都在用的那个衡量风险的黄金标准&#xff0c;从根上就错了&#xff0c;会怎么样&#xff1f;这个问题听起来或许有些危言耸听&#xff0c;但一篇新近发表的学术论文正是在对这个现代金融的基石…

作者头像 李华
网站建设 2026/6/10 17:19:13

Roo Code配置API Key详细图文教程

随着VS Code插件生态的发展&#xff0c;越来越多开发者希望在本地编辑器中使用更强大的AI辅助编程能力。Roo Code是一款支持多模型、可配置API的AI编码插件&#xff0c;能够帮助你自动编写代码、补全脚本、重构项目&#xff0c;甚至与本地文件系统交互&#xff0c;是目前使用体…

作者头像 李华