CLOUD/Kubernetes
쿠버네티스 포트포워딩
헐리
2021. 10. 26. 15:08
kubectl create deployment nginx2 --image nginx:alpine
kubectl expose deployment nginx2 --port=80
curl -k http://127.0.0.1:80/ #####Failed
kubectl port-forward service/nginx2 --address 0.0.0.0 80:80
curl -k http://127.0.0.1:80/ #####200 OK
while true; do kubectl port-forward service/nginx2 80:80; done
https://stackoverflow.com/questions/47484312/kubectl-port-forwarding-timeout-issue
kubectl port forwarding timeout issue
While using kubectl port-forward function I was able to succeed in port forwarding a local port to a remote port. However it seems that after a few minutes idling the connection is dropped. Not sur...
stackoverflow.com
쉘 스크립트 파일 만들기
#port-forwarding.sh
while true; do kubectl port-forward service/nginx2 80:80; done
#sleep 1을 추가하여 CPU사용량 줄이기
while true :
do
kubectl port-forward service/nginx2 --address 0.0.0.0 80:80
sleep 1
done
위의 스크립트 파일 실행
sh port-forwarding.sh
./port-forwarding.sh
이 무한루프 while문 종료해버리기
ps -ef | grep port-forwarding.sh
ps -ef | grep kubectl
# root 5725 1 0 15:29 pts/0 00:00:00 kubectl port-forward service/nginx2 80:80
# pid ppid
# pid는 5725
kill -9 pid
리눅스 백그라운드 실행 이용하기
nohup <명령어> &
nohup kubectl port-forward service/nginx2 --address 0.0.0.0 80:80 &
이렇게 하면 터미널을 꺼도 백그라운드에서 실행하고 있는다
(nohup을 빼고 &만 붙이면 터미널이 닫힐때 해당 명령어도 종료됨)
종료할땐 ps -ef에서 해당 프로세스를 찾아 kill -9하면 된다