当前位置: 首页 > news >正文

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

文章目录

    • 一、Helm 常用命令速查表
      • 1.1. 仓库管理
      • 1.2. Chart 搜索
      • 1.3. 应用部署
      • 1.4. 应用管理
    • 二、Bitnami 常用中间件部署示例
    • 三、常用自定义参数(values.yaml 配置项)
    • 四、安装后的访问方式
    • 五、一键安装脚本 install-middleware.sh
      • 5.1. 完整脚本
      • 5.2. 使用方式
      • 5.3. 部署完成后获取连接信息

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

一、Helm 常用命令速查表

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

helm versionversion.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 常用中间件部署示例

中间件部署命令(默认配置)访问方式重要参数
MySQLhelm install my-mysql bitnami/mysql --set auth.rootPassword=123456ClusterIPauth.rootPassword 设 root 密码
Redishelm install my-redis bitnami/redis --set auth.password=123456ClusterIPauth.password 设置密码
PostgreSQLhelm install my-postgres bitnami/postgresql --set auth.postgresPassword=123456ClusterIPauth.postgresPassword 设置密码
MongoDBhelm install my-mongo bitnami/mongodb --set auth.rootPassword=123456ClusterIPauth.rootPassword 设置密码
Nginxhelm install my-nginx bitnami/nginxClusterIP / NodePortservice.type=NodePort 对外暴露
RabbitMQhelm install my-rabbit bitnami/rabbitmq --set auth.password=123456ClusterIPauth.username & auth.password
Elasticsearchhelm install my-es bitnami/elasticsearchClusterIP可加 volumePermissions.enabled=true

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

auth:rootPassword: "123456"username: "user1"password: "pass1"database: "mydb"primary:persistence:enabled: truesize: 10Gireplica: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; thenecho "[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"; thenecho "[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

在这里插入图片描述


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


http://www.lryc.cn/news/621612.html

相关文章:

  • 北京JAVA基础面试30天打卡10
  • JVM核心原理与实战优化指南
  • Java 调用 Python 脚本:实现 HelloWorld
  • Android 欧盟网络安全EN18031 要求对应的基本表格填写
  • 电脑上练打字用什么软件最好:10款打字软件评测
  • 【Linux】编辑器vim的使用
  • IDE:vscode的vue3模板
  • STM32 - Embedded IDE - GCC - 解决LWRB库在GCC编译器会编译失败,在ARMCC编译器时却正常编译
  • collections:容器数据类型
  • 《R for Data Science (2e)》免费中文翻译 (第4章) --- Workflow: code style
  • uniapp 开发微信小程序,获取经纬度并且转化详细地址(单独封装版本)
  • 启动electron桌面项目控制台输出中文时乱码解决
  • 解锁AI大模型:Prompt工程全面解析
  • 玻璃pcb是什么材质?哪家工厂可以生产?
  • C++:stl-> list的模拟实现
  • NAT 和 PNAT
  • Oracle按照特定列值排序和C#统计特定列值的所有行
  • 当云手机出现卡顿怎么办?
  • 云手机选哪个比较好用?
  • 手机端的音视频界面或者图片文档界面共享给大屏
  • 实用技巧:Oracle中精准查看表占用空间大小
  • Rust 中 i32 与 *i32 的深度解析
  • Java-JVM的内存模型
  • 网上商城|基于SprinBoot+vue的分布式架构网上商城系统(源码+数据库+文档)
  • 【学习笔记】进程、线程、协程及进程间通信
  • 电脑开机几秒后就停止然后再循环是怎么回事
  • 深入理解 Python 闭包:从原理到实践
  • 永磁同步电机控制 第二篇、电机的分类
  • web学习笔记6
  • 使用原生css实现word目录样式,标题后面的...动态长度并始终在标题后方(生成点线)