kubernetes上部署應用實例

實例結構

clipboard.png

建立redis-master-controller.yaml

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

發佈到kubernetes集羣,自動建立podphp

kubectl create -f redis-master-controller.yaml
kubectl get rc
kubectl get pods

建立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

建立servicenode

kubectl create -f redis-master-service.yaml
kubectl get services

建立redis-slave-controller.yaml

apiVersion: v1
kind: ReplicationController
metadata:
  name: redis-slave
spec:
  replicas: 2
  selector:
    name: redis-slave
  template:
    metadata:
      name: redis-slave
      labels:
        name: redis-slave
    spec:
      containers:
      - name: redis-slave
        image: kubeguide/guestbook-redis-slave
        env:
        - name: GET_HOSTS_FROM
          value: env
        ports:
        - containerPort: 6379

建立git

kubectl create -f redis-slave-controller.yaml
kubectl get rc
kubectl get pods

建立redis-slave-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: redis-slave
  labels:
    name: redis-slave
spec:
  ports:
  - port: 6379
  selector:
    name: redis-slave

建立github

kubectl create -f redis-slave-service.yaml
kubectl get services

建立frontend-controller.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: 80

建立redis

kubectl create -f frontend-controller.yaml
kubectl get rc
kubectl get pods

建立frontend-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: frontend
  labels:
    name: frontend
spec:
  type: NodePort
  ports:
  - port: 80
    nodePort: 30001
  selector:
    name: frontend

建立docker

kubectl create -f frontend-service.yaml
kubectl get services

clipboard.png

訪問
http://your-host:30001/shell

clipboard.png

所有啓動後的kubernetes-uiapi

clipboard.png

刪除

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

參考

相關文章
相關標籤/搜索