步骤1:部署MySQL
WordPress需配合MySQL一起使用,WordPress运行内容管理程序,MySQL作为数据库存储数据。
前提条件
已创建一个包含4核8G节点的CCE集群。创建集群的方法,请参见快速创建Kubernetes集群。
通过控制台创建MySQL
- 登录CCE控制台。
- 单击集群进入集群控制台。
- 在左侧菜单栏选择“工作负载”,单击右上角“创建工作负载”。
- 填写工作负载基本信息。
- 负载类型:选择有状态负载。
- 负载名称:mysql。
- 命名空间:default。
- 实例数量:本例中修改数量为1,即创建单实例的MySQL。
- 填写容器基本信息。
在基本信息中单击“选择镜像”,在弹出的窗口中选择“镜像中心”,并搜索“mysql”,选择mysql镜像,并设置镜像版本为“5.7”。
- 在“环境变量”下添加如下环境变量,此处一共需要设置四个环境变量。您可以在MySQL查看MySQL可以设置哪些环境变量。
- MYSQL_ROOT_PASSWORD:MySQL的root用户密码,可自定义。
- MYSQL_DATABASE:镜像启动时要创建的数据库名称,可自定义。
- MYSQL_USER:数据库用户名称,可自定义。
- MYSQL_PASSWORD:数据库用户密码,可自定义。
- 在“生命周期”下设置“启动命令”。
- 运行命令:
/bin/bash
- 运行参数:
-c rm -rf /var/lib/mysql/lost+found;docker-entrypoint.sh mysqld;
- 运行命令:
- 在“数据存储”下选择“动态挂载 (VolumeClaimTemplate)”,添加云硬盘存储作为MySQL的存储。
单击“创建存储卷声明PVC”,并填写以下关键参数,其余参数可保持默认:
- 存储卷声明类型:选择“云硬盘”类型。
- PVC名称:自定义PVC名称,如mysql。
- 创建方式:仅支持“动态创建”。
- 存储类:默认为csi-disk。
- 可用区:选择一个可用区,云硬盘只能挂载到同一可用区的节点上,创建后不支持更换可用区,请谨慎选择。
- 云硬盘类型:请根据需求自定义选择合适的云硬盘类型。
- 容量(GiB):请根据需求填写容量,默认为10GiB。
单击“创建”,然后填写存储挂载到容器的路径, MySQL默认使用的路径为“/var/lib/mysql”。
- 在“实例间发现服务配置”设置Headless Service。
有状态负载需要配置一个用于实例间发现的Headless Service,Headless Service会生成每个Pod的集群DNS地址,可以实现对有状态负载某个特定实例的访问,对于多副本具有主副关系的MySQL 数据库,需要使用Headless Service对MySQL主服务器进行读写,并对其他副本进行数据复制。本示例中MySQL为单实例,因此并未使用Headless Service的相关功能,填写3306端口即可。关于多实例MySQL的示例请参见运行一个有状态的应用程序。
- 在“服务配置”中单击加号,创建服务(Service),用于从WordPress访问MySQL。
访问类型选择集群内访问(ClusterIP),服务名称设置为mysql,容器端口和服务端口都配置为3306,单击“确定”。
mysql镜像的默认访问端口默认为3306,所以容器端口的ID设置为3306,访问端口可以设置为其他端口号,但这里也设置成3306是为了方便使用。
这样在集群内部,通过服务名称:访问端口就可以访问MySQL负载,也就是mysql:3306。
- 单击右下角“创建工作负载”。
等待工作负载创建成功。
创建成功后在有状态负载下会显示一个运行中的工作负载。