반응형
1. 컨트롤러란?
컨트롤러는 다음과 같은 4가지 기능을 제공한다
- Auto Healing (Node, Pod가 사용 가능한지 불가한지를 판단하여 새로운 노드에 새로운 파드를 만들어주는 역할)
- Auto Scaling (한 파드에 과도한 요청이 있을경우 파드를 복제하여 분산시켜주는 역할)
- Software Update (버전 업데이트를 쉽게할 수 있고 롤백또한 가능)
- Job (일시적인 작업을 해야할경우 사용)
2. Template, Selector란?
다음 그림과 같이 Template는 컨트롤러에 pod를 설정함, 만약 파드가 죽는다면 template에 있는 파드를 재 생성함
Selector는 컨트롤러와 파드가 서비스와 파드처럼 라벨로 연결하게 해주는데 어떤 라벨을 가진 pod를 관리할건지를 의미함
3. Replicas란?
Replicas를 설정한 개수만큼 Pod를 유지하려고 한다 만약 다음과 같은 YAML파일이 작성되어 있다고 하자. replicas에 3이 적혀있으므로 컨트롤러는 파드의 개수를 3개로 유지하려 할것이고 만약 파드가 죽는다면 재생성하여 3개를 유지할 것이다 이를 활용하여 버전 업데이트가 이루어진다.
apiVersion: v1
kind: ReplicaSet
metadata:
name: replica-1
spec:
replicas: 3
selector:
type: app
template:
metadata:
name: pod-1
labels:
type: app
spec:
containers:
- name: container
image: app:v1
4. ReplicaSet를 통해 Pod생성하기
다음과 같은 YAML파일을 작성하고 ReplicaSet을 만든다
apiVersion: v1
kind: ReplicaSet
metadata:
name: replica-1
spec:
replicas: 1
selector:
type: app
template:
metadata:
name: pod-1
labels:
type: app
spec:
containers:
- name: container
image: app:v1
반응형
'프로그래밍 > 도커 & 쿠버네티스' 카테고리의 다른 글
[쿠버네티스] #5. Ingress에 https적용하기 / tls적용하기 / letsencrypt적용하기 (0) | 2020.04.14 |
---|---|
[쿠버네티스] #4. 컨트롤러란? Deployment란? (0) | 2020.03.22 |
[Docker & Kubernetes] 도커를 이용하여 Express 배포하기 (0) | 2020.03.09 |
[쿠버네티스] #2. 서비스란? Service란? (0) | 2020.02.25 |
[쿠버네티스] #1. Pod란? 파드란? (0) | 2020.02.22 |