본문 바로가기
쿠버네티스/쿠버네티스에 관해서

7. Kubernetes Controller란?

by 종안이 2022. 7. 16.

- 컨트롤러는 파드의 개수를 보장하는 역할을 한다. 

만약에 파드를 모니터링하다가 문제가 생기면 다시 컨테이너를 생성해준다.

 

 

 

1. Replication Controller : Selector 를 이용해서 파드의 개수를 보장한다. 템플릿으로 만들어주기도 한다.

 

apiVersion: v1
kind: ReplicationController
metadata:
  name: rc-nginx
spec:
  replicas: 3 = > 항상 3개의 컨테이너가 존재해야 된다. 하나라도 없어지면 1개를 새로 생성해줌
  selector:
    app: webui
  template:
    metadata:
      name: nginx-pod
      labels:
        app: webui
    spec:
      containers:
      - name: nginx-container

 

2. ReplicaSet : Label Selector가 Replication Controller보다 훨씬 다양하다 , (나중에 만들어졌으니 당연?)

 

3. DaemonSet : 노드당 파드가 한개씩 실행되도록 보장하는 Set이다. 롤링 업데이트와 롤백 기능을 갖고 있다.

 

4. StatefulSet : 서비스 네임을 갖고 있으며 파드에 해당하는 번호를 설정하고 알 수 있다.(순차적으로 만들거나 실행된다) 다만 데몬셋과 다르게 

노드 당 하나의 파드를 보장하지는 않는다.

 

본래 동작 개수가 4개인 스테이트풀셋을 2개로 줄여본다. 그러면 끝에서부터 2개가 줄어드는 것을 알 수 있다.

 

그러면 끝에서 3번과 2번 파드가 삭제되는 것을 알 수 있다.

 

 

그리고 다시 생성하면 3번과 2번 이름의 파드가 생성됨을 알 수 있다. ( 파드의 이름이 유지되는 스테이트 풀 셋의 특성)

 

등등이 있다.

 

 

 

댓글