MSA 아키텍쳐 설계 하면서 엔진에 대해 고민해보았습니다.
크게 RKE1과 RKE2 중 고민하게 되었습니다.
RKE1(Rancher Kubernetes Engine)와 RKE2는 Rancher에서 제공하는 Kubernetes 클러스터 관리 솔루션으로, 각각 다른 목적과 기술 스택을 가지고 있습니다. 다음은 두 엔진의 주요 차이점과, 특징, 그리고 어떤 사항에서 적합한지 설명하겠습니다.
Rancher 는 컨테이너 관리 플랫폼으로 다양한 Kubernetes 클러스터를 효율적으로 배포, 관리, 모니터링을할 수 있는 도구 입니다.
특징
1. 컨테이너 런타임 변경: RKE2는 Docker 대신 Containerd를 기본 컨테이너 런타임으로 사용합니다.
2. 보안 강화: FIPS(Federal Information Processing Standards)를 준수하는 구성 옵션 제공합니다
3. 이식성: RKE2는 클라우드 네이티브 환경에 최적화되어 더 나은 성능을 제공합니다.
4. Kubernetes 방향성과 일치: 최신 Kubernetes 트렌드와 아키텍처 설계에 맞춰 개발.
한계
1. RKE1보다 상대적으로 복잡한 설정 과정.
2. 기존 시스템을 RKE2로 마이그레이션할 때 추가 학습 곡선이 필요.
RKE1이 적합한 경우
1. 기존 인프라가 Docker 기반으로 운영되고 있다면.
2. 빠르게 Kubernetes 클러스터를 설치하고 운영하려는 경우.
3. 온프레미스 환경에서 가볍고 간단한 클러스터를 원하는 경우.
RKE2가 적합한 경우
1. 보안이 중요한 환경(예: 금융, 공공)에서 운영해야 하는 경우.
2. 최신 Kubernetes 트렌드와 기능을 활용하고자 하는 경우.
3. 컨테이너 런타임 표준(Containerd)으로의 전환을 고려하고 있다면.
4. 클라우드 네이티브 환경에서 확장 가능한 클러스터를 운영하려는 경우.
저희 프로젝트는 장기 프로젝트로 지속적인 업데이트를 진행 할 것입니다.
따라서 장기적인 관점에서 Kubernetes 생태계가 Containerd와 최신 보안 표준으로 전환 되고 있으므로 RKE2가 더 유리하다고 생각합니다.
Control Plane 에서 지정한 워크로드를 실행하는 역할.
주요 구성 요소 :