Запуск приложения в GKE (Load Balancer)


Подготавливаем kubernetes кластер

$ gcloud container clusters create echo-cluster \
    --num-nodes 2 \
    --machine-type n1-standard-2 \
    --zone us-central1-a


Скопировать приложение

$ mkdir project && cd project
$ gsutil cp gs://qwiklabs-gcp-03-8922069ccfc7/echo-web.tar.gz .
$ tar -xvzpf echo-web.tar.gz ./


Создаем имидж и отправляем его в GCR

$ export PROJECT_ID=$(gcloud config get-value project)
$ echo ${PROJECT_ID}

$ docker build -t gcr.io/${PROJECT_ID}/echo-app:v1 .
$ gcloud docker -- push gcr.io/${PROJECT_ID}/echo-app:v1


Запускаем приложение в kubernetes кластере

$ vi echo-web-app-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: echo-web
spec:
  replicas: 3
  selector:
    matchLabels:
      component: echo-web-app
  template:
    metadata:
      labels:
        component: echo-web-app
    spec:
      containers:
        - name: echo-web-app
          image: gcr.io/qwiklabs-gcp-03-8922069ccfc7/echo-app:v1
          ports:
            - containerPort: 8000


$ kubectl apply -f echo-web-app-deployment.yaml


$ kubectl expose deployment echo-web --port 80 --target-port 8000 --type="LoadBalancer"


$ kubectl get services


http://35.222.220.63:80/