Как настроить Ambassador для отображения нескольких портов в контейнере - PullRequest
0 голосов
/ 05 июня 2019

Я использую Ambassador в качестве входного контроллера для моей настройки kubernetes.Мне нужно подключиться к нескольким портам в моих контейнерах, например, у меня есть контейнер RethinkDB, и мне нужно подключиться к порту 8085 для его веб-интерфейса, порту 28015 для RDB-API и порту 29015 для добавления узлов в Rethinkdb и кластеризации.

Я пробовал разные конфигурации, но они не работали.Конфигурации, которые я попробовал: 1- Эта конфигурация работает для последнего сопоставления, что означает, что если я заменю сопоставление 8085 на 29015 и поставлю его в конце, я получу доступ к веб-интерфейсу, но не к другим частям и т. Д.

getambassador.io/config: |
  ---
  apiVersion: ambassador/v1
  kind: Mapping
  name: rethinkdb_mapping
  prefix: /rethinkdb:28015/
  service: rethinkdb:28015
  labels:
    ambassador:
      - request_label:
        - rethinkdb:28015
  ---
  apiVersion: ambassador/v1
  kind: Mapping
  name: rethinkdb_mapping
  - prefix: /rethinkdb:8085/
    service: rethinkdb:8085
  labels:
    ambassador:
      - request_label:
        - rethinkdb:8085
  ---
  apiVersion: ambassador/v1
  kind: Mapping
  name: rethinkdb_mapping
  prefix: /rethinkdb:29015/
  service: rethinkdb:29015
  labels:
    ambassador:
      - request_label:
        - rethinkdb:29015

2- Этот не работал вообще

getambassador.io/config: |
  ---
  apiVersion: ambassador/v1
  kind: Mapping
  name: rethinkdb_mapping
  - prefix: /rethinkdb:8085/
    service: rethinkdb:8085
 - prefix: /rethinkdb:29015/
   service: rethinkdb:29015
 - prefix: /rethinkdb:28015/
   service: rethinkdb:28015

Как мне настроить Ambassador, чтобы иметь доступ ко всем портам моего контейнера?

1 Ответ

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

Попробуйте ввести разные имена сопоставлений, как в примере ниже:

apiVersion: v1
kind: Service
metadata:
  name: rethinkdb
  annotations:
    getambassador.io/config: |
      ---
      apiVersion: ambassador/v1
      kind: Mapping
      name: rethinkdb_mapping
      prefix: /rethinkdb:28015/
      service: rethinkdb:28015
      labels:
        ambassador:
          - request_label:
            - rethinkdb:28015
      ---
      apiVersion: ambassador/v1
      kind: Mapping
      name: rethinkdb_mapping1
      prefix: /rethinkdb:8085/
      service: rethinkdb:8085
      labels:
        ambassador:
          - request_label:
            - rethinkdb:8085
      ---
      apiVersion: ambassador/v1
      kind: Mapping
      name: rethinkdb_mapping2
      prefix: /rethinkdb:29015/
      service: rethinkdb:29015
      labels:
        ambassador:
          - request_label:
            - rethinkdb:29015
spec:
  type: ClusterIP
  clusterIP: None

Не забудьте указать правильное название сервиса в метке сервиса в определении отображений.

Примечание по отступам и правильному синтаксису.

Надеюсь, это поможет.

...