Доступ к приложению в kubernetes с помощью nodeport - PullRequest
0 голосов
/ 07 сентября 2018

Уважаемые все, что я развернул пример службы, например:

 kubectl get svc
NAME          TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
kubernetes    ClusterIP   10.233.0.1     <none>        443/TCP          1d
mynodejsapp   NodePort    10.233.2.225   <none>        3000:31209/TCP   43s

Могу ли я спросить, как получить доступ к приложению mynodejsapp на ip кластера?

Когда я сделал узлы get -o Wide, это то, что я видел, как показано ниже,

$ kubectl get nodes -o wide
NAME                    STATUS    ROLES     AGE       VERSION            EXTERNAL-IP   OS-IMAGE                  KERNEL-VERSION                   CONTAINER-RUNTIME
controlplane-node-001   Ready     master    2d        v1.9.1+2.1.8.el7   <none>        Oracle Linux Server 7.2   4.1.12-112.14.13.el7uek.x86_64   docker://17.3.1
controlplane-node-002   Ready     master    2d        v1.9.1+2.1.8.el7   <none>        Oracle Linux Server 7.2   4.1.12-112.14.13.el7uek.x86_64   docker://17.3.1
controlplane-node-003   Ready     master    2d        v1.9.1+2.1.8.el7   <none>        Oracle Linux Server 7.2   4.1.12-112.14.13.el7uek.x86_64   docker://17.3.1
default-node-001        Ready     node      2d        v1.9.1+2.1.8.el7   <none>        Oracle Linux Server 7.2   4.1.12-112.14.13.el7uek.x86_64   docker://17.3.1
default-node-002        Ready     node      2d        v1.9.1+2.1.8.el7   <none>        Oracle Linux Server 7.2   4.1.12-112.14.13.el7uek.x86_64   docker://17.3.1

Любая помощь. Спасибо.

1 Ответ

0 голосов
/ 07 сентября 2018

Могу ли я спросить, как получить доступ к приложению mynodejsapp на ip кластера?

Теперь, чтобы получить прямой ответ на ваш вопрос относительно обзора ваших услуг:

  • Чтобы получить доступ к услуге mynodejsapp из за пределами кластера, вам необходимо настроить IP-адрес любого из nodes на порту 31209kube-proxy перенаправит его на mynodejsappсервис для вас)
  • Чтобы получить доступ к сервису mynodejsapp из в пределах кластера, то есть из другого модуля, работающего в том же кластере, вам необходимо настроить target для кластера IP 10.233.2.225:3000 (или, наоборот, запустить kube-dns вы можете использовать имя сервиса напрямую mynodejsapp:3000)

Как подробно описано в официальной документации clusterIP привязан к сервису, и в свою очередь он разрешается через kube-dns изимя службы для кластера IP.В двух словах, вы можете использовать clusterIP только из модулей, работающих на указанном кластере (то же самое, что и служба).

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

...