美文网首页我爱编程
learning kubernetes by minikube,

learning kubernetes by minikube,

作者: caccq | 来源:发表于2018-04-16 17:06 被阅读0次

deploy a complicate application group

guestbook.yaml

apiVersion: v1
kind: Service
metadata:
  name: redis-master
  labels:
    app: redis
    tier: backend
    role: master
spec:
  ports:
  - port: 6379
    targetPort: 6379
  selector:
    app: redis
    tier: backend
    role: master
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: redis-master
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: redis
        role: master
        tier: backend
    spec:
      containers:
      - name: master
        image: gcr.io/google_containers/redis:e2e  # or just image: redis
        resources:
          requests:
            cpu: 100m
            memory: 100Mi
        ports:
        - containerPort: 6379
---
apiVersion: v1
kind: Service
metadata:
  name: redis-slave
  labels:
    app: redis
    tier: backend
    role: slave
spec:
  ports:
  - port: 6379
  selector:
    app: redis
    tier: backend
    role: slave
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: redis-slave
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: redis
        role: slave
        tier: backend
    spec:
      containers:
      - name: slave
        image: gcr.io/google_samples/gb-redisslave:v1
        resources:
          requests:
            cpu: 100m
            memory: 100Mi
        env:
        - name: GET_HOSTS_FROM
          value: dns
          # If your cluster config does not include a dns service, then to
          # instead access an environment variable to find the master
          # service's host, comment out the 'value: dns' line above, and
          # uncomment the line below:
          # value: env
        ports:
        - containerPort: 6379
---
apiVersion: v1
kind: Service
metadata:
  name: frontend
  labels:
    app: guestbook
    tier: frontend
spec:
  type: NodePort
  ports:
  - port: 80
  selector:
    app: guestbook
    tier: frontend
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: frontend
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: guestbook
        tier: frontend
    spec:
      containers:
      - name: php-redis
        image: gcr.io/google-samples/gb-frontend:v4
        resources:
          requests:
            cpu: 100m
            memory: 100Mi
        env:
        - name: GET_HOSTS_FROM
          value: dns
          # If your cluster config does not include a dns service, then to
          # instead access environment variables to find service host
          # info, comment out the 'value: dns' line above, and uncomment the
          # line below:
          # value: env
        ports:
        - containerPort: 80

the application contains frontend with 3 pods and redis cluster as backend.

localhost:~ xunyang$ kubectl create -f guestbook.yaml 
service "redis-master" created
deployment.extensions "redis-master" created
service "redis-slave" created
deployment.extensions "redis-slave" created
service "frontend" created
deployment.extensions "frontend" created
localhost:~ xunyang$ kubectl get all
NAME                            READY     STATUS    RESTARTS   AGE
frontend-5c548f4769-4xcj6       1/1       Running   0          9m
frontend-5c548f4769-c74tg       1/1       Running   0          9m
frontend-5c548f4769-xzrfg       1/1       Running   0          9m
redis-master-6c46f6cfb8-xktwx   1/1       Running   0          9m
redis-slave-584c66c5b5-6lnkj    1/1       Running   0          9m
redis-slave-584c66c5b5-ggdqp    1/1       Running   0          9m

NAME           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
frontend       NodePort    10.96.27.12     <none>        80:31784/TCP   9m
kubernetes     ClusterIP   10.96.0.1       <none>        443/TCP        11m
redis-master   ClusterIP   10.97.97.230    <none>        6379/TCP       9m
redis-slave    ClusterIP   10.101.33.203   <none>        6379/TCP       9m

NAME           DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
frontend       3         3         3            3           9m
redis-master   1         1         1            1           9m
redis-slave    2         2         2            2           9m

NAME                      DESIRED   CURRENT   READY     AGE
frontend-5c548f4769       3         3         3         9m
redis-master-6c46f6cfb8   1         1         1         9m
redis-slave-584c66c5b5    2         2         2         9m

check the application status
minikube service frontend

submit your comments in the web browser.

相关文章

网友评论

    本文标题:learning kubernetes by minikube,

    本文链接:https://www.haomeiwen.com/subject/iwpekftx.html