본문 바로가기

쿠버네티스

쿠버네티스 Pod(포드) 사용하기

쿠버네티스에서는 컨테이너 애플리케이션의 기본 단위를 포드(Pod)라고 부르며, 포드는 1개 이상의 컨테이너(포드에 포함된 컨테이너들은 모두 같은 워커 노드에서 실행됨)로 구성된 컨테이너의 집합이다. 쿠버네티스에서 YAML 파일을 컨테이너뿐만 아니라 거의 모든 리소스 오브젝트들에 이용한다

 

 

Nginx 컨테이너로 구성된 포드 생성(nginx-pod.yaml로 작성)

--metadata: 포드이름, 라벨, 주석 등 리소스의 부가 정보

--spec: 컨테이너 이름, 사용할 도커이미지, 컨테이너가 사용할 포트번호 등 

 

 

 

포드 생성(포드이름: my-nginx-pod-a) 

# kubectl apply -f nginx-pod.yaml

-f 뒤에 원하는 YAML파일을 지정하면 됨

 

 

생성된 포드의 자세한 정보 출력

# kubectl describe pod <포드이름>

*포드가 실행 중인 워커노드 확인

# kubectl get pods -o wide

 

 

 

포드의 IP는 현재 외부에서 접근할 수 없기 때문에 클러스터 내부에서만 접근할 수 있다

따라서 Master node가 아닌 포드가 생성된 Worker3 노드에 접속하여 http 전송을 요청해야한다

Nginx포드가 실행 중인 것을 확인할 수 있다

 

 

 

포드 로그 확인

# kubectl logs <포드이름>

Master node로 돌아와서 포드 로그 명령어를 입력하면 앞서 Worker3에서 my-nginx-pod-a로 접근했던 기록이 출력된다

 

 

포드 컨테이너 내부 진입

# kubectl exec -it <포드이름> -c <컨테이너이름> bash

 

 

포드 삭제

# kubectl delete pod <포드이름>