[K8S] Pod에 접속

Hyun-Sung Kim·2025년 1월 5일

Kubernetes

목록 보기
12/24
post-thumbnail

Connect to Pod

  • 목표 : 동작 중인 컨테이너의 셸에 접근한다.

kubectl get pod -n <Namespace 이름>

kubectl exec --stdin --tty <pod 이름> -n <Namespace 이름> -- /bin/bash

또는

kubectl exec -it <pod 이름> -n <Namespace 이름> -- /bin/bash

```

* -i : --stdin 의 줄임말로, 파드의 표준입력을 활성화하는 것이다. -i 옵션이 있어야만 명령어 입력을 제공할 수 있다.
* -t : --tty의 줄임말로, 파드와 표준 입출력을 연결하는 터미널을 활성화하는 옵션이다. 이 옵션을 사용하면 파드에서 실행중인 명령어에 대한 결과를 실시간으로 표시 가능하다.
* --restart=Never : 컨테이너의 프로세스가 종료되어도 컨테이너를 재시작하지 않도록 설정
* kubectl exec 
	* : 메인프로세스로 접근하는 것이 아닌 새로운 프로세스로 bash 쉘을 동작시켜 접근하는 것이기 때문에 기본적으로는 exit 명령어를 입력하여도 컨테이너가 죽지 않음
* kubectl attach 
	* : 메인프로세스로 접근하기 때문에 기본적으로는 exit 명령어를 입력하면 컨테이너가 죽고 다시 시작됨
  • kubectl 명령어 인자와 사용하고자 하는 명령어의 인자를 구분하기 위해서는 이중 대시(--)를 사용할 수 있다.

  • Docker Image가 Alpine이라면 /bin/bash를 지원하지 않을 수 있다. 그럴 경우, 대신 /bin/sh를 사용

kubectl exec --stdin --tty <pod 이름> -n <Namespace 이름> -- /bin/sh


RDS DB 인스턴스와의 연결 점검

apt-get update
apt-get install curl -y
apt-get install dnsutils

curl -v telnet://rds-live.cluster-cxxxxxxxxx.us-west-2.rds.amazonaws.com:9306
dig rds-live.cluster-cxxxxxxxxx.us-west-2.rds.amazonaws.com

  • 셀 연결 종료하기

    exit

profile
Cloud Engineer

0개의 댓글