Helm 常用命令 + Bitnami 中间件部署速查表

发布于:2025-08-16 ⋅ 阅读:(14) ⋅ 点赞:(0)

下面整理了一份 Helm 常用命令 + Bitnami 中间件部署速查表,方便在 Rancher/Kubernetes 环境里快速安装 MySQL、Redis 等常用服务。

一、Helm 常用命令速查表

首先,确保安装了Helm:这里我已安装好 Helm(v3.18.4 版本)

helm version

version.BuildInfo{Version:"v3.18.4", GitCommit:"d80839cf37d860c8aa9a0503fe463278f26cd5e2", GitTreeState:"clean", GoVersion:"go1.24.4"}

1.1. 仓库管理

# 添加仓库(例如 Bitnami)
helm repo add bitnami https://charts.bitnami.com/bitnami

# 查看仓库列表
helm repo list

# 更新仓库缓存
helm repo update

# 删除仓库
helm repo remove bitnami

1.2. Chart 搜索

# 搜索 MySQL
helm search repo mysql

# 搜索 Redis
helm search repo redis

在这里插入图片描述

1.3. 应用部署

# 安装 MySQL
helm install my-mysql bitnami/mysql --namespace database --create-namespace

# 安装 Redis
helm install my-redis bitnami/redis --namespace database --create-namespace
# 自定义配置安装(指定 values.yaml)
helm install my-mysql bitnami/mysql -f values.yaml

1.4. 应用管理

# 查看已部署的应用
helm list -n database

# 升级应用
helm upgrade my-mysql bitnami/mysql -f values.yaml

# 回滚到上一个版本
helm rollback my-mysql 1
# 卸载应用
helm uninstall my-mysql -n database

二、Bitnami 常用中间件部署示例

中间件 部署命令(默认配置) 访问方式 重要参数
MySQL helm install my-mysql bitnami/mysql --set auth.rootPassword=123456 ClusterIP auth.rootPassword 设 root 密码
Redis helm install my-redis bitnami/redis --set auth.password=123456 ClusterIP auth.password 设置密码
PostgreSQL helm install my-postgres bitnami/postgresql --set auth.postgresPassword=123456 ClusterIP auth.postgresPassword 设置密码
MongoDB helm install my-mongo bitnami/mongodb --set auth.rootPassword=123456 ClusterIP auth.rootPassword 设置密码
Nginx helm install my-nginx bitnami/nginx ClusterIP / NodePort service.type=NodePort 对外暴露
RabbitMQ helm install my-rabbit bitnami/rabbitmq --set auth.password=123456 ClusterIP auth.username & auth.password
Elasticsearch helm install my-es bitnami/elasticsearch ClusterIP 可加 volumePermissions.enabled=true

三、常用自定义参数(values.yaml 配置项)

auth:
  rootPassword: "123456"
  username: "user1"
  password: "pass1"
  database: "mydb"

primary:
  persistence:
    enabled: true
    size: 10Gi

replica:
  replicaCount: 2

安装时:

helm install my-mysql bitnami/mysql -f values.yaml

四、安装后的访问方式

# 查看密码
kubectl get secret --namespace database my-mysql -o jsonpath="{.data.mysql-root-password}" | base64 -d

# 进入 Pod
kubectl exec -it my-mysql-0 -n database -- bash

# 使用 MySQL 客户端连接
mysql -h my-mysql.database.svc.cluster.local -u root -p

五、一键安装脚本 install-middleware.sh

一键安装 MySQL、Redis、PostgreSQL 等常用中间件 的 Helm 自动化脚本,支持指定版本、命名空间和 Bitnami Chart 仓库自动添加。

确保你已经在 Rancher 的目标集群中安装了 Helm,并且有集群的 kubectl 访问权限。

5.1. 完整脚本

#!/bin/bash
# ============================================
# Helm 一键安装 MySQL、Redis、PostgreSQL 等常用中间件
# 作者: tigerhhzz
# 日期: 2025-08-14
# ============================================

set -e

# ======= 1. 配置部分 =======
NAMESPACE="middleware"
MYSQL_VERSION="9.4.5"
REDIS_VERSION="18.8.2"
POSTGRES_VERSION="15.2.2"

# ======= 2. 检查 Helm =======
if ! command -v helm &>/dev/null; then
  echo "[ERROR] Helm 未安装,请先安装 Helm"
  exit 1
fi

# ======= 3. 创建命名空间 =======
kubectl get ns $NAMESPACE >/dev/null 2>&1 || kubectl create ns $NAMESPACE

# ======= 4. 添加 Bitnami 仓库 =======
if ! helm repo list | grep -q "bitnami"; then
  echo "[INFO] 添加 Bitnami Helm 仓库..."
  helm repo add bitnami https://charts.bitnami.com/bitnami
fi
helm repo update

# ======= 5. 安装 MySQL =======
echo "[INFO] 安装 MySQL..."
helm upgrade --install mysql bitnami/mysql \
  --namespace $NAMESPACE \
  --version $MYSQL_VERSION \
  --set auth.rootPassword=root123 \
  --set auth.database=appdb \
  --set auth.username=appuser \
  --set auth.password=app123

# ======= 6. 安装 Redis =======
echo "[INFO] 安装 Redis..."
helm upgrade --install redis bitnami/redis \
  --namespace $NAMESPACE \
  --version $REDIS_VERSION \
  --set auth.password=redis123

# ======= 7. 安装 PostgreSQL =======
echo "[INFO] 安装 PostgreSQL..."
helm upgrade --install postgresql bitnami/postgresql \
  --namespace $NAMESPACE \
  --version $POSTGRES_VERSION \
  --set auth.postgresPassword=pg123 \
  --set auth.database=pgdb

# ======= 8. 显示安装结果 =======
echo "[INFO] 所有中间件安装完成,当前运行情况:"
kubectl get pods -n $NAMESPACE

5.2. 使用方式

chmod +x install-middleware.sh
./install-middleware.sh

5.3. 部署完成后获取连接信息

获取 MySQL 密码

kubectl get secret --namespace middleware mysql -o jsonpath="{.data.mysql-root-password}" | base64 --decode

获取 Redis 密码

kubectl get secret --namespace middleware redis -o jsonpath="{.data.redis-password}" | base64 --decode

获取 PostgreSQL 密码

kubectl get secret --namespace middleware postgresql -o jsonpath="{.data.postgres-password}" | base64 --decode

在这里插入图片描述


“人的一生会经历很多痛苦,但回头想想,都是传奇”。



网站公告

今日签到

点亮在社区的每一天
去签到