本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Bitnami MySQL Helm Chart 用于在 Kubernetes 集群上快速部署和管理 MySQL 数据库。MySQL 是一款快速、可靠、可扩展且易于使用的开源关系型数据库系统,专为处理关键任务、高负载的生产应用而设计。本 Chart 基于 Bitnami 优化的 MySQL 容器镜像,支持单机(standalone)和主从复制(replication)两种架构,提供自动化配置、持久化存储、安全加固等企业级特性,适用于开发、测试及生产环境(生产环境推荐使用 Bitnami Secure Images)。
| 功能 | 描述 |
|---|---|
| 多架构支持 | 支持 standalone(单机)和 replication(主从复制)两种部署架构 |
| 安全凭据管理 | 通过 Kubernetes Secret 存储密码,支持自动/手动更新凭据 |
| 初始化脚本 | 支持 .sh、.sql、.sql.gz 类型的初始化脚本,主节点仅执行 SQL 脚本 |
| 监控集成 | 内置 mysqld_exporter,支持 Prometheus 指标采集和 ServiceMonitor 配置 |
| 持久化存储 | 支持动态 PV 配置或现有 PVC 挂载,数据路径 /bitnami/mysql |
| 网络隔离 | 可配置 NetworkPolicy 限制端口访问(默认3306) |
| 灵活的镜像管理 | 支持自定义镜像仓库、标签、拉取策略,兼容不可变标签(推荐生产使用) |
helm install my-release oci://registry-1.docker.io/bitnamicharts/mysql
Bitnami 将升级公共目录,推出 Bitnami Secure Images 计划,具体变更如下:
docker.io/bitnamilegacy 仓库,不再更新详情见 Bitnami Secure Images 公告
指定发布名称(如 my-release)安装:
helm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/mysql
替换
REGISTRY_NAME和REPOSITORY_NAME,Bitnami 官方仓库为registry-1.docker.io/bitnamicharts
创建 values.yaml 配置文件,例如:
architecture: "replication" # 启用主从复制 auth: rootPassword: "StrongRootPass123" password: "UserPass456" replicationPassword: "ReplPass789" persistence: size: "10Gi" # PV 存储大小
执行安装:
helm install my-release oci://registry-1.docker.io/bitnamicharts/mysql -f values.yaml
建议为生产环境配置资源请求和限制,避免资源竞争:
resources: requests: cpu: "500m" memory: "512Mi" limits: cpu: "1000m" memory: "1Gi"
也可通过
resourcesPreset使用预设配置(如small、medium),但生产环境建议手动调整
启用 metrics 采集:
metrics: enabled: true # 部署 mysqld_exporter 边车容器 serviceMonitor: enabled: true # 创建 ServiceMonitor(需 Prometheus Operator)
通过 image.tag 指定版本(需对应 Bitnami 镜像标签):
image: repository: "bitnami/mysql" tag: "8.0.36" # 自定义版本标签
通过 initdbScripts 添加初始化脚本(支持 .sh、.sql、.sql.gz):
initdbScripts: create_database.sh: | #!/bin/bash # 仅主节点执行(主机名含 "primary") if [[ $(hostname) == *primary* ]]; then mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" -e "CREATE DATABASE IF NOT EXISTS app_db;" fi
.sh脚本在所有节点执行(需自行判断节点类型),.sql/.sql.gz仅在主节点执行
启用 TLS 需创建证书 Secret 并配置:
tls: enabled: true existingSecret: "mysql-tls-secret" # 包含 tls.crt、tls.key、ca.crt 的 Secret
自动生成证书(二选一):
tls.autoGenerated.enabled: true + tls.autoGenerated.engine: helmtls.autoGenerated.engine: cert-manager(需指定 Issuer)方法1:手动更新
kubectl create secret generic my-release-mysql --from-literal=root-password=NewRootPass --from-literal=password=NewUserPass --dry-run -o yaml | kubectl apply -f -
方法2:自动更新(推荐)
启用密码更新 Job:
passwordUpdateJob: enabled: true # helm upgrade 时自动执行密码更新 auth: rootPassword: "NewRootPass123" password: "NewUserPass456"
默认使用动态 PV,可自定义存储类或使用现有 PVC:
persistence: enabled: true storageClass: "fast-sc" # 自定义存储类 size: "20Gi" # existingClaim: "mysql-pvc" # 使用现有 PVC(需提前创建)
Bitnami MySQL 镜像也可直接通过 Docker 运行(非 Kubernetes 环境):
docker run -d \ --name mysql \ -e MYSQL_ROOT_PASSWORD=root123 \ -e MYSQL_DATABASE=app_db \ -e MYSQL_USER=app_user \ -e MYSQL_PASSWORD=user123 \ -p 3306:3306 \ -v mysql-data:/bitnami/mysql \ bitnami/mysql:latest
version: '3' services: mysql: image: bitnami/mysql:latest ports: - "3306:3306" environment: - MYSQL_ROOT_PASSWORD=root123 - MYSQL_DATABASE=app_db - MYSQL_USER=app_user - MYSQL_PASSWORD=user123 volumes: - mysql-data:/bitnami/mysql volumes: mysql-data:
| 参数名 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 全局 Docker 镜像仓库 | "" |
global.imagePullSecrets | 全局镜像拉取密钥(数组) | [] |
global.defaultStorageClass | 全局默认存储类 | "" |
global.security.allowInsecureImages | 是否允许不安全镜像(跳过验证) | false |
global.compatibility.openshift.adaptSecurityContext | 是否适配 OpenShift 安全上下文(auto/force/disabled) | auto |
| 参数名 | 描述 | 默认值 |
|---|---|---|
architecture | 部署架构:standalone(单机)或 replication(主从复制) | standalone |
image.registry | MySQL 镜像仓库 | REGISTRY_NAME |
image.repository | MySQL 镜像名称 | REPOSITORY_NAME/mysql |
image.tag | 镜像标签(版本) | latest |
auth.rootPassword | root 用户密码(若使用现有 Secret 则忽略) | "" |
auth.database | 自动创建的数据库名称 | my_database |
auth.username | 自定义用户名 | "" |
auth.replicationUser | 复制用户名称(replication 架构需配置) | replicator |
persistence.enabled | 是否启用持久化存储 | true |
resources.requests.cpu | CPU 请求 | 250m |
resources.requests.memory | 内存请求 | 256Mi |
更多参数(如网络策略、Sidecar、备份配置等)请参考 Bitnami MySQL Chart 官方文档。
生产环境建议使用 Velero 备份 PV 数据:
velero backup create mysql-backup --include-resources=pvc,pv --selector app.kubernetes.io/name=mysql
velero restore create --from-backup mysql-backup
bitnamilegacy 仓库且不再更新,生产环境需迁移至 Bitnami Secure Images8.0.36)而非 latest,避免自动更新导致不一致
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429