通过Kubernetes安装mysql5服务

以下是清晰、结构化的操作流程优化说明,按步骤梳理从部署到配置持久化、暴露服务的完整过程:

一、基础部署:快速验证 MySQL 可用性

  1. 创建有状态工作负载

    进入 KubeSphere 项目 → 工作负载有状态副本集创建 ,选择 通过镜像创建,填写:

    • 名称:mysql-5.7(自定义,便于识别)
    • 镜像:docker.1ms.run/bitnami/mysql:5.7.26(Bitnami 封装的 5.7.26 版本)
    • 容器端口:暴露 3306(TCP 协议,MySQL 默认端口)
    • 环境变量:设置 MYSQL_ROOT_PASSWORD=123456(Root 密码,测试场景简化配置)

    无需额外存储 / 配置,快速部署验证容器启动是否正常。

二、数据持久化:挂载卷防止数据丢失

  1. 理解核心需求

    Bitnami MySQL 镜像的数据目录为 /bitnami/mysql/data,删除容器时该路径数据会丢失。需挂载 持久卷(PV/PVC) 留存数据。

  2. 配置存储挂载

    编辑工作负载 → 存储设置添加存储卷

    • 类型:选择 PVC(持久卷声明) ,若集群无可用 PVC,可直接创建新 PVC(如 mysql-data-pvc)。
    • 挂载路径:/bitnami/mysql/data(严格匹配 Bitnami 数据目录,确保数据持久化)。

    说明:若挂载空目录,首次启动会自动初始化数据库;若已有数据备份,可提前写入 PVC 路径,容器启动会直接加载。

三、配置自定义:注入 my.cnf 覆盖 / 扩展配置

  1. 配置字典(ConfigMap)准备

    项目内 → 配置中心配置字典创建 ,通过 YAML 或表单添加 my.cnf 内容:

    yaml

    复制代码
    data:
      my.cnf: |
        [mysqld]
        lower_case_table_names=1
        max_connections=1000
        # 其他自定义参数...
  2. 挂载配置到容器

    编辑工作负载 → 存储设置挂载配置字典

    • 选择刚创建的 ConfigMap(如 mysql-config)。
    • 挂载路径:
      • 若需覆盖默认配置 ,挂载到 /opt/bitnami/mysql/conf/my.cnf(替换镜像原生配置文件)。
      • 若需扩展默认配置 ,挂载到 /opt/bitnami/mysql/conf.d/custom.cnf(Bitnami 镜像会自动加载 conf.d 目录下的 .cnf 文件)。

四、对外暴露服务:从集群外访问 MySQL

  1. 创建 NodePort 服务

    项目内 → 服务创建无 selector 服务 / 关联工作负载,选择:

    • 关联工作负载:mysql-5.7(匹配之前创建的有状态副本集)
    • 端口设置:
      • 协议:TCP
      • 服务端口:3306(集群内访问端口,可自定义)
      • 目标端口:3306(容器内 MySQL 监听端口)
      • NodePort:自动分配(范围 30000-32767,或手动指定)。
  2. 验证外部访问

    通过集群节点 IP + NodePort 访问,使用 mysql -h IP地址 -P 30000 -u root -p 测试连接,输入密码 123456 验证登录。

五、完整流程总结

  1. 快速验证:用最简配置部署有状态工作负载,确认容器启动正常。
  2. 数据安全 :挂载 PVC 到 /bitnami/mysql/data,保障数据不随容器删除丢失。
  3. 配置定制 :通过 ConfigMap 挂载 my.cnfconfconf.d 目录,灵活覆盖 / 扩展 MySQL 配置。
  4. 外部访问:创建 NodePort 服务,通过集群节点 IP + 端口对外提供 MySQL 访问,完成部署闭环。

此流程适配 Bitnami 镜像的特殊路径要求(数据目录、配置加载逻辑),确保每一步配置都能精准生效,避免因路径不匹配导致的配置失效问题。

相关推荐
凉冰不加冰2 天前
MySQL面试集合
android·adb
Jasonakeke3 天前
【重学 MySQL】九十三、MySQL的字符集的修改与底层原理详解
数据库·mysql·adb
Just_Paranoid3 天前
【AOSP】Android Dump 开发与调试指南
android·adb·service·dumpsys
only_Klein4 天前
mysql双机热备(主主模式)
数据库·mysql·adb
魔芋红茶4 天前
MySQL 从入门到精通 16:主从复制
android·mysql·adb
IDOlaoluo5 天前
如何安装 mysql-installer-community-8.0.21.0.tar.gz(Linux 详细教程附安装包下载)
adb
tan_jianhui5 天前
在Ubuntu中安装配置MySql Server
linux·ubuntu·adb
夏天的味道٥5 天前
MySQL explain命令的作用
android·mysql·adb
mucheni6 天前
迅为R3588S开发板ADB使用手册-运行shell
adb