redis,docker和kubernetes留言簿案例实战
kubernetes实战-基于redis和docker的留言簿案例

版权声明:本文为博主原创文章,未经博主允许不得转载。
[root@centos1 example]# kubectl create -f redis-master-controller.json replicationcontrollers/redis-master[root@centos1 example]# kubectl get rcCONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICASredis-master master redis name=redis-master 1[root@centos1 example]# kubectl get podsPOD IP CONTAINER(S) IMAGE(S) HOST LABELS STATUS CREATED MESSAGEredis-master-svar7 172.17.0.9 centos2/192.168.1.112 name=redis-master Running 55 seconds master redis Running 55 seconds [root@centos2 yum.repos.d]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES91689ce56668 redis:latest "/entrypoint.sh redi 3 minutes ago Up 3 minutes k8s_master.52732b08_redis-master-svar7_default_5b6d5485-1894-11e5-b3ad-000c293c8c19_97e79b7b 38c3180813c3 gcr.io/google_containers/pause:0.8.0 "/pause" 3 minutes ago Up 3 minutes k8s_POD.49eee8c2_redis-master-svar7_default_5b6d5485-1894-11e5-b3ad-000c293c8c19_298e038f [root@centos1 example]# kubectl create -f redis-master-service.json services/redis-master[root@centos1 example]# kubectl get servicesNAME LABELS SELECTOR IP(S) PORT(S)redis-master name=redis-master name=redis-master 10.254.154.90 6379/TCP[root@centos1 example]# kubectl create -f redis-slave-controller.json replicationcontrollers/redis-slave[root@centos1 example]# kubectl get rcCONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICASredis-master master redis name=redis-master 1redis-slave slave kubernetes/redis-slave:v2 name=redis-slave 2[root@centos1 example]# kubectl get podsPOD IP CONTAINER(S) IMAGE(S) HOST LABELS STATUS CREATED MESSAGEredis-master-svar7 172.17.0.9 centos2/192.168.1.112 name=redis-master Running 41 minutes master redis Running 41 minutes redis-slave-31tkb 172.17.0.10 centos2/192.168.1.112 name=redis-slave Running 29 seconds slave kubernetes/redis-slave:v2 Running 28 seconds redis-slave-uk8nu 172.17.0.11 centos2/192.168.1.112 name=redis-slave Running 29 seconds slave kubernetes/redis-slave:v2 Running 28 seconds [root@centos1 example]# kubectl create -f redis-slave-service.json services/redis-slave[root@centos1 example]# kubectl get servicesNAME LABELS SELECTOR IP(S) PORT(S)redis-master name=redis-master name=redis-master 10.254.154.90 6379/TCPredis-slave name=redis-slave name=redis-slave 10.254.159.145 6379/TCP[root@centos1 example]# kubectl create -f frontend-controller.json replicationcontrollers/frontend[root@centos1 example]# kubectl get rcCONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICASfrontend php-redis kubernetes/example-guestbook-php-redis:v2 name=frontend 3redis-master master redis name=redis-master 1redis-slave slave kubernetes/redis-slave:v2 name=redis-slave 2[root@centos1 example]# kubectl get podsPOD IP CONTAINER(S) IMAGE(S) HOST LABELS STATUS CREATED MESSAGEfrontend-fr5z1 172.17.0.13 centos2/192.168.1.112 name=frontend Running 2 minutes php-redis kubernetes/example-guestbook-php-redis:v2 Running 2 minutes frontend-gjx3t 172.17.0.14 centos2/192.168.1.112 name=frontend Running 2 minutes php-redis kubernetes/example-guestbook-php-redis:v2 Running 2 minutes frontend-v608r 172.17.0.12 centos2/192.168.1.112 name=frontend Running 2 minutes php-redis kubernetes/example-guestbook-php-redis:v2 Running 2 minutes redis-master-svar7 172.17.0.9 centos2/192.168.1.112 name=redis-master Running 53 minutes master redis Running 53 minutes redis-slave-31tkb 172.17.0.10 centos2/192.168.1.112 name=redis-slave Running 12 minutes slave kubernetes/redis-slave:v2 Running 12 minutes redis-slave-uk8nu 172.17.0.11 centos2/192.168.1.112 name=redis-slave Running 12 minutes slave kubernetes/redis-slave:v2 Running 12 minutes [root@centos1 example]# kubectl create -f frontend-service.json services/frontend[root@centos1 example]# kubectl get servicesNAME LABELS SELECTOR IP(S) PORT(S)frontend name=frontend name=frontend 10.254.154.111 80/TCPredis-master name=redis-master name=redis-master 10.254.154.90 6379/TCPredis-slave name=redis-slave name=redis-slave 10.254.159.145 6379/TCPNodePorts 和LoadBalancers,https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/services.md#external-services[root@centos1 example]# kubectl get pods,servicesPOD IP CONTAINER(S) IMAGE(S) HOST LABELS STATUS CREATED MESSAGEfrontend-fr5z1 172.17.0.13 centos2/192.168.1.112 name=frontend Running 22 minutes php-redis kubernetes/example-guestbook-php-redis:v2 Running 22 minutes frontend-gjx3t 172.17.0.14 centos2/192.168.1.112 name=frontend Running 22 minutes php-redis kubernetes/example-guestbook-php-redis:v2 Running 22 minutes frontend-v608r 172.17.0.12 centos2/192.168.1.112 name=frontend Running 22 minutes php-redis kubernetes/example-guestbook-php-redis:v2 Running 22 minutes redis-master-svar7 172.17.0.9 centos2/192.168.1.112 name=redis-master Running About an hour master redis Running About an hour redis-slave-31tkb 172.17.0.10 centos2/192.168.1.112 name=redis-slave Running 32 minutes slave kubernetes/redis-slave:v2 Running 32 minutes redis-slave-uk8nu 172.17.0.11 centos2/192.168.1.112 name=redis-slave Running 32 minutes slave kubernetes/redis-slave:v2 Running 32 minutes NAME LABELS SELECTOR IP(S) PORT(S)frontend name=frontend name=frontend 10.254.154.111 80/TCPkubernetes component=apiserver,provider=kubernetes <none> 10.254.0.2 443/TCPkubernetes-ro component=apiserver,provider=kubernetes <none> 10.254.0.1 80/TCPredis-master name=redis-master name=redis-master 10.254.154.90 6379/TCPredis-slave name=redis-slave name=redis-slave 10.254.159.145 6379/TCP[root@centos1 example]# kubectl get servicesNAME LABELS SELECTOR IP(S) PORT(S)frontend name=frontend name=frontend 10.254.154.111 80/TCPkubernetes component=apiserver,provider=kubernetes <none> 10.254.0.2 443/TCPkubernetes-ro component=apiserver,provider=kubernetes <none> 10.254.0.1 80/TCPredis-master name=redis-master name=redis-master 10.254.154.90 6379/TCPredis-slave name=redis-slave name=redis-slave 10.254.159.145 6379/TCP-A KUBE-PORTALS-HOST -d 10.254.154.90/32 -p tcp -m comment --comment "default/redis-master:" -m tcp --dport 6379 -j DNAT --to-destination 192.168.1.112:49038[root@centos2 yum.repos.d]# redis-cli -p 49038127.0.0.1:49038> set a bOK127.0.0.1:49038> get a"b"curl "localhost:8000/index.php?cmd=set&key=messages&value=jay_sais_hi"curl "localhost:8000/index.php?cmd=get&key=messages"{ "kind":"ReplicationController", "apiVersion":"v1beta3", "metadata":{ "name":"redis-master", "labels":{ "name":"redis-master" } }, "spec":{ "replicas":1, "selector":{ "name":"redis-master" }, "template":{ "metadata":{ "labels":{ "name":"redis-master" } }, "spec":{ "containers":[ { "name":"master", "image":"redis", "ports":[ { "containerPort":6379 } ] } ] } } }}{ "kind":"Service", "apiVersion":"v1beta3", "metadata":{ "name":"redis-master", "labels":{ "name":"redis-master" } }, "spec":{ "ports": [ { "port":6379, "targetPort":6379 } ], "selector":{ "name":"redis-master" } }}{ "kind":"ReplicationController", "apiVersion":"v1beta3", "metadata":{ "name":"redis-slave", "labels":{ "name":"redis-slave" } }, "spec":{ "replicas":2, "selector":{ "name":"redis-slave" }, "template":{ "metadata":{ "labels":{ "name":"redis-slave" } }, "spec":{ "containers":[ { "name":"slave", "image":"kubernetes/redis-slave:v2", "ports":[ { "containerPort":6379 } ] } ] } } }}{ "kind":"Service", "apiVersion":"v1beta3", "metadata":{ "name":"redis-slave", "labels":{ "name":"redis-slave" } }, "spec":{ "ports": [ { "port":6379 } ], "selector":{ "name":"redis-slave" } }}{ "kind":"ReplicationController", "apiVersion":"v1beta3", "metadata":{ "name":"frontend", "labels":{ "name":"frontend" } }, "spec":{ "replicas":3, "selector":{ "name":"frontend" }, "template":{ "metadata":{ "labels":{ "name":"frontend" } }, "spec":{ "containers":[ { "name":"php-redis", "image":"kubernetes/example-guestbook-php-redis:v2", "ports":[ { "containerPort":80 } ] } ] } } }}{ "kind":"Service", "apiVersion":"v1beta3", "metadata":{ "name":"frontend", "labels":{ "name":"frontend" } }, "spec":{ "ports": [ { "port":80 } ], "selector":{ "name":"frontend" } }}
redis,docker和kubernetes留言簿案例实战的更多相关文章
- 基于redis和docker的guestbook留言簿案例
在正式介绍之前,大家有必要先理解Kubernetes几个核心概念及其承担的功能.以下为Kubernetes的架构设计图: 1. Pods在Kubernetes系统中,调度的最小颗粒不是单纯的容器,而是 ...
- Spark Streaming updateStateByKey案例实战和内幕源码解密
本节课程主要分二个部分: 一.Spark Streaming updateStateByKey案例实战二.Spark Streaming updateStateByKey源码解密 第一部分: upda ...
- Spark Streaming 进阶与案例实战
Spark Streaming 进阶与案例实战 1.带状态的算子: UpdateStateByKey 2.实战:计算到目前位置累积出现的单词个数写入到MySql中 1.create table CRE ...
- 在Docker和Kubernetes上运行MongoDB微服务
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟.容器是完全使用沙箱机制,相互之间不会有任何接 ...
- 基于HDFS的SparkStreaming案例实战和内幕源码解密
一:Spark集群开发环境准备 启动HDFS,如下图所示: 通过web端查看节点正常启动,如下图所示: 2.启动Spark集群,如下图所示: 通过web端查看集群启动正常,如下图所示: 3.启动sta ...
- Kubernetes 应用部署实战
Kubernetes 应用部署实战 2018-08-08 19:44:56 wuxiangping2017 阅读数 3084 收藏 更多 分类专栏: linux运维与架构师 简介 伙计们,请搬好 ...
- (升级版)Spark从入门到精通(Scala编程、案例实战、高级特性、Spark内核源码剖析、Hadoop高端)
本课程主要讲解目前大数据领域最热门.最火爆.最有前景的技术——Spark.在本课程中,会从浅入深,基于大量案例实战,深度剖析和讲解Spark,并且会包含完全从企业真实复杂业务需求中抽取出的案例实战.课 ...
- 《图解Spark:核心技术与案例实战》作者经验谈
1,看您有维护博客,还利用业余时间著书,在技术输出.自我提升以及本职工作的时间利用上您有没有什么心得和大家分享?(也可以包含一些您写书的小故事.)回答:在工作之余能够写博客.著书主要对技术的坚持和热爱 ...
- 图解CSS3核心技术与案例实战(1)
前言: 我买了一本<图解CSS3核心技术与案例实战>大漠写的,为了提高自己的自觉性呢,抓紧看书,把读书笔记放在这上面,跟大家一起分享,也为督促自己完成读书计划. 文末有微信公众号,感谢你的 ...
随机推荐
- AM335x(TQ335x)学习笔记——Nand&&网卡驱动移植
移植完毕声卡驱动之后本想再接再励,移植网卡驱动,但没想到的是TI维护的内核太健壮,移植网卡驱动跟之前移植按键驱动一样简单,Nand驱动也是如此,于是,本人将Nand和网卡放在同一篇文章中介绍.介绍之前 ...
- C++ 宏、范型和RTTI 浅析
[摘要] RTTI(Run-Time Type Identification)是面向对象程序设计中一种重要的技术. 现行的C++标准对RTTI已经有了明白的支持. 只是在某些情况下出于特 ...
- 【例题3-1 UVA - 272 】TEX Quotes
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 大水题. 用一个int记录遇到的是左括号还是右括号. [错的次数] 在这里输入错的次数 [反思] 在这里输入反思 [代码] #inc ...
- php 下载图片到服务器
function saveImage($path) { if(!preg_match('/\/([^\/]+\.[a-z]{3,4})$/i',$path,$matches)) die('Use im ...
- Vue源码--深入模板渲染
原文链接:https://geniuspeng.github.io/2018/02/07/vue-compile/ 之前整理了vue的响应式原理,在这里有一点是一直很模糊的,就是何时去new一个wat ...
- 搭建基于java环境
.net项目架构改造之搭建基于java环境配置一览[上] 最近公司做了一个项目,需要嵌套在千牛的客户端上,项目代码必须上阿里的聚石塔,全程采用基于docker的自动化部署,我们的项目是基于.net ...
- windows phone8.1:页面导航详解
小梦给大家带来windows phone 8.1应用开发实战教程,分享自己学习,开发过程中的经验和技巧. 今天给大家分享windows phone 8.1页面导航相关知识.涉及知识点如下: 页面一导航 ...
- Codeforces Round #315 (Div. 2)——C. Primes or Palindromes?
这道题居然是一个大暴力... 题意: π(n):小于等于n的数中素数的个数 rub(n) :小于等于n的数中属于回文数的个数 然后给你两个数p,q,当中A=p/q. 然后要你找到对于给定的A.找到使得 ...
- C++ 中的 const 类型变量
之前总感觉C/C++中有const 限定的变量是个很头痛的问题,一会儿能够变.一会儿不能够变,一会儿把const赋给nonconst,一会儿又把nonconst赋给const,头都被它搞大了.今天刚好 ...
- PXC安装
安装软件依赖包yum install -y perl-IO-Socket-SSL perl-DBD-MySQL perl-Time-HiRes socat nc openssl-devel l ...
Docker知识库