本篇内容介绍了“Kubernetes怎么实现留言板功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!系统版本:CentOS Linux release 7.5.1804 (Core)kubernetes版本:kubernetes1.3Guestbook留言板系统将通过 Pod、RC、Service 等资源对象搭建完成,成功启动后网页中显示一条”Hello World”留言。其系统架构是一个基于PHP+Redis的分布式Web应用,前端PHP Web网站通过访问后端的 Redis 来完成用户留言的查询和添加功能。同时Redis以Master+Slave 的模式进行部署,实现数据的读写分离能力。 Web层是一个基于 PHP 页面的 Apache 服务,启动 3 个实例组成集群,实现访问网站的负载均衡。Redis Master启动 1 个实例用于写操作(添加留言),Redis Slave 启动两个实例用于读操作(读取留言)。Redis Master与 Slave 的数据同步由 Redis 具备的数据同步机制完成。可以先定义 Service,然后定义一个 RC来创建和控制相关联的 Pod,或者先定义 RC 来创建 Pod,然后定义与之关联的 Service。首先为 redis-mas开发云主机域名ter 创建一个名为 redis-master 的 RC 定义文件 redis-master-controller.yaml。创建完成之后,在master节点上发布到集群中用kubectl get 命令确认RC和Pod 创建成功redis-master Pod 已创建且正常运行后,在创建与之关联的Service运行kubectl create 命令创建该service本示例启动启动 redis-slave 服务的两个副本,每个副本上的 Redis 进程都与 redis-master进行数据同步,与 redis-master 共同组成了一个具备读写分离能力的 Redis集群。留言板的PHP网页通过访问 redis-slave 服务来读取留言数据。在容器的配置部分设置了一个环境变量 GET_HOSTS_FROM=env ,意思是从环境变量中获取 redis-master服务的 IP 地址信息。redis-slave 镜像中的启动脚本 /run.sh 的内容为:创建与redis-slave 相关的Service 服务,类似于 redis-master服务。运行kubectl 创建 Service# cat frontend-controller.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: frontend
labels:
name: frontend
spec:
replicas: 3
selector:
name: frontend
template:
metadata:
labels:
name: frontend
spec:
containers:
– name: frontend
image: kubeguide/guestbook-php-frontend
env:
– name: GET_HOSTS_FROM
value: env
ports:
– containerPort: 80在容器的配置部分设置了一个环境变量 GET_HOSTS_FROM=env ,意思是从环境变量中获取 redis-master 和 redis-slave 服务的 IP 地址信息。查看创建的# cat frontend-service.yaml
apiVersion: v1
kind: Service
metadata:
name: frontend
labels:
name: frontend
spec:
type: NodePort
ports:
– port: 80
nodePort: 30003
selector:
name: frontend运行kubectl create 命令发布到集群中web页面浏览http://192.168.200.129:30003/,http://192.168.200.130:30003/ 备注:为 Node节点的IP再次登录会查看到留言,说明数据读取写入没有问题。“Kubernetes怎么实现留言板功能”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注开发云网站,小编将为大家输出更多高质量的实用文章!
相关推荐: 怎么用Docker搭建简易的Java Web环境
本篇内容主要讲解“怎么用Docker搭建简易的Java Web环境”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Docker搭建简易的Java Web环境”吧!最近公司正在使用 Java Web 开发网站应用…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。