Configure el comando kubectl para acceder al clúster minikube remoto en la máquina virtual Debian de Virtualbox

Configure el comando kubectl para acceder al clúster minikube remoto en la máquina virtual Debian de Virtualbox

Lo configuré correctamente en Debian minikube con una máquina virtual Debian de clúster simple:

umen@debian12:~$ kubectl get pods
NAME                     READY   STATUS    RESTARTS   AGE
hello-77c947d946-jq2s4   1/1     Running   0          45m
hello-77c947d946-wm6n2   1/1     Running   0          45m

umen@debian12:~$ minikube service list -p multinode-demo
|-------------|------------|--------------|---------------------------|
|  NAMESPACE  |    NAME    | TARGET PORT  |            URL            |
|-------------|------------|--------------|---------------------------|
| default     | hello      |           80 | http://192.168.49.2:31000 |
| default     | kubernetes | No node port |                           |
| kube-system | kube-dns   | No node port |                           |
|-------------|------------|--------------|---------------------------|

umen@debian12:~$ curl http://192.168.49.2:31000
Hello from hello-77c947d946-wm6n2 (10.244.1.2)

Como veis sobre todo trabajando

Ahora en mi host de Windows intento conectar este clúster. Descargué los certificados del servidor Debian.

vi ./kube/config_debian

apiVersion: v1
clusters:
- cluster:
    certificate-authority: debian/ca.crt
    extensions:
    - extension:
        last-update: Mon, 23 Oct 2023 08:54:23 IDT
        provider: minikube.sigs.k8s.io
        version: v1.31.2
      name: cluster_info
    server: https://192.168.49.2:8443
  name: minikube
contexts:
- context:
    cluster: minikube
    extensions:
    - extension:
        last-update: Mon, 23 Oct 2023 08:54:23 IDT
        provider: minikube.sigs.k8s.io
        version: v1.31.2
      name: context_info
    namespace: default
    user: minikube
  name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
  user:
    client-certificate: debian/client.crt
    client-key: debian/client.key

cuando intento conectarme obtengo:

$ kubectl -v=8 --kubeconfig=config_debian get pods
I1023 10:55:55.058414   16936 loader.go:372] Config loaded from file:  config_debian
I1023 10:55:55.154616   16936 cert_rotation.go:137] Starting client certificate rotation controller
I1023 10:55:55.154616   16936 round_trippers.go:432] GET https://192.168.49.2:8443/api?timeout=32s
I1023 10:55:55.155136   16936 round_trippers.go:438] Request Headers:
I1023 10:55:55.155136   16936 round_trippers.go:442]     Accept: application/json, */*
I1023 10:55:55.155136   16936 round_trippers.go:442]     User-Agent: kubectl.exe/v1.22.0 (windows/amd64) kubernetes/c2b5237
I1023 10:56:16.186405   16936 round_trippers.go:457] Response Status:  in 21031 milliseconds
I1023 10:56:16.186405   16936 round_trippers.go:460] Response Headers:
I1023 10:56:16.186405   16936 cached_discovery.go:121] skipped caching discovery info due to Get "https://192.168.49.2:8443/api?timeout=32s": dial tcp 192.168.49.2:8443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
I1023 10:56:16.188079   16936 round_trippers.go:432] GET https://192.168.49.2:8443/api?timeout=32s
I1023 10:56:16.188079   16936 round_trippers.go:438] Request Headers:
I1023 10:56:16.188079   16936 round_trippers.go:442]     Accept: application/json, */*
I1023 10:56:16.188079   16936 round_trippers.go:442]     User-Agent: kubectl.exe/v1.22.0 (windows/amd64) kubernetes/c2b5237
I1023 10:56:37.192081   16936 round_trippers.go:457] Response Status:  in 21003 milliseconds
I1023 10:56:37.192189   16936 round_trippers.go:460] Response Headers:
I1023 10:56:37.192189   16936 cached_discovery.go:121] skipped caching discovery info due to Get "https://192.168.49.2:8443/api?timeout=32s": dial tcp 192.168.49.2:8443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
I1023 10:56:37.193955   16936 shortcut.go:89] Error loading discovery information: Get "https://192.168.49.2:8443/api?timeout=32s": dial tcp 192.168.49.2:8443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
I1023 10:56:37.194510   16936 round_trippers.go:432] GET https://192.168.49.2:8443/api?timeout=32s
I1023 10:56:37.194510   16936 round_trippers.go:438] Request Headers:
I1023 10:56:37.195088   16936 round_trippers.go:442]     Accept: application/json, */*
I1023 10:56:37.195088   16936 round_trippers.go:442]     User-Agent: kubectl.exe/v1.22.0 (windows/amd64) kubernetes/c2b5237

y en la caja virtual configuro el puerto hacia adelante así: ingrese la descripción de la imagen aquí

La pregunta es por qué no puedo conectarme al clúster remoto.

Respuesta1

Según elProblema de Github n.° 2575, verifique las causas de los problemas de conexión y las mitigaciones como se explica a continuación:

  1. Verifique que pueda tener un problema al tener instalados Docker Toolbox (versión anterior que usa VirtualBox) y Docker para Windows (que usa Hyper-V). Quitar Docker Toolbox y reinstalar Docker para Windows puede ayudar a resolver el problema.

  2. Verifique que los recursos del servidor se estén agotando: asegúrese de que el servidor tenga suficientes recursos (como memoria) para manejar la cantidad de solicitudes que está enviando.

Desde el lado de la certificación, pruebe los siguientes 2 pasos y siga la documentaciónminikube TLS sin verificación, que puede ayudar a resolver aún más su problema:

  1. Configure el reenvío del puerto desde el host 8443 a Minikube vm 8443 en virtualbox

  2. Cree un nuevo contexto minikube-vpn sin verificación TLS.

información relacionada