Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:sysadmin:tools:kubectl_tunnel

kubectl via SSH Tunnel

Motivation: Die Management-IP-Adresse des Kubernetes Cluster ist von meinem Netz nicht direkt erreichbar. Es gibt aber einen Jump-Host, den man per SSH erreichen kann.

Einfache Lösung: SSH-Tunnel


Name des Jump Hosts: jumphost.example.com

Management IP des Kubernetes Clusters: 203.0.113.31

Öffne den SSH-Tunnel:

$ ssh jumphost.example.com -L 9443:203.0.113.31:443

Ändere Deine Kubernetes Config-Datei, dass sie bei "server:" die lokale Adresse des SSH-Tunnels verwendet (localhost=127.0.0.1, lokaler Port: 9443):

$ cat ~.kube/config
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: xxxVERYxxxLONGxxxZERTICATExxxSTUFFxx=
    server: https://127.0.0.1:9443
    # more yaml stuff, shortened

Wenn man wegen "Zertifikate passen nicht zur IP-Adresse" die kubernetes-Befehle nicht absetzen kann, nimmt man die Option "--insecure-skip-tls-verify".

$ kubectl --insecure-skip-tls-verify cluster-info 
Kubernetes master is running at https://127.0.0.1:9443 
GLBCDefaultBackend is running at https://127.0.0.1:9443/api/v1/namespaces/kube-system/services/default-http-backend:http/proxy 
Heapster is running at https://127.0.0.1:9443/api/v1/namespaces/kube-system/services/heapster/proxy 
KubeDNS is running at https://127.0.0.1:9443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy 
Metrics-server is running at https://127.0.0.1:9443/api/v1/namespaces/kube-system/services/https:metrics-server:/proxy

Einen Nachteil gibt es leider schon: Die meisten Plugins, die ich getestet habe, funktionieren leider nicht mit "--insecure-skip-tls-verify".

de/sysadmin/tools/kubectl_tunnel.txt · Zuletzt geändert: 2020-08-13 14:47 von hella

Seiten-Werkzeuge

Mastodon Twitter