1 votes

Comment puis-je changer le port local que kubectl utilise pour établir une connexion?

Je veux que kubectl utilise un port local différent - pas le 22. Est-ce configurable? Est-ce quelque chose que je dois configurer dans ssh?

Je veux créer un tunnel ssh avec IAP d'abord et faire en sorte que kubectl l'utilise pour se connecter à un cluster privé.

Je crée le tunnel comme ceci:

gcloud compute start-iap-tunnel --project "monprojet" \
    "nodex-default-pool-abc123-1xc8" 22 --local-host-port=localhost:2200

Maintenant, j'aimerais que kubectl l'utilise pour se connecter via le port local 2200

Je veux éviter d'avoir une VM bastion et simplement tirer parti de IAP.

J'ai essayé de définir HTTPS_PROXY mais cela ne semble pas fonctionner:

HTTPS_PROXY=localhost:2200 kubectl get pods
Impossible de se connecter au serveur : réponse HTTP mal formée "SSH-2.0-OpenSSH_8.5"

ÉDIT : J'ai également essayé d'ouvrir un tunnel vers le plan de contrôle mais il semble que GKE ne prend pas en charge IAP pour l'authentification?

PROJECT_ID=monprojet
ZONE=us-central1-b
REGION=us-central1
NETWORK=monreseau

MASTER_IP=$(gcloud container clusters describe mycluster --zone $ZONE --project $PROJECT_ID --format=json | jq .endpoint -r)

gcloud alpha compute start-iap-tunnel $MASTER_IP 443 --project $PROJECT_ID --network=$NETWORK --region=$REGION \
         --local-host-port=localhost:4444

Test si la connexion du tunnel fonctionne.
ERREUR : (gcloud.alpha.compute.start-iap-tunnel) Lors de la vérification si une connexion peut être établie : Erreur lors de la connexion [4033: 'pas autorisé'].

Peut-être que IAP nécessite un nom DNS pour initier l'authentification google ou quelque chose comme ça? J'ai également essayé de me connecter simplement au nom du cluster lui-même, mais cela a renvoyé une erreur de connexion.

0voto

Dion V Points 1

Il existe un article lié à votre préoccupation concernant la connexion à votre cluster privé en utilisant IAP. Ils y expliquent qu'il existe des moyens possibles de procéder. Dans l'article ci-joint, certains prérequis ont été remplis avant de fournir une commande sur la machine cliente.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X