ITPub博客

首页 > 云计算 > 虚拟化 > 小丸子学Kubernetes系列之——部署Kubernetes集群(Guestbook留言板)

小丸子学Kubernetes系列之——部署Kubernetes集群(Guestbook留言板)

原创 虚拟化 作者:wxjzqym 时间:2016-03-08 17:35:10 0 删除 编辑
0.环境描述
主机名            IP             角色
hadoop2 10.1.245.147   master
hadoop3 10.1.245.152   node1
hadoop1  10.1.245.146   node2
该Kubernetes集群由三个service组成,分别是frontend-service,redis-master-service,redis-slave-service,frontend-service由3个PHP-frontend pod组成,对外提供web访问;redis-master-service由1个redis-master pod组成,提供对前端应用的写请求;redis-slave-service由2个redis-slave pod组成,提供对前端应用的读请求,并且接受来自于redis-master的数据同步。


1.安装Kubernetes
这一步可以参考我之前的一篇博文《小丸子学Kubernetes系列之——Kubernetes安装与使用》
http://blog.itpub.net/20801486/viewspace-2050906/


2.创建redis-master Pod和服务(master主机)
2.1 创建redis-master pod
vi redis-master-rc.yaml
apiVersion: v1 
kind: ReplicationController 
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: kubeguide/redis-master 
        ports: 
        - containerPort: 6379

kubectl create -f redis-master-rc.yaml 

2.2 创建redis-master service
vi redis-master-service.yaml
apiVersion: v1 
kind: Service 
metadata: 
  name: redis-master 
  labels: 
    name: redis-master 
spec: 
  ports: 
  - port: 6379 
    targetPort: 6379 
  selector: 
    name: redis-master
    
kubectl create -f redis-master-service.yaml


3. 创建redis-slave Pod和服务
3.1 创建redis-slave pod
vi redis-slave-rc.yaml
apiVersion: v1 
kind: ReplicationController 
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: kubeguide/guestbook-redis-slave
        env:
        - name: GET_HOSTS_FROM
          value: env
        ports: 
        - containerPort: 6379

kubectl create -f redis-slave-rc.yaml

3.2 创建redis-slave service
vi redis-slave-service.yaml
apiVersion: v1 
kind: Service 
metadata: 
  name: redis-slave 
  labels: 
    name: redis-slave
spec: 
  ports: 
  - port: 6379 
  selector: 
    name: redis-slave

kubectl create -f redis-slave-service.yaml


4.创建frontend Pod和服务
4.1 创建frontend pod
vi frontend-rc.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: 6379
        
kubectl create -f frontend-rc.yaml

4.2 创建frontend service
vi frontend-service.yaml
apiVersion: v1 
kind: Service 
metadata: 
  name: frontend 
  labels: 
    name: frontend
spec: 
  type: NodePort
  ports: 
  - port: 80
    nodePort: 30001
  selector: 
    name: frontend
    
kubectl create -f frontend-service.yaml


5.测试集群是否正常
在外部主机访问地址:http://10.1.245.146:30001/

至此基于Kubernetes集群的留言板系统部署成功!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20801486/viewspace-2051437/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-05-15

  • 博文量
    100
  • 访问量
    472321