쿠버네티스 파드 특징과 생성 방법

snooby·2022년 7월 29일
0

🐳 Docker & K8S

목록 보기
6/51
post-thumbnail

POD란

컨테이너를 하나 이상 모아 놓은 것으로, 쿠버네티스 애플리케이션의 최소 단위이다.
같은 포드에 속한 컨테이너끼리 동일한 컴퓨팅 리소스를 공유한다.

쿠버네티스에서 포드를 사용하는 이유

쿠버네티스는 컨테이너를 직접 실행시키지 않습니다.
대신 포드를 실행시켜 포드 속의 컨테이너들이 동일한 리소스 및 로컬 네트워크를 공유하게됩니다.
따라서 컨테이너를 그룹화하면 실제로는 어느정도 분리된 상태더라도 마치 동일한 물리 하드웨어를 공유하는 것처럼 컨테이너끼리 서로 통신할 수 있다.

👉 수평확장
이러한 기능을 사용해서 쿠버네티스는 복제 컨트롤러를 사용하여 애플리케이션을 수평으로 스케일링 할 수 있다.

POD 생성하는 방법

kubectl run pod명 --image=실행할이미지명:버전

kubectl run ninx-pod --image=nginx

pod 확인

kubectl get pods

# 더 많은 정보를 확인하기 (ex. ip)
kubectl get pods -o wide

컨테이너 내부로 들어가기

kubectl exec 들어갈 파드명 -it -- /bin/bash

pod 내용 확인하기

확인하는 방법은 2가지가 있습니다.

# 1. terminal에서 확인
curl podip입력 # podip는 kubectl get pods -o wide해서 얻는 pod의 IP

# 2. port-forward
kubectl port-forward pod명 로컬지정할 port:pod띄운 port

deployment로 생성한 pod 확인 수정하기

# pod 확인하기
kubectl get pod

# deployment 파일 수정하기
kubectl edit deployments.app 디플로이명
# vim으로 수정

# kubectl get pod로 변경된 사항 확인

pod 삭제하기

kubectl delete pod 파드명 

pod 생성법 정리

즉, pod를 생성하는 방법은
1. run
kubectl run pod 으로 단일의 pod를 만드는 방법
2. create
kubectl create -f deployment파일.yaml
3. apply
kubectl apply -f deployment파일.yaml
이렇게 3개가 있다.
각 방법마다 결과가 기능이 달라 각 특징을 보고 적재적소에 사용해야한다.

1.run
특징 : 단일 pod만 만든다.
단점 : 실제 서비스처럼 여러개의 pod를 만들어서 동작해야하는 경우에는 적용이 어렵다.
2. create
특징 : deployment파일.yaml을 작성해 사용자가 원하는 상태로 쿠버네티스 오브젝트를
생성할 수 있다.
단점 : 변경사항이 생길경우 파일의 변경사항을 바로 적용할 수 없다.
3. apply
특징 : deployment파일.yaml을 작성해 사용자가 원하는 상태로 쿠버네티스 오브젝트를
생성할 수 있다.
장점 : 변경사항이 생길경우 파일의 변경사항을 바로 적용할 수 있다.
따라서, 변경이 생길 가능성이 있는 복잡한 오브젝트는 파일로 작성한 후 apply 적용하는 것이 좋다.

쿠버네티스 오브젝트와 오브젝트를 정의하는 디플로이먼트 yaml 파일에 대해서는 다음 장에 작성해보겠습니다.

profile
데이터를 가치있게 다루고 싶은 개발자 🐥

0개의 댓글