Certificated 도전/CKA - Kubernetes

[CKA] 쿠버네티스의 핵심요소 ( pod, 컨트롤러, replicaset, deployment)

지추월자 2022. 11. 16. 20:47
반응형

1. 파드란

쿠버네티스는 파드라는 단위로 컨테이너를 묶어서 관리합니다. 컨테이너 단위로 관리하는게 아닌, 파드단위로 관리합니다.  파드안에는 단일 컨테이너만 들어있을 수도 있고,  여러 컨테이너들이 있을 수도 있습니다. 파드 하나 안에 있는 컨테이너들은 동일한IP 하나를 공유합니다. 파드에 IP가 할당되고 파드 내 컨테이너들은 포트로 구분합니다.

2. 컨트롤러란 

파드들을 관리하는 역할을 하며, 다양한 목적에 맞게 사용할 수 있다.  동작 방식을 크게 그림을 그리면 다음과 같이 볼 수 있다.

1. replicaset

: 헤플리케이션 컨트롤러의 발전형으로 저장한 숫자만큼의 파드가 항상 클러스터 안에서 실행되도록 관리해주는 것. 예를 들어 replicaset를 3으로 지정하면 파드의 수는 항상 3으로 유지되도록 replicaset 정의의 의해서 유지합니다. 만약 파드가 하나가 죽어버리면 다시 자동으로 1개를 생성해서 3개를 유지하도록 합니다. 

2. deployment 

:  replicaset을 관리하면서 앱 배포를 더 세밀하게 관리해주는 것, 배포기능을 세분화해주는 것이다. 단순히 실행시켜야할 개수를 유지하는 것 뿐만 아니라 앱을 배포할때 롤링 업데이트를 하거나, 앱 배포 도중에 잠시 멈췄다가 다시 배포할 수 있습니다 .또한 앱 배포후 롤백할 수도 있도록 하는 것이 demployment 입니다.

컨트롤러에는 데몬셋 스테이트풀셋 잡, 크론잡 이 더 있는데 이는 추후에 다시 정리하도록 하곘다. 일단 가장 많이 사용하는 개념인 리플리카셋과 디플로이먼트만 정리한다. 

3. demonset

4.statefulset

4.job / cron job 

반응형