GKE: So trennen Sie die Verbindung zu einem Pod nach der Portweiterleitung über den Bastion Host
P粉775723722
P粉775723722 2023-08-29 18:20:49
0
1
532
<p>Ich verwende einen lokalen Computer, um mit einer Datenbank in einem in Kubernetes bereitgestellten Pod zu arbeiten. Um eine Verbindung herzustellen, müssen Sie zunächst eine Verbindung zur Bastion-Host-VM herstellen. </p> <p>Im Grunde handelt es sich hierbei um einen doppelten SSH-Tunnel: Ordnen Sie Port 3306 dem Port 3306 der Bastion-Host-VM zu und dann über den Port 3306 des Localhosts. </p> <pre class="brush:php;toolbar:false;">gcloud beta compute ssh my-bastion-host --project my-gcp-project --zone us-west1-b --command "kubectl -n mynamespace port-forward app-mysqldb-12345-abcde 3306 -- -L3306:127.0.0.1:3306</pre> <p>Wenn ich jedoch den Befehl beende, wird die Verbindung zwischen der VM und dem MySQL-Pod nicht beendet, ich muss dies automatisch tun: Führen Sie zunächst den folgenden Befehl auf dem Bastion-Host aus: </p> <pre class="brush:php;toolbar:false;">ps -ef|grep port-forward</pre> <p>Suchen Sie die Prozessnummer PROCESS_NUMBER und führen Sie dann den folgenden Befehl aus: </p> <pre class="brush:php;toolbar:false;">echo "kill -9 <PROCESS_NUMBER></pre> <p>Beenden Sie die Verbindung. </p> <p>Gibt es eine Möglichkeit, die Verbindung zwischen dem Bastion-Host und dem MySQL-Pod automatisch zu schließen, wenn <code>gcloud beta compute ssh</code> beendet wird? </p>
P粉775723722
P粉775723722

Antworte allen(1)
P粉092778585

尝试这个:

gcloud beta compute ssh my-bastion-host --project my-gcp-project --zone us-west1-b --command "bash -c 'kubectl -n mynamespace port-forward app-mysqldb-12345-abcde 3306'; kill -9 $(pgrep -f port-forward)" -- -L3306:127.0.0.1:3306
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage