클라우드 교육/kubernetes

워커노드 리소스 2

mellamo 2022. 12. 27. 17:42

 

목차

데몬셋

스테이트풀셋

크론잡

 

 

 

 

 

 

 

데몬셋

 

 

모든 노드에서 하나의 Pod만  실행되게 하는 형태로 관리하는 컨트롤러이다.

 

 

 

 

 

모든 노드에서 로그를 수집할때나, 클러스터 스토리지 / 노드모니터링 데몬을 실행할때 사용한다. 

 

 

아래 yaml 파일저장

후 실행

 

 

 

 

 

 

 

 

 

스테이트풀셋

 

 

복제된 파드에 개별적인 스토리지 제공

 

스테이트풀셋을 설명하기전에, 기본적인 스토리지는 애플리케이션들이 공유하는 형식이다.

 

 

 

기본적으로 Stateless와 Statefull 을 비교해보자. 

 

Stateless ( 디플로이먼트가 이상태 )

 

위의 그림을 보면, 노드가 망가져도 새로생성되지만, 같이 공유하는 하나의 볼륨을 사용해 애플리케이션을 관리한다. 

 

이는 단일 애플리케이션을 구동할때는 효과적이지만, 여러가지 애플리케이션을 관리할때는 효과적이지 않다. 

 

 

Statefull ( 스테이트풀셋이 이상태 )

 

 

위 두가지 그림을 비교했을때, 디플로이먼트는 파드만 복제를 하면 되고, 스테이트풀셋은 개별적인 볼륨으로 독립성을 유지할 수 있다. 

이를 이해했으면, statefullset에 대해 좀 더 쉽게 배울 수 있을것이다. 

 

현재 상태를 항상 유지해야하는 파드들은 특정 데이터들을 보관하여 파드를 재시작했을때, 데이터들을 유지할 수 있다. 

 

 

 

 

 

 

 

 

 

하나이상의 파드를 설정해서 그 값만큼 파드가 성공적으로 실행하도록 설정하는 것이다. 

노드에 여러가지 문제가 생길때 파드가 정상 실행이 되지않을때, 새로운 파드를 계속 재생산한다. 

 

 

아래는 job의 설정값에 들어가는 값들이다.

 

 

completions: 5 : Pod를 5개 순차적으로 실행.
parallelism: 2 : running중인 Pod를 2개까지 유지, completions 5 까지
activeDeadlineSeconds: 5 : 작업이 5초내에 마치지 않으면 강제로 끝내겠다.
restartPolicy: Never : Job실패하면 Pod를 재 실행
restartPolicy: OnFailure : Job 실패하면 Container 재실행
backoffLimit: 6 : OnFailure때 Container 재실행 횟수 제한

 

 

 

 

 

 

 

크론잡

 

매일3시 혹은  매 10초마다 혹은 월요일 10시 47분 등 지정한 시간에 따라 특정 파드를 실행시키는 설정이다.