Как найти конечные точки безгласных сервисов

Есть ли способ обнаружить все конечные точки безголового сервиса из-за пределов кластера?

Предпочтительно использование DNS или статических IP-адресов

Ответ 2

Аддон DNS - это именно то, что вам нужно. Из документов:

Например, если у вас есть Услуга, называемая "мой-сервис" в Кубернете Пространство имен "my-ns" создается запись DNS для "my-service.my-ns". Бобы которые существуют в пространстве имен "my-ns", должны быть в состоянии найти его просто выполнив поиск имени для "my-service". Подложки, которые существуют в других Пространства имен должны иметь название "my-service.my-ns". Результат эти поиски имен - это IP-адрес кластера.

А в случае безголового сервиса:

DNS настроен для возврата нескольких записей (адресов) A для Имя службы, которое указывает прямо на Pods, поддерживающие Сервис.

Однако эта услуга доступна только внутри кластера. Но KubeDNS - это еще один пример:

kubectl get po --namespace=kube-system
kubectl describe po kube-dns-pod-name --namespace=kube-system

Это означает, что вы можете создать службу с внешним доступом, чтобы открыть эту службу. Просто используйте селектор, соответствующий вашей метке kube-dns pod.

http://kubernetes.io/v1.1/docs/user-guide/services.html#dns https://github.com/kubernetes/kubernetes/blob/release-1.1/cluster/addons/dns/README.md

Ответ 3

Безглавые службы - это группа под IP-адресов. Под IP-адресами (обычно) недоступны вне кластера/облачного провайдера.

Вы пытаетесь получить внешние IP-адреса для службы без гарнитуры или находитесь в одной сети (например, в проекте GCE), но не в кластере?