文档章节

Kubernetes上建立WordPress博客

openthings
 openthings
发布于 2018/09/15 23:25
字数 996
阅读 392
收藏 0

在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小时左右才能访问该域名。

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

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

 

© 著作权归作者所有

openthings
粉丝 313
博文 1118
码字总数 644835
作品 1
东城
架构师
私信 提问
Terraform 部署容器服务Kubernetes集群及Wordpress应用

本文档介绍了如何通过 Terraform 在 VPC 环境下部署一个阿里云容器服务 Kubernetes 集群,并在该集群之上,部署一个 WordPress 样例应用。本文档提供一种构建阿里云基础设施的解决方案,让您...

箫竹aron
2018/09/18
0
0
使用Helm 在容器服务k8s集群一键部署wordpress

Helm 是啥? 微服务和容器化给复杂应用部署与管理带来了极大的挑战。Helm是目前Kubernetes服务编排领域的唯一开源子项目,做为Kubernetes应用的一个包管理工具,可理解为Kubernetes的apt-get...

xianlubird
2018/03/09
0
0
简化 Kubernetes Yaml 文件创建

Kubernetes 提供了丰富的 命令,可以较为方便地处理常见任务。如果需要自动化处理复杂的Kubernetes任务,常常需要编写Yaml配置文件。由于Yaml文件格式比较复杂,即使是老手有时也不免会犯错或...

易立
2018/01/10
0
0
WordPress安装使用问题记录

WordPress安装使用问题记录 本文记录在使用WordPress过程中的问题和解决。 安装 比较顺利没有问题,具体如下(CentOS 6.5,DO的CentOS7 image里默认的yum源没有mysql-serve比较奇怪r): 安装a...

青夜之衫
2017/12/05
0
0
扩展wordpress的另类用途

WordPress本身只是一款开源的、基于PHP的博客软件,但是由于WordPress的源码开源、结构优良、插件丰富、主题繁多,以至于是WordPress成为世界上最流行的博客程序。《WordPress获得2009年度开...

任远
2010/08/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

资深架构师带你从JVM层面了解线程的启动和停止

文章简介 这一篇主要围绕线程状态控制相关的操作分析线程的原理,比如线程的中断,线程的通信等,内容比较多,可能会分两篇文章 内容导航 线程的启动的实现原理 线程停止的实现原理分析 为什...

Java-飞鱼
37分钟前
0
0
uditor上传图片

注意图片的配置路径 "imageUrlPrefix": "/blog", //blog代表我的项目名 "imagePathFormat": "/{rand:6}", 图片的名称6位随机数组成,每个人的不一样,要看自己的存在哪 查controller.jsp ......

南桥北木
44分钟前
0
0
Java线程安全策略与多线程并发最佳实践

线程安全策略 不可变对象 不可变对象(Immutable Objects)是指对象一旦被创建它的状态(对象的数据,也即对象属性值)就不能改变,任何对它的改变都应该产生一个新的对象。 不可变对象需要满足...

Java干货分享
50分钟前
2
0
阿里最强Dubbo面试28题答案详解:核心功能+服务治理+架构设计等

1.Dubbo是什么? Dubbo 是一个分布式、高性能、透明化的 RPC 服务框架,提供服务自动注册、自动发现等高效服务治理方案, 可以和 Spring 框架无缝集成。 RPC 指的是远程调用协议,也就是说两...

别打我会飞
53分钟前
6
0
在优麒麟中运行英雄联盟LOL

sudo apt install wine-stable sudo add-apt-repository ppa:lutris-team/lutris sudo apt install lutris 在lutris官网的game分类里找到英雄联盟这个游戏,然后进去那个页面, https://lutr......

gugudu
58分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部