Невозможно получить доступ к серверу kubernetes API из Windows контейнеров - PullRequest
0 голосов
/ 07 апреля 2020

У меня запущен kubernetes 1.17.4 и к нему присоединены Windows узлы. Наложение сети работает нормально при доступе ко всем службам в Kubernetes, единственная проблема заключается в том, что windows контейнеры не могут получить доступ к https://kubernetes, происходит сбой соединения на уровне TCP.

gregory@master1:~$ k get nodes -o wide
NAME         STATUS   ROLES    AGE   VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE                    KERNEL-VERSION     CONTAINER-RUNTIME
master1      Ready    master   23d   v1.17.4   10.0.0.4      <none>        Ubuntu 18.04.4 LTS          5.0.0-1035-azure   docker://19.3.6
winworker1   Ready    <none>   39h   v1.17.4   10.0.0.5      <none>        Windows Server Datacenter   10.0.18363.720     docker://19.3.5

gregory@master1:~$ k get svc --all-namespaces
NAMESPACE      NAME                    TYPE           CLUSTER-IP     EXTERNAL-IP               PORT(S)                  AGE
default        kubernetes              ClusterIP      10.96.0.1      <none>                    443/TCP                  23d
kube-logging   elasticsearch-service   ExternalName   <none>         utilityvm.kubernetes.my   <none>                   12h
kube-logging   kibana                  NodePort       10.104.70.48   <none>                    5601:8080/TCP            3d13h
kube-system    kube-dns                ClusterIP      10.96.0.10     <none>                    53/UDP,53/TCP,9153/TCP   23d

Фланель установлена ​​в режиме VXLAN.

Сеть работает нормально, например, ниже показан модуль Kibana, работающий на узле Linux, и я могу подключиться к нему с узла Windows, но то же соединение с сервером API не работает. То же соединение с Kube-DNS успешно

gregory@master1:~$ k get pods -o wide
NAME                            READY   STATUS    RESTARTS   AGE   IP            NODE         NOMINATED NODE   READINESS GATES
win-webserver-fffd4486f-4thjw   1/1     Running   4          22h   10.244.1.95   winworker1   <none>           <none>
win-webserver-fffd4486f-m58l6   1/1     Running   4          41h   10.244.1.97   winworker1   <none>           <none>

gregory@master1:~$ k get pod kibana-7b8b6965d-gqq6q -n kube-logging -o wide
NAME                     READY   STATUS    RESTARTS   AGE   IP            NODE      NOMINATED NODE   READINESS GATES
kibana-7b8b6965d-gqq6q   1/1     Running   0          34m   10.244.0.61   master1   <none>           <none>

gregory@master1:~$ k exec win-webserver-fffd4486f-4thjw -- powershell \(test-netconnection 10.244.0.61 -port 5601\) \| select TcpTestSucceeded     

TcpTestSucceeded
----------------
            True


gregory@master1:~$ k exec win-webserver-fffd4486f-4thjw -- powershell \(test-netconnection 10.96.0.1 -port 443\) \| select TcpTestSucceeded  
WARNING: TCP connect to (10.96.0.1 : 443) failed
WARNING: Ping to 10.96.0.1 failed with status: TimedOut

TcpTestSucceeded
----------------
           False


gregory@master1:~$ k exec win-webserver-fffd4486f-4thjw -- powershell \(test-netconnection 10.96.0.10 -port 53\) \| select TcpTestSucceeded

TcpTestSucceeded
----------------
            True



1 Ответ

1 голос
/ 09 апреля 2020

Ошибка в Kubernetes 1.17.4, исправлена ​​в 1.18 за https://github.com/rancher/rancher/issues/20968

...