Приложение для фляжек Kubernetes с несколькими контейнерами - PullRequest
0 голосов
/ 24 октября 2019

У меня есть кластер kubernetes с 1 пакетом и 3 контейнерами внутри. Один контейнер - это приложение-колба, и оно перенаправляет соответствующий запрос в один из двух других контейнеров на основе запроса.

Проблема в том, что мое приложение-колба может получить доступ только к одному контейнеру. Ниже приведен файл моего развертывания:

apiVersion: v1
kind: Service
metadata:
  name: flask-service
  labels:
    run: flask-service
spec:
  selector:
    app: flask
  ports:
  - protocol: "TCP"
    port: 5000
    targetPort: 5000
  type: LoadBalancer
---  
apiVersion: apps/v1
kind: Deployment
metadata:
  name: flask
spec:
  selector:
    matchLabels:
      app: flask  
  replicas: 1
  template:
    metadata:
      labels:
        app: flask
    spec:
      containers:
      - name: flask
        image: gcr.io/translatefx/flask
        ports:
        - containerPort: 5000
      - name: tagatag-container
        image: gcr.io/XXX/tagatag
        ports:
        - containerPort: 8501
      - name: defined-terms-container
        image: gcr.io/XXX/defined_terms
        ports:
        - containerPort: 8501

Если мое развертывание включает оба контейнера (как показано ниже), будет работать только один.

      - name: tagatag-container
        image: gcr.io/XXX/tagatag
        ports:
        - containerPort: 8501
      - name: defined-terms-container
        image: gcr.io/XXX/defined_terms
        ports:
        - containerPort: 8501

Что я мог сделать неправильно?

1 Ответ

1 голос
/ 24 октября 2019

Если вы хотите запустить несколько контейнеров только в одном модуле.

Вы должны запустить несколько контейнеров в модуле Pod для прослушивания разных портов

        image: gcr.io/XXX/tagatag
        ports:
        - containerPort: 8501
      - name: defined-terms-container
        image: gcr.io/XXX/defined_terms
        ports:
        - containerPort: 8502
...