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集群的留言板系统部署成功!
主机名 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/