MSA/Part4. Ch.6 Kubernetes 안정성 강화 방법

01. Kubernetes 안정성 강화 방법 소개

Engineer-Lee 2023. 1. 30. 17:02
반응형

CA란 Cluster Autoscaler의 약자로 K8s 워커노드를 scaling 해준다.

HPA란 Horizontal Pod Auto scaler의 약자로 pod를 수평적으로 scaling 해준다.

HPA는 kube-controller-manager에 속하며 scaling을 할 수 있도록 Metrics Server를 배포하여 사용한다.

HPA가 지정하는 threshold 기준을 넘어서면 scale out이 되고 threshold 기준 이하이면 scale in이 된다.

 

 

 

 

HPA를 활용하는 경우로는 대규모의 트래픽이나 연산처리가 필요한 경우이다.

다양한 어플리케이션의 로그처리, publish subscript처럼 이벤트성의 처리를 할 때 자원이 부족한 경우 HPA를 이용해 scaling 할 수 있다.

KEDA(Kubernetes Event-driven Autoscaling)는 이벤트를 처리할 수 있는 autoscaler인데

이는 HPA와 연동해서 CPU, RAM 외에 다양한 기준으로 autoscale 할 수 있다.

 

 

 

 

Minio는 K8s의 블록스토리지, 파일스토리지, 오프젝트 스토리지를 구현할 수 있다.

만약 K8s를 on-premise에서 사용한다면 s3 같은 오프젝트 스토리지가 없을 것이다.

이때 워커노드의 일부 디스크 자원을 때어서 하나의 클러스터처럼 묶어서

오프젝트 스토리지처럼 제공하는 방식등 다양한 방식을 Minio는 제공해 준다. 

 

 

 

 

Velero란 우리가 운영하기 위해서는 데이터를 안정적으로 보존하고 가용성을 유지해야 한다.

이를 위해 Back up 복구를 한다.

K8s에서는 back up 할 수 있는 것이 한정적이다. 컨테이너의 특성이 stateless 하기에 CI/CD 파이프라인을 통해서만 업데이트 변경이 이뤄지고 직접적인 컨테이너에 대한 접속을 통한 변경이 이뤄져서는 안 된다.

이때의 back up은 eks 클러스터 자체에 대한 back up이다.

컨테이너 이미지나 PV를 이용한 파일이나 블록스토리지 외에도 클러스터 전체를 유지하기 위한 적용값들을 back up 하는 것이다.

 

 

 

 

 

Velero는 클러스터의 시스템 리소스들이 무너진 경우의 무중단에 가까운 disaster recovery 등에 활용된다.

 

 

 

 

반응형