1

我使用大使作为我的 kubernetes 设置的入口控制器。我需要连接到容器上的多个端口,例如,我有一个 RethinkDB 容器,我需要连接到其 web-ui 的端口 8085、RDB-API 的端口 28015 和将节点添加到 Rethinkdb 和集群的端口 29015。

我尝试了不同的配置,但没有奏效。我尝试过的配置: 1- 此配置适用于最新映射,这意味着如果我将 8085 映射替换为 29015 并将其放在最后,我可以访问 web-ui 但不能访问其他部分等等。

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

我应该如何配置大使,以便我可以访问我的容器的所有端口?

4

1 回答 1

3

尝试使用不同的映射名称,如下例所示:

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

请记住将正确的服务名称放入映射定义中的服务标签中。

注意缩进和正确的语法。

我希望它有所帮助。

于 2019-06-11T12:04:08.017 回答