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

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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/20801486/viewspace-2051437/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值