본문 바로가기
Container/kubernetes

[쿠버네티스]컨트롤러

by 노반장 2020. 4. 13.

Replication Controller : 파드를 설정 값에 따라 유지 시켜줌

규칙으로는 라벨과 같은지 다른지

 

Replicaset : Replication Controller의 다음 버전

집합 규칙에 따라서 파드를 유지

라벨을 포함하는지, 라벨을 포함하지 않는지 ...

파드의 자동 버전 업그레이드가 안된다

 

Deployment : 파드의 버전 업드레이드 지원

방식은 크게 ReCreate, Rolling Update, Blue/Green, Canary 네 방식

ReCreate은 기존의 파드를 삭제하고 새로운 버전의 파드에 연결

즉, 다운타임이 존재

Rolling Update은 새로운 파드를 생성하고 기존의 파드와 동시에 사용하며 하나씩 전환

다운타임이 존재하지 않으나 추가적인 자원이 필요

Blue/Green은 기존과 동일 수의 파드를 생성 후 동시에 사용하며 전환

다운타임이 존재하지 않으나 기존과 동일한 자원이 필요

Canary는 새로운 버전의 파드에 다른 uri 경로오 유입시키며 

테스트 후 경로를 변경하여 전환

다운타임은 존재하지 않으나 추가적인 자원이 필요하며 

uri 경로 분기 조건이 필요 ( ex> 미국지역은 /us/app으로 유입 )

 

DaemonSet : 모든 노드에 하나씩 생성

모니터링과 같은 모든 노드에 필요한 경우에 사용

특정 노드에 생성하지 않도록 설정이 가능

 

Job/Crontab

특정 목적의 파드를 Job을 통해 실행

Crontab로 Job을 생성하고 관리

 

Ingresss

L4 역할을 함

Nginx, Kong과 같은 컨트롤러를 통하여 사용

외부 호출 -> Ingress 컨트롤러(Nginx) -> Pod(Ingress 판단) -> 목표로 분기

Ingress 판단시 @header(클라이언트 기준 분기), @weigtht(분산 정도), tls(https) 등의 기능을 활용 가능

댓글