Ошибка соединения отклонена при развертывании службы nginx в Google Cloud - PullRequest
0 голосов
/ 17 мая 2018

Я развертываю образ nginx, используя следующие файлы развертывания в Google Cloud.

Для Replicationcontroller:

apiVersion: v1
kind: ReplicationController
metadata:
  name: nginx-web
  labels:
    name: nginx-web
    app: demo
spec:
  replicas: 2
  template:
    metadata:
      labels:
        name: nginx-web
    spec:
      containers:
        - name: nginx-web
          image: nginx
          ports:
            - containerPort: 5000
              name: http
              protocol: TCP

Для развертывания службы

apiVersion: v1
kind: Service
metadata:
  name: nginx-web
  labels:
    name: nginx-web
    app: demo
spec:
  selector:
    name: nginx-web
  type: LoadBalancer
  ports:
   - port: 84
     targetPort: 5000
     protocol: TCP

Но когда я это делаюcurl на external_IP (я получил от loadbalancer) на порту 84, я получаю ошибку соединения отказано.В чем может быть проблема?

1 Ответ

0 голосов
/ 17 мая 2018

Образ nginx, который вы используете в своем контроллере репликации, прослушивает порт 80 (именно так создается образ).

Вам нужно исправить спецификации контроллера репликации следующим образом:

apiVersion: v1
kind: ReplicationController
metadata:
  name: nginx-web
  labels:
    name: nginx-web
    app: demo
spec:
  replicas: 2
  template:
    metadata:
      labels:
        name: nginx-web
    spec:
      containers:
        - name: nginx-web
          image: nginx
          ports:
            - containerPort: 80
              name: http
              protocol: TCP

А также настройте свой сервис следующим образом:

apiVersion: v1
kind: Service
metadata:
  name: nginx-web
  labels:
    name: nginx-web
    app: demo
spec:
  selector:
    name: nginx-web
  type: LoadBalancer
  ports:
   - port: 84
     targetPort: 80
     protocol: TCP
...