- K8S는 liveness Probe를 통해 컨테이너의 Health Check를 수행
- Health Check가 실패할 경우, POD를 다시 시작
- HTTP GET : 지정된 IP/PORT에 HTTP GET을 수행
- TCP Socket : 지정된 IP/PORT에 TCP 연결을 수행
- EXEC : 컨테이너 내부에서 명령어를 실행, 종료 코드를 확인
- initialDelaySeconds : pod 가 시작되고 최초의 liveness probe가 수행되기 까지 대기시간 (0s)
- periodSeconds: probe가 수행 되는 간격 (10s)
- timeoutSeconds : 지정된 시간 안에 응답을 반환 해야 성공으로 간주 (1s)
- successThreshold : probe가 실패한 이후에 지정된 횟수 만큼 성공 할 경우 성공으로 간주 (1s)
- failureThreshold : probe가 지정한 개수 만큼 연속으로 실패하는 재가동 실행 (3s)
- host : 접속할 호스트명. httpHeaders 에 설정 해도 무방 (POD IP)
- scheme : 접속 방법 선택. HTTP 또는 HTTPS (HTTP)
- path : HTTP 서버 접속 경로
- httpHeaders : request 의 커스텀 헤더. 설정
- port : 접속할 컨테이너의 포트 넘버 또는 이름 (1~ 65536 사이값)
Replication Controller는 어떠한 이유로 POD가 사라지게 되면 대체 할 POD를 생성

- RC는 사라진 Pod B를 대체할 새로운 Pod B2를 다른 노드에 생성
- RC가 없는 Pod A는 완전히 사라짐
- RC는 지속적으로 모니터링하고 지정된 개수가 맞는지 지속적으로 체크
• RC 범위에 있는 포드를 결정하는 라벨 셀렉터를 사용
• 실행해야 하는 POD의 원하는 수를 지정하는 복제본 수
• 새로운 POD 복제본을 만들때 사용해야 하는 POD Template
- Pod Template 은 언제든지 수정 가능
- Pod 수정 시점이 아니라 새로운 Pod 가 생성 되는 시점에 적용

- Pod가 없을 경우, 새 Pod를 시작해 항상 실행 되도록 유지
- 특정 노드에 장애가 발생하더라도 해당 노드의 모든 Pod를 다른 노드에서 동일한 개수로 재 실행
- 손 쉬운 스케일링 가능

- Replication Controller 를 대체 하기 위해 등장
- 일반적으로 ReplicaSet을 직접 생성 하기 보다 Deployment 를 이용해서 생성
- Replication Controller 와 동일하게 동작 하지만 풍부한 표현 식을 통해 POD를 선택 가능
- 표현식에는 matchLabels 와 matchExpressions
- In : 라벨값이 지정된 값 중 하나와 일치해야 함
- NotIn : 라벨 값이. 지정된 값과 일치해서는 안됨
- Exists : Pod에 지정된 키가 있는 라벨이 포함 되야 함(값은 중요하지 않음)
- DoesNotExist : Pod에 지정된 키다 있는 라벨이 포함 되면 안됨(Value 속성 지정 하면 안됨)


조회
$kubectl get rs
세부 사항 조회
$kubectl describe rs <ReplicaSet-Name>
삭제 (Pod 포함 삭제)
$kubectl delete rs <ReplicaSet-Name>
삭제 (Pod 미 포함 삭제)
$kubectl delete rs <ReplicaSet-Name> --cascade=orphan