• 已创建了企业空间和项目,若还未创建请参考
  • 以上一篇文档创建的 project-regular 用户登录 KubeSphere,进入已创建的企业空间下的项目

约 10 分钟。

第一步:创建密钥

MySQL 的环境变量 MYSQL_ROOT_PASSWORD 即 root 用户的密码属于敏感信息,不适合以明文的方式表现在步骤中,因此以创建密钥的方式来代替该环境变量。创建的密钥将在创建 MySQL 的容器组设置时作为环境变量写入。

1.1. 在当前项目下左侧菜单栏的 配置中心 选择 密钥,点击 创建

1.2. 填写密钥的基本信息,完成后点击 下一步

  • 名称:作为 MySQL 容器中环境变量的名称,可自定义,例如 mysql-secret
  • 别名:别名可以由任意字符组成,帮助您更好的区分资源,例如 MySQL 密钥
  • 描述信息:简单介绍该密钥,如 MySQL 初始密码

基本信息

1.3. 密钥设置页,填写如下信息,完成后点击 创建

  • 类型:选择 默认 (Opaque)
  • Data:Data 键值对填写 MYSQL_ROOT_PASSWORD123456

第二步:创建有状态副本集

创建有状态副本集

第三步:填写基本信息

基本信息中,参考如下填写,完成后点击 下一步

  • 名称:必填,起一个简洁明了的名称,便于用户浏览和搜索,例如填写 wordpress-mysql
  • 描述信息:简单介绍该工作负载,方便用户进一步了解

第四步:容器组模板

4.1. 点击 添加容器,填写容器组设置,名称可由用户自定义,镜像填写 mysql:5.6(应指定镜像版本号),CPU 此处暂不作限定,将使用在创建项目时指定的默认请求值,内存的 最大使用 设置为 1024 Mi (即 1 Gi)。

展开 高级选项

添加容器

4.2. 对 端口环境变量 进行设置,其它项暂不作设置,完成后点击 保存

  • 端口:名称可自定义,选择 TCP 协议,填写 MySQL 在容器内的端口 3306
  • 环境变量:点击 引用配置中心,名称填写 MYSQL_ROOT_PASSWORD,选择在第一步创建的密钥 mysql-secret (MySQL 密钥)MYSQL_ROOT_PASSWORD

第五步:添加存储卷模板

容器组模板完成后点击 下一步,在存储卷模板中点击 添加存储卷模板。有状态应用的数据需要存储在持久化存储卷 (PVC) 中,因此需要添加存储卷来实现数据持久化。参考下图填写存储卷信息,完成后点击 保存。添加存储卷模板完成后,点击 下一步

  • 存储卷名称:必填,起一个简洁明了的名称,便于用户浏览和搜索,此处填写 mysql-pvc
  • 描述信息:简单介绍该存储卷,方便用户进一步了解,如 MySQL 存储卷
  • 存储类型:选择集群已有的存储类型,如
  • 容量和访问模式:容量默认 10 Gi,访问模式选择 ReadWriteOnce (单个节点读写)
  • 挂载路径:存储卷在容器内的挂载路径,选择 读写,路径填写 /var/lib/mysql

添加存储卷模板

第六步:服务配置

一个 Kubernetes 的服务 (Service) 是一种抽象,它定义了一类 Pod 的逻辑集合和一个用于访问它们的策略 - 有的时候被称之为微服务。因此要将 MySQL 应用暴露给外部访问,需要创建服务,参考以下截图完成参数设置,完成后点击 下一步

  • 服务名称:此处填写 mysql-service,注意,这里定义的服务名称将关联 Wordpress,因此在创建 Wordpress 添加环境变量时应填此服务名
  • 会话亲和性:默认 None

第七步:标签设置

为方便识别此应用,我们标签设置为 app: wordpress-mysql。下一步的节点选择器可以指定容器组调度到期望运行的节点上,此处暂不作设置,直接点击 创建

标签设置

在列表页可以看到有状态副本集 “wordpress-mysql” 的状态为 “更新中”,该过程需要拉取镜像仓库中指定 tag 的 Docker 镜像、创建容器和初始化数据库等一系列操作,状态显示 ContainerCreating。正常情况下在一分钟左右状态将变为 “运行中”,点击该项即可进入有状态副本集的详情页,包括资源状态、版本控制、监控、环境变量、事件等信息。

至此,有状态应用 MySQL 已经创建成功,将作为 Wordpress 网站的后端数据库。下一步需要创建 Wordpress 部署并通过外网访问该应用,参见 。