Skip to content

Helm 操作指南

通用操作模式

所有应用模块都提供统一的 install.sh 脚本,支持 installupgradedelete 三个操作:

bash
# 安装
bash install.sh install    # 或 bash install.sh(默认)

# 升级
bash install.sh upgrade

# 删除
bash install.sh delete

安装单个模块

bash
# 进入模块目录
cd k3s-yidun-apps/yidun-platform/01-app/antispam-rule

# 安装
bash install.sh

# 查看安装状态
helm status antispam-rule -n yidun

# 查看 Pod
kubectl get pod -n yidun -l app.kubernetes.io/instance=antispam-rule

批量操作

bash
# 安装所有平台模块(textonly=true 模式)
cd k3s-yidun-apps/yidun-platform/01-app
bash install-all.sh install

# 升级所有模块
bash install-all.sh upgrade

# 删除所有模块
bash install-all.sh delete

查看所有 Release

bash
# 查看 yidun namespace 下的所有 release
helm list -n yidun

# 查看所有 namespace
helm list -A

# 示例输出
NAME                    NAMESPACE   REVISION  STATUS    CHART
antispam-business       yidun       1         deployed  antispam-business-1.0.0
antispam                yidun       1         deployed  antispam-1.0.0
antispam-rule           yidun       2         deployed  antispam-rule-1.0.0
...

查看/修改配置

bash
# 查看当前使用的 values
helm get values antispam-rule -n yidun

# 查看完整 values(含默认值)
helm get values antispam-rule -n yidun --all

# 临时覆盖某个值升级
helm upgrade antispam-rule . \
  --set image.tag=v20260601 \
  -n yidun

镜像版本更新

每个模块的 values.yaml 中定义镜像版本,升级时修改 values 后执行 upgrade:

bash
# 1. 修改 values.yaml 中的 image.tag
vim k3s-yidun-apps/yidun-text/values.yaml

# 2. 执行升级
cd k3s-yidun-apps/yidun-text
bash install.sh upgrade

# 3. 验证
kubectl get pod -n yidun-text
kubectl describe pod <pod-name> -n yidun-text | grep Image

镜像收集

bash
# 列出所有模块使用的镜像(用于离线准备)
cd k3s-yidun-apps/yidun-platform/01-app
bash install-all.sh collect

回滚

bash
# 查看某个 release 的历史版本
helm history antispam-rule -n yidun

# 回滚到上一个版本
helm rollback antispam-rule -n yidun

# 回滚到指定版本
helm rollback antispam-rule 1 -n yidun

常见问题

Pod 一直 ImagePullBackOff

bash
# 查看 Pod 事件
kubectl describe pod <pod-name> -n yidun | grep -A 10 Events

# 检查镜像是否在 registry 中
curl http://private-registry.yidun.internal/v2/<image-repo>/tags/list

# 检查 registry 是否正常
curl http://private-registry.yidun.internal/v2/_catalog

Pod 一直 Pending

bash
# 查看调度失败原因
kubectl describe pod <pod-name> -n yidun | grep -A 5 "Events"

# 常见原因 1:节点标签不匹配
kubectl get node --show-labels | grep kafka

# 常见原因 2:资源不足
kubectl top node
kubectl describe node <node-name> | grep -A 10 "Allocated resources"

helm install 失败后重装

bash
# 清理失败的 release
helm uninstall antispam-rule -n yidun

# 重新安装
bash install.sh install

内部使用文档,请勿外传