MLOPS/kubernetes
컨테이너에 telnet도 curl도 없을 때 통신 확인하는 방법
개발허재
2023. 4. 19. 10:34
사용자가 접근하는 앱을 배포시, pod에서 curl, telnet과 같은 네트워크 통신 확인 명령어 설치를 안한 경우
k exec -it {pod} -n {namespace} -- bash
# pod 에 bash 쉘로 접속한뒤
echo > /dev/tcp/{ip}/{port}
위 명령어로 해당 pod에서 외부 ip:port 로 통신 확인이 가능합니다. 해당 방법은 bash의 built-in 기능이라고 합니다.
[통신 성공시]
해당 포트가 열려있는 경우
echo $?
위 명령어로 다시 확인하면 0으로 응답이 온다.
해당 포트가 열려있지 않은 경우
아래처럼 connection refused 발생한다.
bash: connect: Connection refused
bash: /dev/tcp/10.41.0.42/8881: Connection refused
[통신 실패시]
bash: connect: No route to host
bash: /dev/tcp/10.41.0.123/8888: No route to host