Last active
January 6, 2023 10:14
-
-
Save tuxfight3r/b867caf997eaf6eddb972766dda79e87 to your computer and use it in GitHub Desktop.
kubectl jump server via kubectl port-forward
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# Allows you to connect to remote endpoints via port forward | |
set -e | |
TEMP_POD_NAME=db-jump-server | |
LOCAL_PORT=3307 | |
REMOTE_HOST=prod.abc123.region-1.rds.amazonaws.com | |
REMOTE_PORT=3306 | |
function cleanup { | |
echo "" | |
kubectl delete pod/$TEMP_POD_NAME --grace-period 1 --wait=false | |
} | |
trap cleanup EXIT | |
kubectl run --restart=Never --image=alpine/socat $TEMP_POD_NAME -- -d -d tcp-listen:$REMOTE_PORT,fork,reuseaddr tcp-connect:$REMOTE_HOST:$REMOTE_PORT | |
kubectl wait --for=condition=Ready pod/$TEMP_POD_NAME | |
kubectl port-forward pod/$TEMP_POD_NAME $LOCAL_PORT:$REMOTE_PORT |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment