Kubernetes上建立WordPress博客

原创
2018/09/15 23:25
阅读数 4.8K

在Kubernetes上运行WordPress的好处是显而易见的。首先是安装非常简单(在已有集群的情况下),其次是可靠性更高,第三是规模可以伸缩。当然,可以在多个云之间更为容易地迁移也是非常重要的一点。

Kubernetes上运行WordPress是一个可伸缩性服务运行于云原生集群的典型案例,拿来学习也是极好的。

第一步,部署Kubernetes集群。

Kubernetes是一个容器编排系统,可以实现基于容器技术的大规模集群调度、管理。步骤包括安装关闭swap、清空ipTable、安装Docker、添加Kubernetes安装源、安装Kubeadm//kubectl/kubelet基础工具和服务、配置Kubernetes集群、安装Flannel网络驱动、安装Dashboard、安装Helm软件包管理工具等等。

参考:

第二步,建立NFS存储服务。

在扩大系统的规模时,WordPress应用服务的Pod可以增加运行的拷贝数量,遇到故障时Pod可以转移到其它节点。为了浮动节点都能够访问统一的存储,我们使用NFS来建立网络存储服务,当然在云数据中心也可以使用云计算服务商提供的存储卷。对于规模较大的站点,也可以自己利用或部署Rook(Ceph)分布式存储系统。

参考:

第三步,部署Wordpress服务。

使用Helm进行安装。

$ helm install --name blog stable/wordpres

其中,blog为给WordPress建立的单独的域名,Helm将会自动创建。执行完毕后,可以使用 helm ls 查看安装的部署实例。然后再到Kubernetes Dashboard中可以看到新的命名空间和Pod的运行状态。

第四步,建立Ingress入口。

首先,需要安装Ingress Controller,Kubernetes虽然提供了Ingress的规则配置项,并未提供缺省的执行器,需要单独安装。

参考:

然后,我们将主机IP地址(或访问路径)映射到WordPress站点,以便外来客户端的访问。

piVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: k8s-wordpress
  namespace: blog
  annotations:
#    nginx.ingress.kubernetes.io/ssl-redirect: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /
#    nginx.ingress.kubernetes.io/secure-backends: "true"

spec:
#  tls:
#   - secretName: k8s-wordpress-secret
  rules:
   - http:
      paths:
      - path: /
        backend:
          serviceName: wordpress-wordpress
          servicePort: 80
      - path: /web
        backend:
          serviceName: wordpress-wordpress
          servicePort: 443

将上面的内容保存到文件,名为 wordpress-ingress.yaml,运行下面的命令安装:

kubectl apply -f wordpress-ingress.yaml

第五步,进行域名映射。

申请域名,比如通过阿里云可以在控制台查询和申请域名。然后将域名解析记录添加进去。

主要包括:

  • 添加A记录,主机头www,填写刚才的主机IP地址。
  • 添加A记录,主机头@,填写刚才的主机IP地址。

按照系统提示,要24小时左右才能访问该域名。

但是,我用的阿里云服务器,一会儿以后,就能访问到了。如果域名和主机在不同的地方,可能时间就需要长一些的了。

更高级的用法,留待后面实践和分享。

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部