make pod разрешает имя внешнего сервиса через DNS - PullRequest
0 голосов
/ 03 июля 2019

У меня есть клиентское приложение g, работающее в модуле, на kubernetes 1.11.1., Которое должно подключаться к кластеру rabbitMQ.

Я хотел бы создать службу, которая должна округлять список между двумя IP-адресами:два хозяина.Хосты - это не модули, а внешние виртуальные машины, действующие как кластер rabbitMQ.

Я создал службу и конечную точку с общим именем (rabbitmq-service) для сопоставления.Теперь из модуля невозможно разрешить через DNS имя_службы.default.svc, а можно разрешить оба имени хоста через имя, содержащее имя службы, например: NNNN.servicename.namespace.svc.clusterdomain.,(где NNNN аналогичен IP-адресу).

service.yaml:

apiVersion: v1
kind: Service
metadata:
  name: rabbitmq-service
spec:
  ports:
  - name: http
    protocol: TCP
    port: 5672
    targetPort: 5672

endpoints.yaml:

apiVersion: v1
kind: Endpoints
metadata:
  name: rabbitmq-service
  namespace: default
subsets:
  - addresses:
      - ip: 10.112.63.98
      - ip: 10.112.63.99
    ports:
    - name: http
      port: 5672
      protocol: TCP

Как настроить имя службы.разрешение default.svc?

Спасибо.

1 Ответ

0 голосов
/ 04 июля 2019

Я применил ваши конфигурации, и вот что я получаю:

kubectl get endpoints
NAME               ENDPOINTS                             AGE
kubernetes         192.168.99.116:8443                   45s
rabbitmq-service   10.112.63.98:5672,10.112.63.99:5672   13s

Также я попытался разрешить dns rabbitmq-сервиса из другого модуля, используя следующие команды:

kubectl apply -f https://k8s.io/examples/admin/dns/busybox.yaml
kubectl exec -ti busybox -- nslookup rabbitmq-service.default

Приведенная выше команда nslookup в модуле выдала вывод:

Defaulting container name to busybox.
Use 'kubectl describe pod/busybox -n default' to see all of the containers in this pod.
Server:    10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local


Name:      rabbitmq-service.default
Address 1: 10.101.126.122 rabbitmq-service.default.svc.cluster.local

, что означает, что услуга разрешима. Я надеюсь, что возникнут проблемы с доступом к вашей службе rabbitmq с компьютеров, на которых работает кластер kubernetes.

Пожалуйста, обратитесь к этому документу, если вы подозреваете проблему с kubernetes coreDNS.

...