Kubernetes - Replication Controller
Kubernetes 기초
Kubernetes - Replication Controller
ReplicaSet & replication controller
- pod 가 항상 실행되도록 유지하는 쿠버네티스 리소스
- 노드가 클러스터에서 사라지는 경우 해당 pod를 감지하고 대체 pod생성
- 실행 중인 pod의 목록을 지속적으로 모니터링으로 하고 ‘유형’ 의 실제 pod수가 원하는 수와 항상 일치하는지 확인

replication controller 세가지 요소
- 관리하는 pod범위를 결정하는 레이블 셀렉터
- 실행해야하는 pod의 수를 결정하는 복제본 수
- 새로운 pod의 모양을 설명하는 pod템플릿
replication controller 장점
- pod가 없는 경우 새 pod 항상 실행
- 노드에 장애 발생 시 다른 노드에 복제본 생성
- 수동, 자동으로 수평 스케일
replication controller YAML 작성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
apiVersion: v1
kind: ReplicationController
metadata:
name: nginx
spec:
replicas: 3
selector:
app: nginx
template:
metadata:
name: nginx
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
ports:
- containerPort: 80
replication controller 조회
1
kubectl get rc #replicationcontrolle 줄임
1
kubectl describe rc rc이름 #상세 정보 확인 (이벤트 로그 확인 가능)
replication controller 수정
1
2
3
kubectl scale rc rc이름 --replicas=5 # replica를 5로 늘리는 수정
kubectl edit rc rc이름 # 설정 파일 수정 가능 (vim형태)
replication controller 삭제
1
2
kubectl delete rc rc이름 # rc삭제
kubectl delete rc rc이름 --cascade=false # 실행된 pod는 유지 rc는 삭제
replication controller node 장애
This post is licensed under CC BY 4.0 by the author.
