Kubernetes上创建WordPress博客

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

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

第一步,部署Kubernetes集群。

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

参考:web

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

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

参考:网络

第三步,部署Wordpress服务。

使用Helm进行安装。app

$ helm install --name blog stable/wordpres

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

第四步,创建Ingress入口。

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

参考:wordpress

而后,咱们将主机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小时左右才能访问该域名。

可是,我用的阿里云服务器,一下子之后,就能访问到了。若是域名和主机在不一样的地方,可能时间就须要长一些的了。

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

相关文章
相关标签/搜索