备注:本例是按照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 留言板相关推荐

  1. Kubernetes 实现 Guestbook 留言板

    基础环境 系统版本:CentOS Linux release 7.5.1804 (Core) kubernetes版本:kubernetes1.3 项目背景 Guestbook留言板系统将通过 Pod ...

  2. kubernetes学习:留言板(Guestbook)系统的搭建

    kubernetes学习:留言板(Guestbook)系统的搭建 master节点搭建 部署环境 Ubuntu 16.04 虚拟机两台 国内镜像源ustc 安装docker环境(https://blo ...

  3. Kubernetes实战实现 Guestbook 留言板-简易版详解

    1.基础信息 系统版本:CentOS Linux release 7.6 kubernetes版本:kubernetes1.14.0 Docker版本: Docker CE 19.03.5 此 Jav ...

  4. 织梦留言板guestbook.htm加入头部导航

    织梦仿站的时候如果有留言板,通常都是不像织梦这样的留言板独立的页面:都是带头部导航的.那么如何在guestbook.htm加入头部导航:如果直接加入head.htm的话.标签在这里是无法调用的:我们必 ...

  5. guestbook.php注入,php防注入留言板(simple)

    新手学php,试手案例便是留言板.以前未连接数据库时,我是直接将用户输入的留言写入到一个txt,然后再从txt读取显示(~.~别鄙视). 最近学习了php访问MySQL数据库的一些知识,重写了一下留言 ...

  6. mytag.class.php,织梦CMS/dedecms织梦模板留言板调用{dede:}标签的头部尾部的方法

    织梦模板网站留言板调用网站的head.htm,footer.htm的方法二, 好多人都想在留言本guestbook.htm里实现dede的标签调用,问题是在plus里不支持dede标签的应用. 现在有 ...

  7. 网上商城留言板的实现——留言展示到留言板

    留言展示到留言板 功能描述:当用户访问留言板(guestbook.jsp)时,会调用GetMessageServlet.java,该servlet内调用数据库操作(MessageDaoImpl.jav ...

  8. 网上商城留言板的实现——用户添加留言

    /** *刘梦冰发表于2015-4-26凌晨 */ 用户添加留言 功能描述:用户在前台hostbook.jsp页面的表单中输入留言信息,点击提交按钮,将留言信息提交给表单form的action属性所对 ...

  9. 浅析dedecms织梦网站留言板提交时验证码错误的解决办法

    默认情况下,如果我们使用DEDE模板中的默认留言板时,如果留言信息不正确或者输入内容为空时,dedecms系统就会返回一个空 白页.这样的方式很不利于用户体验,解决这个问题实际上非常简单. 找到ded ...

最新文章

  1. 2022年科学突破奖,9人共获奖金1500万美元,mRNA 新冠疫苗2位奠基人获奖
  2. 自我监督学习:AI技术的未来发展方向
  3. Javascript 评估用户输入密码的强度
  4. java语言适合编写什么_01--Java语言概述与开发环境 最适合入门的Java教程
  5. python 定义一个插入数据(可以插入到每个表中)通用的方法
  6. Java8 PriorityBlockingQueue源码分析
  7. 深入分析Php处理浮点数的问题
  8. 没人告诉你的小工具整理收藏
  9. . Two Sum(C, C++, Python)
  10. pdf虚拟打印机下载win7_虚拟打印机(smartprinter) v4.2官方版
  11. 20年备受关注的6款数据工具!谁最好用?毫无争议的答案来了
  12. cocos2d高级开发
  13. 证券交易4-PB系统简介
  14. 《基于LSTM长短时神经网络的电机旋转振动单步预测》
  15. .NET c#中调用地图
  16. shiro.crypto.CryptoException: Unable to correctly extract the Initialization Vector or ciphertext
  17. MMORPG传奇类手游《空空西游》完整源码(客户端cocos2d-js+服务端pomelo+cocosStudio工程+搭建教程)
  18. 2017年寒假集训分组测试赛2 Ranklist
  19. 室内设计——海市蜃楼售楼部室内设计(包含预览图jpg和.psd文件)
  20. 如何将python项目部署到服务器_怎么把python部署到服务器

热门文章

  1. Java中I/O(输入/输出)的操作
  2. WEB自动化_鼠标事件(悬停、单击、右击、双击、拖动)
  3. cmd 删除文件命令del 删除目录树命令rmdir
  4. mac os android sd卡,如何在Mac OS下永久删除SD卡上的文件?
  5. 华为手机怎么清理手机内存,有什么好的方法吗
  6. Alljoyn之管中窥豹
  7. css实现上下左右居中显示,CSS实现一个标签上下左右居中的办法
  8. “造趣文化节,无Party不夏天”主题活动开启潮流文化新体验
  9. 树莓派WIFI配置(隐藏WIFI,无密码WIFI,多个WIFI,加密WIFI)
  10. 移动硬盘文件内容发生错误,删除不掉,修改不了请使用chkdsk工具修复