728x90
반응형
현재 실행중인 pod로 접근하여 리소스 정보를 확인한다.
명령어는 아래와 같다.
kubectl exec -it [pod_name] -n [namespace_name] -- bash
1. pod 리스트 조회
kubectl get pod
kubectl get pod -n {namespace_name}
2. 조회한 pod id를 활용하여 pod 내부로 접근한다. (docker container 접근 방법과 매우 유사하다.)
kubectl exec -it {pod_id} /bin/bash
3. 실행 했는데 에러 발생함 → 구글 검색 시작
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
4. 검색결과 버전이 바뀌면서 명령어가 바뀌었다고 함.
- 이전 명령어
kubectl exec -it mynginx-pod bash
- 변경된 명령어
kubectl exec -it mynginx-pod -- bash
컨테이너에서 실행할 명령어(bash) 앞에 -- 을 붙여준다.
5. pod간 통신 및 pod와 node간 통신 확인하기
- pod의 ip를 조회한다.
kubectl get pod -n {namespace_name} -o wide
- pod에 접속한다.
kubectl exec -it {pod_name} -n {namespace_name} -- bash
- pod에 접속한 상태에서 위에서 조회한 다른 pod의 ip로 ping 테스트를 수행한다.
# ping 10.100.30.70
PING 10.100.30.70 (10.100.30.70) 56(84) bytes of data.
64 bytes from 10.100.30.70: icmp_seq=1 ttl=255 time=0.023 ms
64 bytes from 10.100.30.70: icmp_seq=2 ttl=255 time=0.025 ms
64 bytes from 10.100.30.70: icmp_seq=3 ttl=255 time=0.027 ms
64 bytes from 10.100.30.70: icmp_seq=4 ttl=255 time=0.023 ms
64 bytes from 10.100.30.70: icmp_seq=5 ttl=255 time=0.028 ms
64 bytes from 10.100.30.70: icmp_seq=6 ttl=255 time=0.026 ms
^C
--- 10.100.30.70 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 129ms
rtt min/avg/max/mdev = 0.023/0.025/0.028/0.004 ms
- 위와 같은 방법으로 pod 및 node의 ping을 테스트 할 수 있다.
6. pod 내부로 접근 후 업데이트 하기
- pod 내부로 접근하여 어떤 작업을 수행할때, 라이브러리가 없거나 패키지가 없어서 오류가 발생하는 경우가 많다. 예를들어 아래와 같은 메세지가 출력된다.
bash: ping: command not found
- 이럴 경우에는 내부로 접근하여 라이브러리를 다운받거나 업데이트를 해줘야 한다.
- 예를들어 ping 명령어를 처리할 수 있는 패키지는 apt-get install iputils-ping 명령어로 설치한다.
apt-get update
apt-get install iputils-ping
- pod 내부에서 도일한 vpc 내에 있는 ec2 인스턴스로 ping 테스트 하는 경우에도 위와 같이 라이브러리릴 설치 후 테스트를 진행하면 된다.
7. 외부 연결 확인하기
- pod의 컨테이너로 접근하여 동일한 vpc의 ec2에 설치된 애플리케이션의 port가 커넥션이 되는지 테스팅
curl -v telnet://{ip_정보}:{port_정보}
curl -v telnet://10.100.0.0:5433
- 결과
# curl -v telnet://10.100.0.0:5433
* Trying 10.100.0.0:5433...
* TCP_NODELAY set
* Connected to 10.100.0.0 (10.100.0.0) port 5432 (#0)
728x90
반응형
'⌛ AWS 인프라 구성하기 (MiniProject) > ✅ 개발환경 구성 (EKS)' 카테고리의 다른 글
eksctl 설치하기 (0) | 2024.02.15 |
---|---|
CLB(Classic LoadBalancer) (0) | 2022.06.27 |
Container 통신 환경을 제공하기 위한 calico 설치하기 (0) | 2022.05.31 |
EKS 기반 모니터링 서비스 환경 구성 (프로메테우스 & 그라파나) (0) | 2022.05.26 |
EKS + CI/CD 구성하기 (3) - EKS에 Docker 이미지 배포 (0) | 2022.05.24 |