Как мне установить эти порты docker-compose в файле yaml kubernetes? - PullRequest
0 голосов
/ 02 июня 2019

Учитывая следующие порты, определенные в файле docker-compose.yml, как мне сделать эквивалент в файле kubernetes yml?

docker-compose.yml

  seq.logging:
    image: datalust/seq
    networks: 
      - backend
    container_name: seq.logging
    environment:
      - ACCEPT_EULA=Y
    ports:
      - "5300:80" # UI
      - "5301:5341" # Data ingest

kubernetes.yml

---
apiVersion: v1
kind: Pod
metadata:
  name: backend-infrastructure
  labels:
    system: backend
    app: infrastructure
spec:

  containers:

  - name: seq-logging
    image: datalust/seq
#    ports: ?????????????????????????????????????
#    - containerPort: "5300:80" # UI
#    - containerPort: "5301:5341" # Data ingest
    env:
    - name: ACCEPT_EULA
      value: "Y"

1 Ответ

1 голос
/ 04 июня 2019

Вы не выставляете порт, используя Pod / развертывание yaml. Сервисы - это способ сделать это. Здесь вы можете использовать несколько сервисов поверх вашего модуля / развертывания, но это приведет к нескольким IP-адресам. Другой способ - присвоить имя каждому порту, а затем создать определение многопортовой службы.

В вашем случае это должно выглядеть примерно так (обратите внимание, это просто быстро написанный пример). Также

При использовании нескольких портов вы должны указать все имена портов, поэтому что конечные точки могут быть устранены.

apiVersion: v1
kind: Pod
metadata:
  name: backend-infrastructure
  labels:
    system: backend
    app: infrastructure
spec:
  containers:
  - name: seq-logging
    image: datalust/seq
    ports:
    - containerPort: 80 # UI
      name: ui
    - containerPort: 5341 # Data ingest
      name: data-ingest
    env:
    - name: ACCEPT_EULA
      value: "Y"
---
apiVersion: v1
kind: Service
metadata:
  name: seq-logging-service
spec:
  type: #service type
  ports:
  - name: ui
    port: 5300
    targetPort: 80
  - name: data-ingest
    port: 5301
    targetPort: 5341

Еще несколько ресурсов: - Документы о соединении приложений со службами . - пример yaml из вышеперечисленного, показывающий развертывание с контейнером с несколькими портами и соответствующей службой.

Обновление: containerPort

Список портов, которые нужно открыть из контейнера. Разоблачение порта дает Система дополнительной информации о сетевых подключениях Контейнер использует, но носит преимущественно информационный характер. Не указав порт здесь НЕ препятствует тому, чтобы тот порт был выставлен. Любой порт, который прослушивание адреса по умолчанию "0.0.0.0" внутри контейнера будет доступны из сети. Не может быть обновлено.

...