Как получить доступ к узлам кластера Kubernetes в WSL

#kubernetes #windows-subsystem-for-linux #docker-desktop

#kubernetes #подсистема Windows для linux #docker-рабочий стол

Вопрос:

Я настроил кластер kubernetes с помощью WSL (Ubuntu 20.x) и Docker Desktop, используя приведенный ниже блог

https://kubernetes.io/blog/2020/05/21/wsl-docker-kubernetes-on-the-windows-desktop/

Я создал кластер из 3 узлов с помощью утилиты kinD

 kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
  - role: control-plane
  - role: worker
  - role: worker
 

Я также создал развертывание nginx и службу на нем с портом узла. Как я могу получить доступ к порту из браузера Windows? Я не могу получить к нему доступ с помощью http://127.0.0.1:nodeport

 $kubectl get nodes -o wide
NAME                       STATUS   ROLES    AGE   VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE       KERNEL-VERSION                CONTAINER-RUNTIME
my-cluster-control-plane   Ready    master   46m   v1.17.0   172.17.0.4    <none>        Ubuntu 19.10   4.19.128-microsoft-standard   containerd://1.3.2
my-cluster-worker          Ready    <none>   45m   v1.17.0   172.17.0.2    <none>        Ubuntu 19.10   4.19.128-microsoft-standard   containerd://1.3.2
my-cluster-worker2         Ready    <none>   45m   v1.17.0   172.17.0.3    <none>        Ubuntu 19.10   4.19.128-microsoft-standard   containerd://1.3.2
 

Я не могу получить доступ к IP-адресам узла 172.17.0.x из своего браузера Windows, как я могу получить доступ к портам узла, предоставляемым службой nginx?

PS: переадресация портов kubectl работает, когда я напрямую открываю порт в модуле. Я могу получить доступ к серверу nginx напрямую, используя http://127.0.0.1:forwardport из браузера Windows. Но я хочу использовать services и nodeport без необходимости переадресации портов

Комментарии:

1. Вы должны предоставить доступ к этим портам ; этот адрес 172 является плодом воображения docker и не соответствует (AFAIK) ни одному сетевому интерфейсу на вашем компьютере