返回博客

如何在 Kubernetes 集群上使用持久卷部署 WordPress

如何在 Kubernetes 集群上使用持久卷部署 WordPress

WordPress 是用于在互联网上部署博客和网站的最受欢迎的内容管理系统之一。它也可以作为一个 Docker 镜像,存在于 DockerHub 注册表上。您可以使用此 Docker 镜像在 Kubernetes 集群上构建一个可靠且可扩展的网站平台。在 Kubernetes 上部署 WordPress 将帮助您实现 CI/CD 流水线,并缩短发布新更新所需的时间。您还可以启用 WordPress 网站的水平扩展,以应对网站流量的激增。

本指南将向您展示如何部署 WordPress 和 MySQL,并结合 Persistent Volume 在 Kubernetes 集群上。

前提条件

验证 Kubernetes 集群

在开始之前,建议验证 Kubernetes 集群的状态。您可以使用 kubectl 命令来验证 Kubernetes。

如果一切正常,您应该会得到以下输出。

k8s nodes

为 MySQL 创建 Secret

一个 Secret 是一个允许您存储敏感数据(如密码或密钥)的对象。在本文中,我们将使用 Secret 来存储 MySQL 密码。

首先,使用以下命令创建一个 base64 编码的密码。

您将在以下输出中获得您的加密密码。

接下来,创建一个 secret.yaml 文件,用于 MySQL 和 WordPress。

添加以下配置。

保存并关闭文件。然后,使用以下命令将上述配置应用到 Kubernetes 集群。

您将得到以下输出。

为 MySQL 和 WordPress 创建 PersistentVolume

您还需要创建一个 PersistentVolume 来存储 MySQL 和 WordPress 的数据。

让我们创建一个 pvc-mysql-wp.yaml 文件。

添加以下配置。

完成后保存并关闭文件。

接下来,使用以下命令在 Kubernetes 集群上为 MySQL 和 WordPress 创建 PersistentVolume。

您应该在以下输出中看到这两个 PersistentVolume。

现在您可以使用以下命令验证这两个 PersistentVolume。

您应该会看到以下输出。

创建 MySQL 部署

接下来,创建一个 MySQL 部署配置文件以下载 MySQL Docker 镜像、创建容器并将 PersistentVolume 挂载到 /var/lib/mysql.

添加以下配置。

完成后保存并关闭文件。然后,将上述配置部署到 Kubernetes 集群。

您应该会看到以下输出。

Mysql Dep

您可以使用以下命令验证 MySQL 部署。

您应该在以下输出中看到 MySQL 部署的状态。

check deployments

创建 WordPress 部署

现在,创建一个 WordPress 部署配置文件以下载 WordPress 镜像、创建容器,并将 PersistentVolume 挂载到 /var/www/html 以存放网站数据文件。该文件还将创建 WORDPRESS_DB_HOSTWORDPRESS_DB_PASSWORD 环境变量以访问数据库。

添加以下配置。

完成后保存文件。然后,使用以下命令将上述配置应用到 Kubernetes 集群。

您应该在以下输出中看到部署成功的消息。

要验证 WordPress 部署,请运行以下命令。

您应该在以下输出中看到 WordPress 部署的状态。

get deployments

访问 WordPress Web UI

要访问 WordPress 仪表板,您需要 LoadBalancer 的外部 IP 和端口号。您可以使用以下命令检索此信息。

您将在以下输出中获得 LoadBalancer 的 IP 和端口。

要获取有关 WordPress Pod 的详细信息,请运行以下命令。

您应该在以下输出中获得 WordPress 的详细信息。

现在,打开您的网页浏览器,并使用以下 URL 访问 WordPress 安装页面: http://78.141.194.181:3162。您应该在接下来的屏幕中看到 WordPress 安装页面。

Configure wordpress

选择您的语言并完成所需步骤以完成安装过程。

总结

在这篇文章中,我们解释了如何在 Kubernetes 集群上使用持久卷部署 MySQL 和 WordPress。您还可以根据网站流量扩展 WordPress 部署。现在,您可以根据开发需求使用上述部署。

此外,请查看我们博客上关于 Docker 和 Kubernetes 的其他教程:

author

Preslav Dobrev

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的创意设计师,专注于通过传统和创新营销渠道打造一致的企业形象。他擅长将艺术愿景与战略营销相融合,创造具有影响力的品牌叙事。

评论

暂无评论。发表第一条评论吧。