У меня есть служба my-service
типа ClusterIP в пространстве имен A
, которая может балансировать нагрузку до нескольких модулей. Я хочу создать другую службу типа ExternalName в пространстве имен B
, которая указывает на my-service
в пространстве имен A
.
Я создаю следующий YAML:
apiVersion: v1
kind: Service
metadata:
name: my-service
namespace: B
spec:
type: ExternalName
externalName: my-service.A
, и если я exe c в модуль, работающий в пространстве имен B
и выполните:
# ping my-service
ping: my-service: Name or service not known
Но если я заменим externalName
в вышеприведенном YAML на следующее:
apiVersion: v1
kind: Service
metadata:
name: my-service
namespace: B
spec:
type: ExternalName
externalName: my-service.A.svc.cluster.local <--- full FQDN here
работать как положено. Кроме того, если я пингую my-service
напрямую из модуля в пространстве имен B
, это разрешается:
# ping my-service.A
PING my-service.A.svc.cluster.local (10.0.80.133) 56(84) bytes of data.
Почему my-service.A
не разрешается до my-service.A.svc.cluster.local
в Службе ExternalName?
Моя версия K8s 1.14.8
и использует CoreDNS.