Кубернетес: внешняя конечная точка как услуга - PullRequest
0 голосов
/ 06 апреля 2020

В Kubernetes мы могли бы использовать службы для предоставления внутренних развертываний в качестве конечных точек служб. Но как сопоставить внешнее доменное имя с сервисом Kubernetes, чтобы просто вызвать внутренний сервис перед внешним сервисом?

Ответы [ 2 ]

2 голосов
/ 06 апреля 2020

Сервисы типа ExternalName сопоставляют Сервис с DNS-именем, а не с типичным селектором, таким как my-service или cassandra. Вы указываете эти Сервисы с параметром spe c .externalName. Это определение службы, например, отображает службу my-service в пространстве имен prod на my.database.example.com:

apiVersion: v1
kind: Service
metadata:
  name: my-service
  namespace: prod
spec:
  type: ExternalName
  externalName: my.database.example.com

Примечание: ExternalName принимает строку адреса IPv4, но в качестве имен DNS, состоящих из цифр, а не как IP-адрес. ExternalNames, которые напоминают адреса IPv4, не разрешаются CoreDNS или ingress- nginx, поскольку ExternalName предназначено для указания канонического имени DNS. Чтобы жестко закодировать IP-адрес, рассмотрите возможность использования безголовых Сервисов.

https://cloud.google.com/blog/products/gcp/kubernetes-best-practices-mapping-external-services

1 голос
/ 06 апреля 2020

Вы можете предоставить внешнее имя в качестве службы Kubernetes, чтобы модули в кластере могли обращаться к этой внутренней службе для связи с внешним именем:

do c:

https://kubernetes.io/docs/concepts/services-networking/service/#externalname

Будет работать что-то вроде ниже:

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  type: ExternalName
  externalName: my.database.example.com
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...