클라우드/쿠버네티스

[쿠버네티스] 쿠버네티스 2: 쿠버네티스 주요 오브젝트, pod

KyuminKim 2024. 11. 26. 16:34

 

지난 시간에는 쿠버네티스의 컨셉을 알아봤다.

 

이번 시간에는 오브젝트 종류, 그리고 대표 오브젝트 중 하나인 pod를 알아보자!


쿠버네티스 주요 오브젝트

지난 시간에는

kubectl/yaml을 이용해 오브젝트를 생성한다 했다.

 
주요 오브젝트는 다음과 같다
  • pod
  • replicaset
  • deployment
  • statefulset
  • jon
  • service
 
전체 오브젝트를 확인하고 싶다면
아래 명령어를 사용할 수 있다!
$ kubectl api-resources                    # 쿠버네티스 오브젝트 확인
$ kubectl api-resources -o wide            # 약어, 사용권한 등 오브젝트 상세정보 확인
$ kubectl explain pod                      # 오브젝트(ex: pod) 설명 확인

 


pod

 

🙋‍♀️container 돌아보기

특징 1. 컨테이너 이미지 통해서 생성
 
특징 2. 컨테이너 안에 실행 중인 프로그램이 없으면 스스로 중지한다
계속 컨테이너를 띄우고 있으려면 명령어를 전달해야 
docker create -d -t 옵션으로 terminal 프로그램을 계속 실행시켜, 컨테이너를 계속 실행시킬  있음
 
특징 3. container 관리 
container 관리(생성, 삭제, …) Docker, Containerd 다양한 툴에서 가능하다

 

 

🙋‍♀️pod (container의 묶음)

  • 하나 이상의 container(도커 컨테이너, containerd, cri-o, …)로 구성
  • 컨테이너 애플리케이션의 기본 단위 (쿠버네티스 배포 최소 단위)
 

🙋‍♀️pod  컨테이너

보통 pod는 완전한 애플리케이션 단위라고 생각
➔하나의 pod에 하나의 container 일반적
 
하나의 Pod에 존재하는 여러 container들은 리눅스 네임스페이스를 공유한다 (후술)
pod속 컨테이너는 같은 네트워크 인터페이스(IP, 포트), 호스트 이름을 갖는다.
 
, 컨테이너 이미지로부터 생성되는 파일 시스템 컨테이너마다 다르다
(containerA에서 생성한 파일을 container B에서 열람 불가능하다는 의미)

 

 

🙋‍♀️pod vs container

pod는 컨테이너를 묶은 논리적인 개념이라는 것을 기억하자!


다음 시간에는 pod 관련 명령어를 알아보자!