Redis读写分离作为存储

PHP网页作为前端

github地址

https://github.com/kubernetes/kubernetes/blob/release-1.1/examples/guestbook/README.md

Create guest book sample on k8s


1. 创建Redis写端RC yaml

apiVersion: v1
kind: ReplicationController
metadata:
name: redis-master
labels:
name: redis-master
spec:
replicas:
selector:
name: redis-master
template:
metadata:
labels:
name: redis-master
spec:
containers:
- name: master
image: redis
ports:
- containerPort:

可以到开头的github地址下载dockfile,自己创建image

2. k8s创建RC redis master

kubectl create -f redis-master-controller.yaml

3. k8s创建 redis master service yaml

apiVersion: v1

kind: Service

metadata:

  name: redis-master

  labels:

    name: redis-master

spec:

  ports:

    # the port that this service should serve on

  - port: 

    targetPort: 

  selector:

    name: redis-master

4. k8s创建SVC

kubectl create -f redis-master-service.yaml

5. 创建Redis读端 RC redis slave yaml

apiVersion: v1

kind: ReplicationController

metadata:

  name: redis-slave

  labels:

    name: redis-slave

spec:

  replicas: 

  selector:

    name: redis-slave

  template:

    metadata:

      labels:

        name: redis-slave

    spec:

      containers:

      - name: slave

        image: kubeguide/guestbook-redis-slave

        env:

        - name: GET_HOSTS_FROM

          value: env

          # If your cluster config does not include a dns service, then to

          # instead access an environment variable to find the master

          # service's host, comment out the 'value: dns' line above, and

          # uncomment the line below.

          #value: env

        ports:

        - containerPort: 

示例文档中说明如果放在云端并且有DNS服务器可以写入dns,但是实验中是在局域网内,所以使用env

6. k8s创建redis slave RC

kubectl create -f redis-slave-controller.yaml

7. 创建redis slave svc yaml

apiVersion: v1

kind: Service

metadata:

  name: redis-slave

  labels:

    name: redis-slave

spec:

  ports:

    # the port that this service should serve on

  - port: 

  selector:

    name: redis-slave

8. k8s创建redis slave svc

kubectl create -f redis-slave-service.yaml

9. 创建php frontend rc yaml

apiVersion: v1

kind: ReplicationController

metadata:

  name: frontend

  labels:

    name: frontend

spec:

  replicas: 

  selector:

    name: frontend

  template:

    metadata:

      labels:

        name: frontend

    spec:

      containers:

      - name: frontend

        image: peter/php-frontend:v1

        env:

        - name: GET_HOSTS_FROM

          value: env

          # If your cluster config does not include a dns service, then to

          # instead access environment variables to find service host

          # info, comment out the 'value: dns' line above, and uncomment the

          # line below.

          # value: env

        ports:

        - containerPort: 

这是下载了github的dockfile,本地构建的镜像

10. k8s创建 php frontend rc

kubectl create -f frontend-controller.yaml

11. 创建php frontend svc yaml

apiVersion: v1

kind: Service

metadata:

  name: frontend

  labels:

    name: frontend

spec:

  # if your cluster supports it, uncomment the following to automatically create

  # an external load-balanced IP for the frontend service.

  type: NodePort

  ports:

    # the port that this service should serve on

    - port: 

      nodePort: 30001

  selector:

    name: frontend

打开节点机器30001端口

12. k8s创建php frontend svc

kubectl create -f frontend-service.yaml

查看k8s的pods svc rc

输入node机器的ip:30001即可访问

Scale


k8s执行命令

kubectl scale --current-replicas=2 --replicas=3 replicationcontrollers redis-slave

Rolling update


k8s执行命令

kubectl rolling-update frontend --image=peter/php-frontend:v3

k8s google sample - guestbook的更多相关文章

  1. k8s API sample

    Declarative API k8s: cluster-api Introduction to Kubernetes Cluster-API Project Declarative Manageme ...

  2. Android高效计算——RenderScript(二)

    3 RenderScript运行时层与反射层 3.1 RenderScript运行时层 RenderScript运行时层是指.rs代码运行时所在的层级.当对安卓项目进行编译的时候,.rs或者.rsh中 ...

  3. APP架子迁移指南(三)

    在完成上一篇之后,断断续续的开始重构我的Android项目代码,现在终于完成了.在重构期间又仔细阅读了一些开源项目的源码及文章,并询问了一些大神思路,按照理解自己完成了MVP结构的重构,与google ...

  4. Android Studio 2.2 来啦

    今年的 I/O 2016 Google 放出了 Android Studio 2.2 的预览版,改进了多项功能,只不过为了保证公司项目不受影响,我一般都不安装预览版的,因为预览版意味着不稳定,可能遇到 ...

  5. APP迁移

    APP架子迁移 在完成上一篇之后,断断续续的开始重构我的Android项目代码,现在终于完成了.在重构期间又仔细阅读了一些开源项目的源码及文章,并询问了一些大神思路,按照理解自己完成了MVP结构的重构 ...

  6. Lichee(三) Android4.0该产品的目标文件夹,Lichee链接---extract-bsp

    由<Lichee() 在sun4i_crane平台下的编译>介绍了编译lichee的基本情况,我们终于得到了编译后的结果例如以下: out/ ├── android │   ├── bIm ...

  7. Orleans部署

    一.配置指南 1,客户端配置 2,服务端配置 3,典型配置 4,配置.NET垃圾收集 5,SQL系统存储 二.监控 1,运行时监视 2,silo错误代码监测 3,客户端错误代码监测 三.解决部署问题 ...

  8. <Android 基础(四)> RecyclerView

    介绍 RecyclerView是ListView的豪华增强版.它主要包含以下几处新的特性,如ViewHolder,ItemDecorator,LayoutManager,SmothScroller以及 ...

  9. Android动画系列 - PropertyAnim 详解

    前言:上一篇文章传统View动画与Property动画基础及比较简单对Android动画系统的基础做了介绍,本篇文章将对PropertyAnimation进行全面深入的探讨,本篇文章可以分为两大块,从 ...

随机推荐

  1. bc38 1002, bc39 1002

    比赛的时候是对于每个数,记录下来a[i], 并记录该树的下标hash[a[i]] 然后枚举a[i]的倍数,如果a[i]的倍数存在(设为k*a[i]),那么vis[k*a[i]]是不为0的 那么可以这样 ...

  2. 使用JS或jQuery模拟鼠标点击a标签事件代码

    原文 使用JS或jQuery模拟鼠标点击a标签事件代码 这篇文章主要介绍了使用JS或jQuery模拟鼠标点击a标签事件代码,需要的朋友可以参考下 <a id="alink" ...

  3. SQL Server :理解GAM和SGAM页

    原文:SQL Server :理解GAM和SGAM页 我们知道SQL Server在8K 的页里存储数据.分区就是物理上连续的8个页.当我们创建一个数据库,数据文件会被逻辑分为页和区,当用户对象创建时 ...

  4. 图像特效——摩尔纹 moir

    %%% Moir %%% 摩尔纹 clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS Algo ...

  5. POJ1274 The Perfect Stall【二部图最大匹配】

    主题链接: id=1274">http://poj.org/problem? id=1274 题目大意: 有N头奶牛(编号1~N)和M个牛棚(编号1~M). 每头牛仅仅可产一次奶.每一 ...

  6. leetcode dfs Validate Binary Search Tree

    Validate Binary Search Tree Total Accepted: 23828 Total Submissions: 91943My Submissions Given a bin ...

  7. iOS 在TabViewController中的一个ViewController跳转到另一种ViewController

    第一步: #import "AppDelegate.h" 步骤二: 在须要跳转的地方: AppDelegate *appDelegate = (AppDelegate *)[[UI ...

  8. Android RxJava使用介绍(三) RxJava的操作符

    上一篇文章已经具体解说了RxJava的创建型操作符.本片文章将继续解说RxJava操作符.包括: Transforming Observables(Observable的转换操作符) Filterin ...

  9. 3g自己主动更新网卡驱动web完架构文档

    几年前写. 看它是否是用得上 1  简单介绍 本文档具体描写叙述了基于ASP.NET平台和IIS服务的T-Mobile自己主动更新系统的实现框架. 本文档主要从技术架构和业务架构两个方面来着手来描写叙 ...

  10. 两个堆叠fragment,上层fragment响应于降低fragment的button点击事件补救措施

    加入onViewCreated的Touch事件监听, 以解决叠在一起的fragment上层响应下层的button点击事件解决方法 @Override public void onViewCreated ...