쿠버네티스 자가 치유
쿠버네티스는 워크로드의 상태와 가용성을 유지할 수 있도록 자가 치유 기능을 제공한다. 실패한 컨테이너를 자동으로 교체하고, 노드가 사용할 수 없게 되면 워크로드를 다시 스케줄하며, 원하는 시스템 상태를 유지하도록 보장한다.
자가 치유 기능
-
컨테이너 단위 재시작: 파드 내부의 컨테이너가 실패하면, 쿠버네티스는
재시작 정책
에 따라 재시작한다. -
레플리카 교체: 디플로이먼트(Deployment) 또는 스테이트풀셋(StatefulSet)의 파드가 실패하면, 쿠버네티스는 지정된 레플리카 수를 유지하기 위해 대체 파드를 생성한다. 데몬셋(DaemonSet)의 일부인 파드가 실패한다면, 컨트롤 플레인이 대체 파드를 생성하여 동일한 노드에서 실행되도록 한다.
-
영구 스토리지 복구: 퍼시스턴트볼륨(PersistentVolume)이 연결된 파드를 실행 중일 떄 노드에 장애가 발생하면, 쿠버네티스는 다른 노드에 있는 새로운 파드에 다시 연결할 수 있다.
-
서비스 로드 밸런싱: 서비스 뒤에 있는 파드에 장애가 발생하면, 쿠버네티스는 자동으로 서비스의 엔드포인트에서 해당 파드를 제거하여 정상 파드로만 트래픽을 라우팅한다.
쿠버네티스가 자가 치유를 제공하는 주요 컴포넌트는 다음과 같다.
-
kubelet: 컨테이너가 실행 중인지 확인하고, 실패한 컨테이너를 재시작한다.
-
레플리카셋(ReplicaSet), 스테이트풀셋, 데몬셋 컨트롤러: 파드 레플리카를 원하는 수로 유지한다.
-
퍼시스턴트볼륨 컨트롤러: 상태 저장 워크로드의 볼륨 연결 및 연결 해제를 관리한다.
고려 사항
-
스토리지 장애: 퍼시스턴트볼륨을 사용할 수 없게 되면, 복구 절차가 필요할 수 있다.
-
애플리케이션 오류: 쿠버네티스는 컨테이너를 재시작할 수 있지만, 근본적인 애플리케이션 문제는 별도로 해결해야 한다.
다음 내용
- 파드 더 읽어보기
- 쿠버네티스 컨트롤러 학습하기
- 퍼시스턴트볼륨 살펴보기
- 노드 오토스케일링 읽어보기. 노드 오토스케일링은 클러스터의 노드가 실패할 경우 자동 치유 기능도 제공한다.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.