首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kubernetes1.15.1的部署 Wordpress

上节说了RBAC的使用方法,这次实践的方式部署下wordpress,之前也用docker-conpose的方式部署过wordpress,wordpress里面包含两部分,一个程序方式,一个是mysql数据库。现在通过不同的思路来解读如何通过k8s完成服务编排。

(一)一个Pod

创建一个命名空间

编写yaml单个文件

wordpress-pod.yaml

mysql这个容器我们做了一个数据卷的挂载,这是为了能够将mysql的数据能够持久化到节点上,为了保证数据不丢失,容器挂了,重启数据还是通过挂载点

运行yaml文件

查看描述详情

单pod的问题

针对pod进行扩容,结果wordpress程序扩容没问题,但是mysql数据库怎么办啊 给三份啊,明显这种是不行的。数据必须唯一性啊。真的这么简单的话就不需要各种数据库集群解决方案了。那怎么办?拆分成2个pod不就可以了。下面咱们一起实践。

(二)两个Pod

wordpress 一个pod,mysql一个pod。在结合之前学到的知识。

编写wordpress-all.yaml

运行上边的yaml 尝试访问

自动应对流量高峰期

访问下wordpress

192.168.86.100:31306

查看dashboard

自动扩容

解析这个yaml 分析它

通过---来进行分块编写。

都在同一的一个命名空间下。

通过Deployment来管理我们的Pod。

最上边是mysql,如何让mysql和wordpress进行通信要用到一个之前说过的service,type没有写默认的还记得吧都是ClusterIP,集群内可以相互访问。

但是针对wordpress要暴露服务的,需要使用type: NodePort,添加了Nodeport,指定31306的端口。

滚动更新策略,这样可以保证我们在更新应用的时候服务不会被中断RollingUpdate。

mysql重新创建后,clusterIP非常有可能就变化了,不能使用ip的方式,直接通过环境变量别名的方式来写mysql:3306。

为了确定在mysql运行起来之后在运行没wordpress,使用了容器初始化InitContainer的用法,直到mysql服务创建完成后,initContainer才结束,结束完成后我们才开始下面的部署。initContainers。

健康检测,我们前面说过liveness probe和rediness probe是提高应用稳定性非常重要的方法,每10s检测一次应用是否可读,每3s检测一次应用是否存活。

增加 HPA,让我们的应用能够自动应对流量高峰期。

PS:各位老铁下去仔细看下yaml的编写 和添加下 自动扩缩容,主要wordpress提高应用稳定性的方式和方法,这都是前面学习过的,等于把前面一起学习的回顾下。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190902A03CVT00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券