Сервисы типа 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