通过K8s部署wordpress:5-php7.2-fpm

目标

在默认的名称空间下创建wordpress:5-php7.2-fpm、nginx、mysql的pod。

由于nginx和wordpress(php-fpm)需要共享一个volume,所以这两个pod需要指定在同一node上部署(使用nodeSelector)。

一、给一个node打标签

目前我们测试环境有三个工作节点,分别是35、36、37:

kubectl get nodes
NAME   STATUS   ROLES    AGE     VERSION
31     Ready    master   8d      v1.18.2
32     Ready    master   6d19h   v1.18.2
33     Ready    master   6d19h   v1.18.2
35     Ready    <none>   6d23h   v1.18.2
36     Ready    <none>   6d23h   v1.18.2
37     Ready    <none>   6d23h   v1.18.2

我选择为36节点打上label:

kubectl label nodes 36 nodetype=wordpress
node/36 labeled

kubectl get nodes --show-labels 可以看到36节点最后面加入了nodetype=wordpress标签。

二、设置nginx

1)nginx的default.conf配置

2)设置nginx的yaml文件

二、设置mysql

创建mysql.yaml,内容如下:

三、设置wordpress(php-fpm镜像版本)

创建wordpress.yaml

四、创建应用

查看pod的状态

P.S. 在部署wordpress的容器时我曾经遇到CrashLoopBackOff错误,用kubectl logs 容器Name -p查看日志进行排障,显示为FPM的设置问题。

当时误把socket的监听地址写成容器地址了。

查看pod的端口:

遗留问题:wordpress.yaml配置问题,导致该pod和docker无法正常启动,留日后修改。问题文件gitee路径:https://gitee.com/maxidea/k8s-testing-files/blob/master/k8s/wordpress/wordpress.yaml

Last updated

Was this helpful?