• peter482431

쿠버네티스 ② 고가용성 클러스터 구성

고가용성(HA) 클러스터







우리 서버는 일반 쿠버네티스 클러스터가 아닌 고가용성(High Availability) 클러스터로 구성됩니다.

고가용성 클러스터란? 마스터 노드의 `API-SERVER가 대량의 통신을 부담하게 된다면 처리하는데에 있어서 장애가 생길 수 있는데, 고가용성 클러스터는 노드들이 자원과 정보를 공유하며, 장애 발생 시에도 서비스가 중단되지 않도록 합니다.

고가용성 클러스터 특징

  • 마스터 노드(controll plane node)가 load bancer를 통해 apiserver 통신

  • 최소 3개의 중첩된 control plane을 구성(홀수로 3,5,7개로 관리) Tip, control plane이 홀수로 관리하는 이유 : 컨테이너 배포에 대한 voting을 수월하게 하기 위함

  • 하나의 마스터노드의 서버가 장애 발생시 로드 밸런서가 다른 마스터 노드에게 전달해 서버를 관리하게 됨

고가용성 클러스터 구성

출처 : https://kubernetes.io/ko/docs/setup/production-environment/tools/kubeadm/ha-topology/
<일반 쿠버네티스의 클러스터에 추가된 구성>

Control Plane Node

: 앞서 설명한 것처럼 다수로 구성되어 worker node의 상태를 관리하고 제어함.


Load Balancer

: 병목현상을 방지하기 위해 서버의 부하를 분산하기위해 N개의 서버에 트래픽을 분해함.


etcd Host

: 각 control plane node의 kube-apiserver와 통신함.


Load Balancer 이점

  1. 기존 단일 서버보다 시스템 관리자가 클라이언트 요청을 쉽게 처리할 수 있게 하고 사용자의 대기 시간을 단축함.

  2. 서버 장애가 발생하더라도 정상적인 대기 서버로 라우팅되기 때문에 최종 사용자에게는 영향이 없음.

  3. 기존 단일 서버는 많은 작업을 수행하는 대신, 로드밸런싱이 여러 서버에 작업을 분산해 보다 장애나 부하가 더 적은 양을 수행함.

마치며

다른 기업들은 종종 구글이나 AWS 등 클라우드 플랫폼을 지원 받아 서버 관리를 합니다. 하지만, 우리 서버는 하나부터 열까지 직접 시험해보고 발전하며 더 나은 길로 가고 있습니다. 이상, 사소한 경험이 뼈가 되고 살이 되는 애자일그로스였습니다.




조회수 169회

최근 게시물

전체 보기