Внутренний доступ к сервисам в кластере k8s, а также доступ к ним через вход - PullRequest
0 голосов
/ 08 декабря 2018

Я настроил две службы: обе NodePort.

Служба 1

kind: Service
apiVersion: v1
metadata:
  name: bitcoinrpc-dev-service
  namespace: dev
spec:
  selector:
    app: bitcoin-node
  ports:
  - name: bitcoin-mainnet
    protocol: TCP
    port: 80
    targetPort: 8332
  - name: bitcoin-testnet
    protocol: TCP
    port: 8080
    targetPort: 18332  
  type: NodePort

Служба 2

kind: Service
apiVersion: v1
metadata:
  name: counterpartyrpc-dev-service
  namespace: dev
spec:
  selector:
    app: counterparty-node
  ports:
  - name: mainnet
    protocol: TCP
    port: 80
    targetPort: 4000
  - name: testnet
    protocol: TCP
    port: 8080
    targetPort: 14000  
  type: NodePort

Я могу получить доступ к обеим этим службам за пределамикластер через вход.Однако, когда я пытаюсь подключиться к service1(bitcoin с service2(counterparty), он теряет соединение.Я называю службу как bitcoinrpc-dev-service.dev.svc.cluster.local:80

Однако, если я называю эту службу именем хоста, настроенным в ingress, соединение будет гораздо более стабильным.например, когда я ссылаюсь service1 на bitcoin.mydomain.com:80

Поскольку это будет означать маршрутизацию трафика за пределы кластера, когда обе службы, которые должны взаимодействовать друг с другом, находятся в одном кластере, это кажется немного неэффективным.

Я попытался изменить servicetype на clusterIP, однако затем я не могу получить к ним доступ через вход.

Какая должна быть правильная конфигурация?

1 Ответ

0 голосов
/ 08 декабря 2018

Причина в том, что только кластер k8s с надстройками kube-dns может преобразовать доменное имя bitcoinrpc-dev-service.dev.svc.cluster.local:80 в соответствующий IP-адрес.

Посмотрите на этот замечательный ответ, который показывает решения, связанные с этимпроблема:

Как получить доступ к службе в кластере kubernetes, используя имя службы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...