实例结构
创建redis-master-controller.yaml
apiVersion: v1
kind: ReplicationController
metadata:name: redis-master
spec:replicas: 1selector:name: redis-mastertemplate:metadata:name: redis-masterlabels:name: redis-masterspec:containers:- name: redis-masterimage: kubeguide/redis-masterports:- containerPort: 6379
发布到kubernetes集群,自动创建pod
kubectl create -f redis-master-controller.yaml
kubectl get rc
kubectl get pods
创建redis-master-service.yaml
apiVersion: v1
kind: Service
metadata:name: redis-masterlabels:name: redis-master
spec:ports:- port: 6379targetPort: 6379selector:name: redis-master
创建service
kubectl create -f redis-master-service.yaml
kubectl get services
创建redis-slave-controller.yaml
apiVersion: v1
kind: ReplicationController
metadata:name: redis-slave
spec:replicas: 2selector:name: redis-slavetemplate:metadata:name: redis-slavelabels:name: redis-slavespec:containers:- name: redis-slaveimage: kubeguide/guestbook-redis-slaveenv:- name: GET_HOSTS_FROMvalue: envports:- containerPort: 6379
创建
kubectl create -f redis-slave-controller.yaml
kubectl get rc
kubectl get pods
创建redis-slave-service.yaml
apiVersion: v1
kind: Service
metadata:name: redis-slavelabels:name: redis-slave
spec:ports:- port: 6379selector:name: redis-slave
创建
kubectl create -f redis-slave-service.yaml
kubectl get services
创建frontend-controller.yaml
apiVersion: v1
kind: ReplicationController
metadata:name: frontendlabels:name: frontend
spec:replicas: 3selector:name: frontendtemplate:metadata:labels:name: frontendspec:containers:- name: frontendimage: kubeguide/guestbook-php-frontendenv:- name: GET_HOSTS_FROMvalue: envports:- containerPort: 80
创建
kubectl create -f frontend-controller.yaml
kubectl get rc
kubectl get pods
创建frontend-service.yaml
apiVersion: v1
kind: Service
metadata:name: frontendlabels:name: frontend
spec:type: NodePortports:- port: 80nodePort: 30001selector:name: frontend
创建
kubectl create -f frontend-service.yaml
kubectl get services
访问
http://your-host:30001/
全部启动后的kubernetes-ui
删除
kubectl delete -f frontend-controller.yaml
replicationcontroller "frontend" deleted
kubectl delete -f redis-master-controller.yaml
replicationcontroller "redis-master" deleted
kubectl delete -f redis-slave-controller.yaml
replicationcontroller "redis-slave" deleted
kubectl delete -f redis-slave-service.yaml
service "redis-slave" deleted
kubectl delete -f redis-master-service.yaml
service "redis-master" deleted
kubectl delete -f frontend-service.yaml
参考
kubernetes-example-guestbook
kubernetes实战-基于redis和docker的留言簿案例
Configuring Your Cloud Provider's Firewalls