본문 바로가기
DevOps/Kubernetes

[Kubernetes] : 포드, Pod 사용하기

by 오주현 2022. 3. 16.
반응형

포드, Pod 사용하기

애플리케이션을 구동하기 위해 필수적으로 알아야 하는 몇 가지 오브젝트가 있는데 그것이 바로 포드, 레플리카셋, 서비스, 디플로이먼트이다.

 

쿠버네티스에서 컨테이너 애플리케이션의 기본 단위를 포드라고 한다. 포드는 1개 이상의 컨테이너로 구성된 컨테이너의 집합이다.

 

도커 엔진에서 기본 단위가 도커 컨테이너, 스웜 모드에서 기본 단위는 서비스인 것 처럼 쿠버네티스는 기본 단위로 포드를 사용한다. 1개의 포드엔 1개의 컨테이너가 존재 할 수도 있고 여러 개의 컨테이너가 존재 할 수도 있다.

apiVersion: v1
kind: Pod
metadata:
	name: my-nginx-pod
spec:
	containers:
	- name: my-nginx:latest
	ports:
	- containerPort: 80
	protocol: TCP

Nginx로 구성된 포드를 직접 생성한다. 먼저 nginx-pod.yaml로 작성한다.

 

kubectl apply -f nginx-pod.yaml

작성한 YAML 파일을 위 명령어로 쿠버네티스에 생성한다.

 

kubectl get pods

pods 오브젝트의 목록을 확인한다. 위에서 생성한 포드 1개가 출력이 될 것이다.

 

kubectl describe pods my-nginx-pod

포드의 자세한 정보를 출력해 본다. 여기에서 포드의 IP도 알 수 있는데 외부에서 접근할 수 있는 IP가 아니기 때문에 클러스터 내부에서만 접근이 가능하다.

 

curl 포드IP

Nginx 포드의 IP로 HTTP 요청을 전송한다.

 

kubectl exec -it my-nginx-pod bash

포드 내부로 들어가 본다.

 

kubectl logs my-nginx-pod

Nginx 포드의 표준 출력 로그를 확인한다. Nginx 서버에 접근한 기록이 출력된다.

 

kubectl delete -f nginx-pod.yaml

명령어로 삭제할 수 있다. nginx-pod.yaml에 정의된 Nginx 포드를 삭제한다.

 

 


📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다.

반응형

댓글