Skip to content

Instantly share code, notes, and snippets.

@SuriyaRuk
Forked from tuxfight3r/jump.sh
Created October 11, 2024 07:13
Show Gist options
  • Save SuriyaRuk/ea924acb43e5504f4f6baaf113542c11 to your computer and use it in GitHub Desktop.
Save SuriyaRuk/ea924acb43e5504f4f6baaf113542c11 to your computer and use it in GitHub Desktop.
kubectl jump server via kubectl port-forward
#!/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