写点什么

运维训练营第 14 周作业

作者:好吃不贵
  • 2023-02-15
    浙江
  • 本文字数:858 字

    阅读完需:约 3 分钟

作业:

1、wordpress 示例中:

(1)使用 statefulset 编排运行 mysql,实例数为 1;

(2)换成使用 Operator 编排运行 mysql,实例数为 1+;

(3)将 mysql 以传统模型的主从复制的形式运行于 Kubernetes 外部,让运行在 Kubernetes 集群上的 wordpress 去访问外部的 MySQL 服务;

2、wordpress 实例扩展至多个,测试应用是否工作正常;

3、Nginx 实例扩展至多个,测试应用是否工作正常;额外为 nginx 添加 https 虚拟主机;

使用 statefulset 编排运行 mysql

目前是通过 Deployment 的 replicaset 来控制的 mysql。

代码里的 kind 之前写的是 Deployment:

运行起来后,具体的情况是:

可以修改为 statefulset 的方式,通过把 kind 修改为 StatefulSet 的方式即可,运行结果如下:

Opeartor 编排运行 mysql

下载官方的 operator 即可。

https://github.com/mysql/mysql-operator

然后 k apply -f deploy-crds.yaml

再 k apply -f deploy-operator.yaml

就部署了 mysql 了,非常方便。

mysql 以传统模型的主从复制形式运行于 k8s 外部

k8s 可以通过 headless 的 service 来访问集群外的资源。

比如把 mysql 部署在服务器 172.29.7.9 上,那么 mysql.yaml 如下:

kind: Service

apiVersion: v1

metadata:

name: mysql-svc

spec:

clusterIP: None

selector:

app: mysql

ports:

- port: 3306

targetPort: 3306

name: http

---

apiVersion: v1

kind: Endpoints

metadata:

name: mysql

namespace: default

subsets:

- addresses:

- ip: 172.29.7.9

ports:

- name: mysql

port: 3306

protocol: TCP

另一台机器安装 mysql:

 apt install mysql-server
复制代码

装好 mysql 后,可以查看 mysql 的状态。

配置好之后,就可以看到 svc 和 endpint 都已经配置了。

wordpress 实例扩展

只需要在 wordpress 的 deployment 里,把 replica 修改为 3 就可以了。

修改后会新部署 2 个 wordpress 的 pod。

nginx 实例扩展

只需要在 nginx 的 deployment 里,把 replica 修改为 3 就可以了。

部署后,会出现新的 2 个 pod。

而且可以看到 nginx 的 3 个 Pod 分别在不同的 node 上。

测试 wordpress,还是可以访问的。

参考链接

https://www.cnblogs.com/xiluhua/p/14760461.html

用户头像

好吃不贵

关注

还未添加个人签名 2018-11-20 加入

还未添加个人简介

评论

发布
暂无评论
运维训练营第14周作业_好吃不贵_InfoQ写作社区