kubernetes 之Guestbook 留言板
备注:本例是按照kubernetes 权威指南第二版 2.3 Guestbook演示实例:Hello World ! 整理
Guestbook留言板系统部署架构图
Guestbook 留言板系统部署架构图
备注: 本例中的3个Docker 镜像地址为:https://hub.docker.com/u/kubeguide
相关yaml 已经上传到git 点击我的git
首先先定义Service,然后定义一个RC来创建和控制关联的Pod,或者先定义RC来创建Pod,然后定义与之关联的Service
本例是先定义RC 在定义Service
安装Redis集群
[root@master yaml]# vi redis-master-controller.yaml
apiVersion: v1
kind: ReplicationController
metadata:name: redis-masterlabels: name: redis-master
spec:replicas: 1selector:name: redis-mastertemplate:metadata:labels:name: redis-masterspec:containers:- name: masterimage: kubeguide/redis-masterports:- containerPort: 6379
创建完成之后,在master节点上发布到集群中
[root@master yaml]# kubectl create -f redis-master-controller.yaml
replicationcontroller "redis-master" created
用kubectl get 命令确认RC和Pod 创建成功
[root@master yaml]# kubectl get rc
NAME DESIRED CURRENT READY AGE
redis-master 1 1 1 8s
查看Pod
[root@master yaml]# kubectl get pods
NAME READY STATUS RESTARTS AGE
redis-master-brh9j 1/1 Running 0 4m
redis-master Pod 已创建且正常运行后,在创建与之关联的Service
[root@master yaml]# vi redis-master-service.yaml
apiVersion: v1
kind: Service
metadata:name: redis-masterlabels: name: redis-master
spec:ports:- port: 6379targetPort: 6379selector:name: redis-master
运行kubectl create 命令创建该service
[root@master yaml]# kubectl create -f redis-master-service.yaml
service "redis-master" created
运行kubectl get 命令确认Service 运行
[root@master yaml]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 23h
mysql ClusterIP 10.107.118.174 <none> 3306/TCP 19h
myweb NodePort 10.100.179.98 <none> 3306:30001/TCP 16h
redis-master ClusterIP 10.107.69.32 <none> 6379/TCP 14s
tomcat-service NodePort 10.106.225.208 <none> 8080:31003/TCP 16h
已经成功启动了redis-master 服务,下面再创建redis-slave RC 和Service
[root@master yaml]# vi redis-slave-controller.yaml
apiVersion: v1
kind: ReplicationController
metadata:name: redis-slavelabels: name: redis-slave
spec:replicas: 2selector:name: redis-slavetemplate:metadata:labels:name: redis-slavespec:containers:- name: slaveimage: kubeguide/guestbook-redis-slaveenv: - name: GET_HOSTS_FROMvalue: envports:- containerPort: 6379
同上,在master节点发布到集群中
[root@master yaml]# kubectl create -f redis-slave-controller.yaml
replicationcontroller "redis-slave" created
运行kubectl create 确认RC 和Pod 启动
[root@master yaml]# kubectl get rc
NAME DESIRED CURRENT READY AGE
redis-master 1 1 1 15m
redis-slave 2 2 2 41s
[root@master yaml]# kubectl get pods
NAME READY STATUS RESTARTS AGE
redis-master-brh9j 1/1 Running 0 15m
redis-slave-zcdgd 1/1 Running 0 54s
redis-slave-ztznm 1/1 Running 0 54s
创建与redis-slave 相关的Service 服务
[root@master yaml]# vi redis-slave-service.yaml
apiVersion: v1
kind: Service
metadata:name: redis-slavelabels: name: redis-slave
spec:ports:- port: 6379targetPort: 6379selector:name: redis-slave
运行kubectl create 命令发布该Service
[root@master yaml]# kubectl create -f redis-slave-service.yaml
service "redis-slave" created
运行kubectl create 确认 Service 运行
[root@master yaml]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 1d
redis-master ClusterIP 10.107.69.32 <none> 6379/TCP 31m
redis-slave ClusterIP 10.111.164.104 <none> 6379/TCP 23s
安装Frentend 集群
接下来再创建frontendRC 和Service
[root@master yaml]# vi frontend-controller.yaml
apiVersion: v1
kind: ReplicationController
metadata:name: frontend
spec:replicas: 3selector:name: frontend template:metadata:labels:name: frontendspec:containers:- name: frontendimage: kubeguide/guestbook-php-frontendenv:- name: GET_HOSTS_FROMvalue: envports:- containerPort: 80
发布
[root@master yaml]# kubectl create -f frontend-controller.yaml
replicationcontroller "frontend" created
运行kubectl get 确认 创建成功
[root@master yaml]# kubectl get rc
NAME DESIRED CURRENT READY AGE
frontend 3 3 3 22s
mysql 1 1 1 20h
myweb 5 5 5 17h
redis-master 1 1 1 43m
redis-slave 2 2 2 29m[root@master yaml]# kubectl get pods
NAME READY STATUS RESTARTS AGE
frontend-f8g2l 0/1 Running 0 52s
frontend-jdhcg 0/1 Running 0 52s
frontend-r6wtr 0/1 Running 0 52s
redis-master-brh9j 1/1 Running 0 44m
redis-slave-zcdgd 1/1 Running 0 29m
redis-slave-ztznm 1/1 Running 0 29m
[root@master yaml]#
创建与frontend 相关联的Service 服务
[root@master yaml]# vi frontend-service.yaml
apiVersion: v1
kind: Service
metadata:name: frontendlabels: name: frontend
spec:type: NodePortports:- port: 80nodePort: 30003 selector:name: frontend
运行kubectl create 命令发布到集群中
[root@master yaml]# kubectl create -f frontend-service.yaml
service "frontend" created
运行kubectl get 命令确认frontend Service 运行
[root@master yaml]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
frontend NodePort 10.105.54.5 <none> 80:30003/TCP 8s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 1d
redis-master ClusterIP 10.107.69.32 <none> 6379/TCP 41m
redis-slave ClusterIP 10.111.164.104 <none> 6379/TCP 10m
web 页面浏览
在web 上登录:10.10.9.11:30003 or 10.10.9.12:30003/10.10.9.12:30003都能访问如下页面
kubernetes 之Guestbook 留言板相关推荐
- Kubernetes 实现 Guestbook 留言板
基础环境 系统版本:CentOS Linux release 7.5.1804 (Core) kubernetes版本:kubernetes1.3 项目背景 Guestbook留言板系统将通过 Pod ...
- kubernetes学习:留言板(Guestbook)系统的搭建
kubernetes学习:留言板(Guestbook)系统的搭建 master节点搭建 部署环境 Ubuntu 16.04 虚拟机两台 国内镜像源ustc 安装docker环境(https://blo ...
- Kubernetes实战实现 Guestbook 留言板-简易版详解
1.基础信息 系统版本:CentOS Linux release 7.6 kubernetes版本:kubernetes1.14.0 Docker版本: Docker CE 19.03.5 此 Jav ...
- 织梦留言板guestbook.htm加入头部导航
织梦仿站的时候如果有留言板,通常都是不像织梦这样的留言板独立的页面:都是带头部导航的.那么如何在guestbook.htm加入头部导航:如果直接加入head.htm的话.标签在这里是无法调用的:我们必 ...
- guestbook.php注入,php防注入留言板(simple)
新手学php,试手案例便是留言板.以前未连接数据库时,我是直接将用户输入的留言写入到一个txt,然后再从txt读取显示(~.~别鄙视). 最近学习了php访问MySQL数据库的一些知识,重写了一下留言 ...
- mytag.class.php,织梦CMS/dedecms织梦模板留言板调用{dede:}标签的头部尾部的方法
织梦模板网站留言板调用网站的head.htm,footer.htm的方法二, 好多人都想在留言本guestbook.htm里实现dede的标签调用,问题是在plus里不支持dede标签的应用. 现在有 ...
- 网上商城留言板的实现——留言展示到留言板
留言展示到留言板 功能描述:当用户访问留言板(guestbook.jsp)时,会调用GetMessageServlet.java,该servlet内调用数据库操作(MessageDaoImpl.jav ...
- 网上商城留言板的实现——用户添加留言
/** *刘梦冰发表于2015-4-26凌晨 */ 用户添加留言 功能描述:用户在前台hostbook.jsp页面的表单中输入留言信息,点击提交按钮,将留言信息提交给表单form的action属性所对 ...
- 浅析dedecms织梦网站留言板提交时验证码错误的解决办法
默认情况下,如果我们使用DEDE模板中的默认留言板时,如果留言信息不正确或者输入内容为空时,dedecms系统就会返回一个空 白页.这样的方式很不利于用户体验,解决这个问题实际上非常简单. 找到ded ...
最新文章
- 2022年科学突破奖,9人共获奖金1500万美元,mRNA 新冠疫苗2位奠基人获奖
- 自我监督学习:AI技术的未来发展方向
- Javascript 评估用户输入密码的强度
- java语言适合编写什么_01--Java语言概述与开发环境 最适合入门的Java教程
- python 定义一个插入数据(可以插入到每个表中)通用的方法
- Java8 PriorityBlockingQueue源码分析
- 深入分析Php处理浮点数的问题
- 没人告诉你的小工具整理收藏
- . Two Sum(C, C++, Python)
- pdf虚拟打印机下载win7_虚拟打印机(smartprinter) v4.2官方版
- 20年备受关注的6款数据工具!谁最好用?毫无争议的答案来了
- cocos2d高级开发
- 证券交易4-PB系统简介
- 《基于LSTM长短时神经网络的电机旋转振动单步预测》
- .NET c#中调用地图
- shiro.crypto.CryptoException: Unable to correctly extract the Initialization Vector or ciphertext
- MMORPG传奇类手游《空空西游》完整源码(客户端cocos2d-js+服务端pomelo+cocosStudio工程+搭建教程)
- 2017年寒假集训分组测试赛2 Ranklist
- 室内设计——海市蜃楼售楼部室内设计(包含预览图jpg和.psd文件)
- 如何将python项目部署到服务器_怎么把python部署到服务器
热门文章
- Java中I/O(输入/输出)的操作
- WEB自动化_鼠标事件(悬停、单击、右击、双击、拖动)
- cmd 删除文件命令del 删除目录树命令rmdir
- mac os android sd卡,如何在Mac OS下永久删除SD卡上的文件?
- 华为手机怎么清理手机内存,有什么好的方法吗
- Alljoyn之管中窥豹
- css实现上下左右居中显示,CSS实现一个标签上下左右居中的办法
- “造趣文化节,无Party不夏天”主题活动开启潮流文化新体验
- 树莓派WIFI配置(隐藏WIFI,无密码WIFI,多个WIFI,加密WIFI)
- 移动硬盘文件内容发生错误,删除不掉,修改不了请使用chkdsk工具修复