1 배경
최근 Forrester Wave 보고서에 따르면 클라우드 네이티브 기술은 글로벌 조직이 규모에 맞게 애플리케이션과 서비스를 구축하고 현대화하는 데 선호되는 방법이 되고 있습니다. 컨테이너와 Kubernetes의 인기는 가트너가 전망하기를 2022년까지 전세계 조직의 75% 이상이 생산 중에 컨테이너형 애플리케이션을 운영할 것이라는 것을 보고 있습니다. 이러한 성장 예측은 기업 개발자와 IT 운영자를 위한 Kubernetes와 같은 클라우드 네이티브 기술의 가치를 입증하며, 안정성, 민첩성 및 보안에 영향을 미치지 않고 애플리케이션을 더 빠르게 구축하고 환경을 관리할 수 있는 솔루션을 찾고 있습니다.
기업은 IT 운영을 Kubernetes와 통합함으로써 다음과 같은 엄청난 이점을 실현할 수 있습니다.
- 어떤 인프라에서도 높은 수준의 안정성 일관되게 제공
- 표준화된 자동화를 통해 DevOps 효율성 향상
- 모든 인프라에서 보안 정책 시행 보장
그러나 일반적으로 다음과 같이 Kubernetes 클러스터가 배치되기 때문에 업스트림 Kubernetes에만 의존하면 오버헤드와 위험이 발생할 수 있다.
- 중앙화된 가시성 없음
- 일관된 보안 정책 없음
- 독립적으로 관리
SUSE Rancher 2.6은 다음과 같은 주요 기능을 제공하여 이러한 과제를 해결하는 Kubernetes 관리 플랫폼입니다.
- 일관된 클러스터 운영 – Kubernetes 업그레이드, 백업 및 구축이 코어에서 클라우드, 그리고 에지에 이르기까지 간소화됩니다.
- 보안 정책 및 사용자 관리 – 일관된 RBAC, PSP 및 사용자 관리
- 공유 도구 및 서비스 – 도구 및 서비스에 즉시 액세스할 수 있습니다.
2 SUSE Rancher 2.6: 엔터프라이즈 프러덕션 등급 Kubernetes용으로 제작됨
SUSE Rancher 2.6은 Kubernetes에 구축된 완전한 컨테이너 관리 플랫폼입니다. 그림 1에서 보듯이, SUSE Rancher 2.6은 인증된 Kubernetes 배포판(SUSE의 RKE 및 CNCF Sandbox Project, K3 포함), 일관된 클러스터 운영, 보안/인증/정책 관리/지배구조 및 개발자 플랫폼 서비스 등 네 가지 주요 요소로 구성되어 있습니다.
2.1 Kubernetes 인증 배포판
2.1.1 Rancher Kubernetes Engine(RKE)
RKE는 모든 곳에서 작동하는 간단하고 번개처럼 빠른 Kubernetes 인스톨러입니다. RKE는 특히 아직 Kubernetes 서비스를 지원하지 않는 클라우드에서 Kubernetes 클러스터, 베어 메탈 서버 및 VM 인스턴스를 구축하는 데 유용합니다. 또한 많은 사람들이 이미 Kubernetes 서비스를 지원하는 클라우드 제공업체에서 RKE를 사용하여 어디에서나 일관된 Kubernetes 구현이 가능합니다. SUSE Rancher 2.6에서는 Linux x86_64 및 Arm64 아키텍처와 Windows 20 H2 시스템에서 클러스터를 프로비저닝할 수 있습니다.
RKE는 초기 설치부터 지속적인 유지 보수에 이르기까지 Kubernetes 클러스터의 전체 라이프사이클을 관리합니다. Rancher 사용자는 다음을 수행할 수 있습니다.
- 머신 드라이버를 사용하여 여러 클라우드에서 VM 인스턴스 프로비저닝을 자동화합니다.
- Kubernetes 제어부 및 etcd 데이터베이스 노드를 설치합니다.
- Windows 및 Linux Arm64 및 x86_64 노드에서 워커 노드를 프로비저닝합니다.
- 기존 Kubernetes 클러스터에서 노드를 추가하거나 제거합니다.
- Kubernetes 클러스터를 새 버전으로 업그레이드합니다.
- Kubernetes 클러스터의 상태를 모니터링합니다.
RKE에 대한 자세한 내용은 http://suse.com/products/rke를 참조하십시오.
2.1.2 Rancher Kubernetes Engine 2(RKE2)
RKE Government라고도 하는 RKE2는 보안 및 규정 준수에 초점을 맞춘 완전한 인증을 받은 Kubernetes 배포판입니다. RKE2는 RKE 및 K3s 배포판의 가장 좋은 성분을 활용하여 구조를 형성합니다. RKE2는 기업 및 클라우드 네이티브 커뮤니티에 정부 차원의 보안 기능을 제공합니다. 그것은 생태계 전반에 걸친 변화를 이용하기 위해 구축되었다. RKE2는 도커 컨테이너 런타임에 종속되지 않아도 되며, 지원되는 containerd 런타임을 포함합니다. 이 배포판은 SELinux를 지원하며 FIPS 인증 golang 라이브러리로 컴파일되었습니다.
SUSE Rancher 2.6에서는 RKE2 프로비저닝이 기술 미리보기로 도입되고 있습니다. 이 새로운 프로비저닝 시스템은 커뮤니티 표준 Cluster API 사양을 기반으로 구축되었습니다. 이제 사용자는 GitOps 툴을 활용하여 클러스터를 코드와 같은 인프라로 정의할 수 있습니다. 또한, SUSE Rancher를 통해 배포할 때, RKE2 클러스터는 오픈 소스 CNI(Calico Container Networking Interface) 플러그인뿐만 아니라 다중 네트워크 인터페이스를 Multus와 함께 포드에 배치하는 옵션도 사용하도록 기본 설정됩니다. RKE2를 사용하면 사용자는 사용자 지정 클러스터에서 Windows 노드를 프로비저닝할 수 있습니다.
RKE2에 대한 더 많은 정보를 원하시면, https://docs.rke2.io/를 방문하세요.
2.1.3 K3s – IoT 및 엣지용 경량 쿠버네티스 배포판
K3는 크기가 약 50메가바이트인 단일 바이너리로 포장되어 있습니다. 저전력 IoT 및 Edge 기반 장치를 포함하여 어디서나 Kubernetes를 실행하는 데 필요한 모든 것이 단일 바이너리에 번들되어 있습니다. 바이너리는 컨테이너 런타임과 iptables, socat 및 du와 같은 중요한 호스트 유틸리티를 포함한다. 유일한 OS 종속성은 리눅스 커널 자체와 적절한 dev, proc 및 sysfs 마운트입니다(이는 모든 최신 리눅스 배포판에서 자동으로 수행됨).
K3는 쿠버네티스 구성요소(kube-apiserver, kube-controller-manager, kube-scheduler, kubelet, kube-proxy)들을 단순한 서버 및 에이전트 모델로 제공되는 결합된 프로세스로 번들합니다. K3는 단일 노드에서 완전한 클러스터로 실행되거나 다중 노드 클러스터로 확장할 수 있습니다.
핵심 Kubernetes 구성 요소 외에도 containerd, Flannel, CoreDNS, 인그레스 컨트롤러 및 단순 호스트 포트 기반 서비스 로드 밸런서도 실행합니다. 이러한 모든 구성 요소는 선택 사항이며 선택한 구현을 위해 스왑 아웃할 수 있습니다.
이러한 구성 요소를 포함하면 완전한 기능을 갖춘 CNCF 호환 클러스터가 제공되므로 애플리케이션 실행을 즉시 시작할 수 있습니다. K3s는 현재 CNCF 샌드박스 프로젝트로, 샌드박스에 채택된 최초의 쿠버네츠 배포판입니다.
K3에 대한 자세한 내용은 https://k3s.io에서 확인할 수 있습니다.
2.2 일관된 클러스터 운영
SUSE Rancher 2.6을 사용하면 기존 툴로 프로비저닝된 기존 Kubernetes 클러스터를 관리하거나 클라우드에 의해 관리되는 Kubernetes 클러스터를 사용할 수 있습니다.
EKS, GKE 및 AKS의 Kubernetes 서비스 및 호스팅된 클러스터는 SUSE Rancher 설치 시 쉽게 프로비저닝 또는 가져오고 관리할 수 있습니다. 또한 모든 클라우드, 가상화 또는 베어 메탈 인프라에서 RKE Kubernetes 클러스터를 프로비저닝하고 운영할 수 있습니다.
SUSE Rancher는 Rancher Terraform 공급자를 통해 코드화 인프라로 쉽게 관리할 수 있습니다. 이를 통해 클러스터, 네임스페이스, 비밀 및 카탈로그 앱에 대한 구성을 Git에 쉽게 저장할 수 있습니다. SUSE Rancher에는 일상적인 작업을 수행하기 위해 스크립팅할 수 있는 강력한 API가 있습니다.
2.3 보안, 인증, 정책 및 사용자 관리
SUSE Rancher 관리자는 보안 팀과 협력하여 사용자가 Kubernetes와 상호 작용하는 방법과 AKS, EKS 및 GKE와 같은 관리되는 클라우드 프로바이더 내의 호스팅 클러스터를 포함하여 모든 인프라에서 컨테이너형 워크로드의 운영 방식을 중앙에서 정의할 수 있습니다. 중앙 집중화된 정책이 정의되면 즉시 해당 정책을 Kubernetes 클러스터에 할당합니다.
2.3.1 인증 및 RBAC
SUSE Rancher는 보안 클러스터를 설치할 뿐만 아니라 모든 통신을 Rancher 서버를 통해 해당 클러스터로 프록시합니다. SUSE Rancher는 Active Directory, LDAP, SAML, GitHub 등과 같은 여러 백엔드 인증 공급자에 연결됩니다. 이러한 방식으로 연결되면 SUSE Rancher를 통해 어디에서 실행하든 상관없이 SUSE Rancher의 산하 모든 Kubernetes 클러스터로 기존 기업 인증을 확장할 수 있습니다.
SUSE Rancher는 글로벌, 클러스터 및 프로젝트 수준에서 역할을 사용할 수 있도록 지원하며 관리자가 역할을 한 곳에서 정의하고 모든 클러스터에 적용할 수 있도록 지원합니다.
기본적으로 RBAC와 강력한 인증 및 인증 제어를 조합하면 SUSE Rancher 또는 RKE를 사용하여 클러스터를 배포하는 순간부터 해당 클러스터가 안전해집니다.
2.3.2 SUSE Rancher의 최신 보안 기능
최근 StackRox 보고서에서는 지난 1년 동안 조사 응답자의 94%가 사고를 경험했을 정도로 컨테이너 환경에서 보안 사고가 광범위하게 발생하고 있음을 확인했습니다. 이 응답자 중 69%는 이러한 문제를 잘못된 구성 오류로 보고 있습니다. SUSE Rancher의 최근 릴리스에는 이러한 주요 취약성을 해결하고 운영자가 다음과 같은 위험을 관리하는 데 도움이 되는 기능이 포함되어 있습니다.
- ‘사용자 ID 추적’이 감사 로그에 추가되어 사용자가 이벤트를 추적할 수 있습니다. 이제 SUSE Rancher는 SUSE Rancher 및 Kubernetes 감사 로그에 아이덴티티 프로바이더 이름을 모두 포함합니다. 이를 통해 사용자는 다양한 클러스터 소유자를 식별할 수 있는 SUSE Rancher의 셀프 서비스 모델을 홍보할 수 있습니다.
- CVE에 대한 ‘이미지 검색’은 이제 릴리스의 일부로 모든 이미지에서 자동화되어 사용자가 클러스터의 이미지 전체에 주요 취약성이 있는지 쉽게 확인할 수 있습니다. 심각한 취약성이 발견되면 SUSE Rancher는 문제를 식별, 수정 및/또는 완화하는 데 도움이 되는 미리 결정된 작업을 수행합니다.
- ‘SLE Base Container Image(SLE BCI)’ SUSE Rancher는 SLE BCI를 마이크로 서비스의 기본 이미지로 채택하기 시작했고, 사용자가 안전한 개방형 저장소에 액세스할 수 있도록 했습니다.
- 운영자는 ‘클러스터 템플릿’을 통해 클러스터 구축 전반에 걸쳐 잘 검증된 Kubernetes 구성을 생성, 저장 및 자신 있게 재사용할 수 있습니다. 이러한 템플릿은 Center for Internet Security (CIS)의 최신 Kubernetes 벤치마크의 제어 및 모범 사례를 활용합니다. 클러스터 템플릿 기능에는 구성 드리프트를 방지하고 배포하는 클러스터가 확장 시 보안 취약성을 실수로 발생시키지 않도록 보장하는 정책 시행 옵션도 포함되어 있습니다.
- ‘CIS Scan’을 통해 보안 및 운영 팀은 Center for Internet Security (CIS) Kubernetes 벤치마크의 모범 사례 지침과 클러스터 설정을 비교하여 잘못된 구성 오류를 자동으로 식별할 수 있습니다. SUSE Rancher가 클러스터에서 CIS 보안 검색을 실행할 때 통과, 건너뛰기 및 실패한 테스트 수를 포함한 요약을 포함하여 각 테스트의 결과 등이 포함된 보고서를 생성합니다. 보고서에는 실패한 테스트에 대한 교정 단계도 포함되어 있습니다.
2.4 공유 도구 및 서비스
SUSE Ranhcer 2.6 UI는 기본 Kubernetes 개념을 숨기려고 시도하지 않으며 Kubernetes와 다른 애플리케이션 배포 프레임워크를 도입한다. SUSE Rancher는 포드 및 배포와 같은 기본 Kubernetes 리소스를 위한 업데이트된 crisp UI를 제공합니다.
SUSE Ranhcer 2.6의 앱 카탈로그 경험은 Helm 차트를 기반으로 합니다. Helm은 Kubernetes에 애플리케이션을 배치하기 위한 강력한 템플레이팅 메커니즘입니다. 그러나 사용자는 설정할 변수를 정확하게 이해하기 위해 긴 문서를 읽어야 합니다. 이 변수에 대한 올바른 값을 제공합니다. 이 프로세스는 오류가 발생하기 쉽습니다. SUSE Rancher는 올바른 변수 집합만 노출하고 사용자에게 프로세스를 안내하여 Helm 차트 구축을 단순화합니다. SUSE Rancher 카탈로그는 올바른 질문을 하고 합리적인 기본값과 객관식 값을 제시함으로써 사용자를 보여줍니다. SUSE Rancher는 Git 기반 카탈로그 저장소뿐만 아니라 Helm 3 카탈로그도 지원합니다.
SUSE Rancher 2.6은 Kubernetes와 통합된 모든 CI/CD 시스템과 호환됩니다. 예를 들어 Jenkins, Drone 및 GitLab은 다른 Kubernetes 배포판처럼 SUSE Rancher 2.6과 계속 협력할 것입니다. CI/CD 시스템이 기본적으로 Kubernetes를 지원하지 않는 경우 SUSE Rancher CLI가 SUSE Rancher 관리 Kubernetes 클러스터에 배포되도록 하는 작업으로 포함될 수 있습니다.
SUSE Rancher 2.6은 Kubernetes와 통합된 모든 모니터링 및 로깅 시스템과 함께 작동합니다. 즉시 사용 가능한 환경을 위해 사용자는 내장된 Prometheus 기능을 사용할 수 있습니다. Datadog, Sysdig 또는 ELK와 같은 기존 시스템이 있는 경우 SUSE Rancher 2.6과 계속 작동합니다. 로그 집계를 위해 SUSE Rancher는 호스트에서 로그를 전송하는 Fluentd 및 Fluent Bit의 간단한 클릭 배포를 제공합니다.
2.5 Fleet
SUSE Rancher 팀이 개발한 오픈 소스 프로젝트인 Fleet는 Kubernetes 클러스터 컨트롤러입니다. 이 제품은 전 세계적으로 수천에서 수백만 개의 클러스터를 실행하는 문제를 해결하기 위해 특별히 설계되었습니다. 이 개념은 대규모로 설계되었지만 여전히 10개 미만의 소규모 클러스터 배포에도 적용됩니다. Fleet은 가장 작은 배포에서 실행할 수 있을 정도로 경량이며 단일 노드 클러스터 자체만 관리할 수 있는 장점도 있습니다. Fleet의 주요 사용 사례는 클러스터 전체에 걸쳐 일관된 배포가 이루어지도록 하는 것입니다. 애플리케이션을 배포하거나 “모든 클러스터에 X 보안 도구가 설치되어 있어야 한다”와 같은 표준을 쉽게 적용할 수 있습니다.
3 고급 아키텍처
3.1 Fleet
Fleet에는 두 가지 간단한 고급 개념이 있습니다.
- 클러스터 그룹(Cluster group): 단일 엔터티로 대상으로 지정해야 하는 논리적 클러스터 그룹입니다.
- 번들(Bundle): 클러스터에 배포된 리소스 모음.
번들은 Fleet 컨트롤러에 정의된 다음 선택기 및 대상별 사용자 지정을 사용하여 대상 클러스터에 배포됩니다. 강력한 선택기를 사용하여 모든 클러스터에 번들을 배포할 수 있지만 각 클러스터는 하나의 클러스터 그룹의 멤버입니다. 번들 및 클러스터 그룹의 상태를 확인하여 대규모 배포의 상태를 빠르게 파악할 수 있습니다. 번들이 배포된 후에는 번들이 준비되었는지, 리소스가 수정되지 않았는지 확인하기 위해 번들이 지속적으로 모니터링됩니다.
번들은 일반 Kubernetes YAML, Helm 또는 kustomize 기반일 수 있습니다. Helm과 kustomize를 결합하여 강력한 워크플로우를 만들 수도 있습니다. 번들을 만들기 위해 선택한 접근 방식에 관계없이 모든 리소스는 Helm 차트로 클러스터에 배포됩니다. Fleet를 사용하여 클러스터를 관리한다는 것은 모든 리소스가 차트에서 세심하게 관리되고 간단한 helm-n fleet-system ls
로 설치된 내용에 대한 정확한 개요를 제공하기 때문에 모든 클러스터를 쉽게 감사할 수 있음을 의미합니다. Fleet을 Github Actions와 같은 Git 기반 워크플로우와 결합하면 대규모로 손쉽게 자동화할 수 있습니다.
3.2 Rancher Server
SUSE Rancher 2.6에는 전체 SUSE Rancher 배포를 관리하는 서버 구성 요소가 있으며 에이전트 구성 요소를 Kubernetes 클러스터에 배포합니다.
그림 2는 SUSE Rancher 2.6의 고급 아키텍처를 보여줍니다. RKE에서 만든 Kubernetes 클러스터와 EKS, AKS, GKE 또는 다른 Kubernetes 클러스터가 될 수 있는 비 RKE Kubernetes 클러스터 등 두 개의 Kubernetes 클러스터를 관리하는 랜처 서버 설치를 설명합니다.
4 랜처 서버 구성 요소
이 절에서는 각 랜처 서버 구성요소의 기능에 대해 설명합니다.
4.1 Rancher API 서버
Rancher Server는 강력한 API를 제공합니다. SUSE Rancher는 기본 Kubernetes 인스턴스의 영구 데이터 저장소(일반적으로 등)를 사용하여 모든 구성 데이터를 저장합니다. 랜처 API를 사용하여 생성된 모든 SUSE 랜처 관련 리소스는 하나 또는 여러 랜처 컨트롤러에 의해 관리되며 CRD(사용자 지정 리소스 정의) 개체로 변환됩니다.
Rancher API Server는 랜처 서버의 모든 컨트롤러의 기본 계층입니다. 여기에는 다음 기능이 포함됩니다.
- 사용자 지정 포맷터 및 검증기를 연결할 수 있는 사용자 대면 API 스키마 생성
- CRD 및 기본 Kubernetes 개체 유형을 위한 컨트롤러 인터페이스 생성.
- 객체 라이프사이클 관리 프레임워크.
- 상태 관리 프레임워크.
- TaskQueue 및 SharedInformer 로직을 단일 인터페이스로 캡슐화하여 일반 컨트롤러 구현 단순화
4.2 관리 컨트롤러(Management Controller)
관리 컨트롤러는 개별 클러스터가 아닌 랜처 서버 수준에서 작업을 수행합니다. 이러한 활동은 다음과 같습니다.
- 클러스터 및 프로젝트에 대한 액세스 제어 정책 구성.
- 포드 보안 정책 템플릿을 관리합니다.
- 필요한 도커 머신 드라이버를 호출하고 RKE 및 GKE와 같은 Kubernetes 엔진을 호출하여 클러스터를 프로비저닝합니다.
- 사용자 관리 – 사용자에 대한 CRUD(Create, Read, Update 및 Delete) 작업.
- 글로벌 레벨 카탈로그 관리, 업스트림 Helm repo의 콘텐츠 가져오기 등
- 클러스터 및 프로젝트 수준 카탈로그 관리.
- 클러스터 통계 및 이벤트를 집계 및 표시합니다.
- 노드 드라이버, 노드 템플릿 및 노드 풀 관리.
- 클러스터가 SUSE 저장소에서 제거될 때 클러스터 정리 관리.
4.3 사용자 클러스터 컨트롤러
사용자 클러스터 컨트롤러는 클러스터 관련 작업을 수행합니다. 사용자 클러스터 컨트롤러는 수평 확장을 위해 실행 중인 랜처 서버 포드에 분산되어 있습니다. 활동은 다음과 같습니다.
- 워크로드 관리(예: 각 클러스터에 포드 및 배포 생성)
- 글로벌 정책에 정의된 역할 및 바인딩을 모든 클러스터에 적용합니다.
- 클러스터에서 랜처 서버로 이벤트, 통계, 노드 정보 및 상태 정보를 전파합니다.
- 네트워크 정책 관리.
- 경고, 모니터링, 로그 집계 및 CI/CD 파이프라인 관리
- 리소스 할당량 관리.
- 암호를 랜처 서버에서 개별 클러스터로 전파합니다.
- 사용자 클러스터 컨트롤러는 GKE 클러스터의 API 서버에 직접 연결하지만 클러스터 에이전트를 통해 터널링하여 RKE 클러스터의 API 서버에 연결합니다.
4.4 인증 프록시(Authentication Proxy)
인증 프록시는 모든 Kubernetes API 호출을 프록시합니다. 로컬 인증, Active Directory, Okta, GitHub와 같은 인증 서비스와 통합됩니다. 모든 Kubernetes API 호출에서 인증 프록시는 호출자를 인증하고 호출을 Kubernetes 마스터로 전달하기 전에 적절한 Kubernetes 가장 헤더를 설정합니다. SUSE Rancher는 서비스 계정을 사용하여 Kubernetes 클러스터와 통신합니다.
인증 프록시는 비 RKE 클러스터의 API 서버에 직접 연결하지만 클러스터 에이전트를 통해 터널링하여 RKE 클러스터의 API 서버에 연결합니다.
인증 클러스터 엔드포인트는 RKE 기반 클러스터에 도입되어 로컬 클러스터에 중앙 집중식 인증이 수행되었습니다. 이렇게 하면 인증 경로에서 랜처 서버를 제거하여 Kubernetes 클러스터의 연결이 끊긴 관리 및 작업을 수행할 수 있어 가용성을 높일 수 있습니다.
4.5 Fleet Manager
Fleet 매니저는 Git 저장소에서 번들 및 정의를 가져올 책임이 있습니다. 랜처 서버 설치당 Fleet Manager는 하나만 있습니다.
Fleet Manager는 Fleet Agent의 요청을 이행합니다.
5 SUSE Rancher Agent 구성 요소
이 절에서는 SUSE Rancher가 관리하는 Kubernetes 클러스터에 배포된 소프트웨어 구성 요소에 대해 설명한다.
5.1 클러스터 에이전트(Cluster Agent)
SUSE Rancher는 관리 중인 각 Kubernetes 클러스터에 대해 클러스터 에이전트를 하나씩 배포합니다.
클러스터 에이전트는 사용자 클러스터 컨트롤러 및 인증 프록시가 사용자 클러스터 Kubernetes API 서버와 통신할 수 있도록 다시 Lancher 서버로 WebSocket 터널을 엽니다. RKE 클러스터와 가져온 클러스터만 해당 클러스터를 활용합니다.
에이전트를 사용하여 Kubernetes API를 터널링합니다. GKE와 같은 클라우드 Kubernetes 서비스는 이미 공용 인터넷에 API 엔드포인트를 노출하고 있으므로 클러스터 에이전트가 터널로 작동할 필요가 없습니다.
클러스터 에이전트는 두 가지 추가 기능을 제공합니다.
- SUSE Rancher의 기본 제공 경고, 로그 집계 및 CI/CD 파이프라인과 같은 다른 클러스터 서비스에 대한 프록시 역할을 합니다. 사용자 클러스터에서 실행 중인 모든 서비스는 클러스터 에이전트를 통해 노출될 수 있습니다. 이 기능을 “매직 프록시(magic proxy)”라고 부르기도 합니다.
- 등록 중에 클러스터 에이전트는 Kubernetes 클러스터에서 서비스 계정 자격 증명을 가져오고 서비스 계정 자격 증명을 Rancher 서버로 보냅니다.
5.2 노드 에이전트(Node Agent)
노드 에이전트는 주로 초기 설치 및 후속 업그레이드 중에 구성 요소를 배포하는 데 사용됩니다. 노드 에이전트는 GKE와 같은 클라우드 Kubernetes 클러스터에 배포되지 않습니다. 노드 에이전트는 모든 클러스터에 대해 다음과 같은 몇 가지 추가 기능을 제공합니다.
- 클러스터 에이전트에 대한 대체: 클러스터 에이전트를 사용할 수 없는 경우, 랜처 서버는 노드 에이전트를 사용하여 Kubernetes API 서버에 연결합니다.
- kubectl 셸의 프록시. 랜처 서버는 노드 에이전트를 통해 연결하여 UI에서 kubectl 셸을 터널링합니다. 노드 에이전트는 클러스터 에이전트보다 더 많은 권한으로 실행되며 이 추가 권한은 kubectl 셸을 터널링하는 데 필요합니다.
5.3 Fleet Agent
Fleet Agent는 Fleet 관리자에게 전화를 걸어 BundleDeployment라는 세부 사항을 가져옵니다.
Fleet Agent은 Fleet Manager와 지속적으로 연결할 필요가 없습니다. 다음에 연결이 있을 때 에이전트는 관리자와 조정되므로 네트워크 연결이 일치하지 않을 수 있는 시나리오에 이상적입니다.
6 업그레이드
사용자는 Helm 업그레이드를 통해 Rancher 서버를 업그레이드하여 이전 버전의 SUSE Rancher를 SUSE Rancher 2.6으로 업그레이드할 수 있습니다. SUSE Rancher 2.6은 하위 클러스터의 SUSE Rancher 에이전트를 자동으로 업그레이드합니다. 그런 다음 사용자는 새로운 기능을 이용하기 위해 RKE 및 K3s 클러스터의 기본 Kubernetes 버전을 업그레이드할 수 있는 옵션을 갖게 됩니다.
SUSE Rancher 2.6에서는 EKS, AKS 및 GKE에 걸쳐 호스팅된 클러스터의 통합이 개선되어 이러한 클러스터의 전체 라이프사이클 관리, 새로운 버전을 사용할 수 있을 때 기본 Kubernetes 버전을 업그레이드하는 기능 및 SUSE Rancher 내에서 클러스터를 모두 파괴할 수 있습니다.
또한 이러한 통합은 기존 호스트 클러스터를 SUSE Rancher에 구축된 클러스터와 동일하게 취급하여 운영자가 하이브리드 및 멀티 클라우드 환경에서 여러 플랫폼을 관리할 필요성을 최소화합니다.
7 고가용성
사용자는 전용 RKE 클러스터를 사용하여 랜처 서버를 실행할 수 있습니다. 예를 들어 표준 SUSE Rancher 2.6 설치 가이드는 각각 API 서버와 etcd 데이터베이스의 인스턴스 하나를 실행하는 3개의 노드로 RKE 배포를 생성합니다. 랜처 서버는 실행 중인 Kubernetes 클러스터를 자동으로 가져옵니다. 이를 “로컬 클러스터”라고 합니다. SUSE Rancher는 Kubernetes API를 활용하고 해당 클러스터 등을 간접적으로 주 데이터 저장소로 사용합니다.
설치에 대한 정보는 다음에서 찾을 수 있습니다.
https://rancher.com/docs/rancher/v2.x/en/installation/
8 확장성
8.1 Kubernetes 클러스터의 확장성
사용자는 SUSE Rancher 2.6이 최대 10만 개의 노드를 관리하고 프로비저닝할 것으로 예상할 수 있습니다.
8.2 랜처 서버의 확장성
각 랜처 서버가 관리할 수 있는 Kubernetes 클러스터 수에 대한 고유한 제한은 없습니다. SUSE Rancher 2.6이 최대 10,000개의 클러스터를 관리하는 문제는 없을 것으로 예상됩니다.
Rancher 서버의 실제 확장성 제한은 다음과 같습니다.
- 모든 클러스터의 총 노드 수
- 사용자 및 그룹
- 모든 군집으로부터 수집된 이벤트
Rancher 서버는 기본 Kubernetes etcd 데이터베이스에 위의 모든 엔티티를 저장합니다.
시간이 지남에 따라 이러한 차원의 확장성을 개선하여 사용자 요구를 충족시킬 것입니다.
8.3 Fleet의 확장성
Fleet는 GitOps 모델을 기반으로 하므로 코드를 사용하여 상태를 정의합니다. GUI에서 수천 개의 클러스터를 효과적으로 시각화하는 데 한계가 있기 때문에 관리 오버헤드가 훨씬 효율적입니다.
Fleet은 이론적으로 최대 100만 개 이상의 클러스터를 확장할 수 있습니다.
9 SUSE
SUSE는 혁신적이고 신뢰할 수 있는 엔터프라이즈급 오픈 소스 솔루션 분야의 글로벌 리더입니다. SUSE는 Enterprise Linux, Kubernetes 관리 및 에지 솔루션을 전문으로 하며, 회사는 다음과 같은 파트너 및 커뮤니티와 협력합니다.
데이터 센터, 클라우드, 에지 및 그 너머의 모든 곳에서 혁신을 이룰 수 있도록 지원하는 글로벌 서비스입니다. 2020년에 SUSE는 다음과 같은 성공적인 오픈 소스 제품을 지원하는 팀인 Rancher Labs를 인수했습니다.
- Rancher – 세계에서 가장 인기 있는 기업 등급 Kubernetes 관리 플랫폼으로 4만 명 이상의 활성 사용자와 1억 2천만 건의 다운로드를 제공합니다.
- RKE – 모든 곳에서 작동하는 간단하고 번개처럼 빠른 Kubernetes 설치 프로그램
- RKE2 – 보안 및 규정 준수에 초점을 맞춘 완전히 일치하는 Kubernetes 배포판입니다.
- Fleet – 수백만 개의 Kubernetes 클러스터를 규모에 맞게 관리할 수 있도록 설계된 오픈 소스 프로젝트
- K3s – 임베디드 시스템 및 에지용으로 제작된 경량급 쿠버네츠 배포판. Rancher는 K3s를 발명하여 2020년 8월에 CNCF에 기부했다.
- Longhorn – 어디서나 실행할 수 있는 Kubernetes를 위한 강력한 클라우드 네이티브 분산 스토리지 플랫폼입니다. Rancher는 Longhorn을 발명했고 2019년 10월에 그것을 CNCF에 기부했다.
Rancher의 모든 솔루션은 인수 후에도 활기차고 활발한 커뮤니티의 지원을 받아 여전히 오픈 소스로 남아 있습니다. SUSE는 일부 솔루션에 대해 엔터프라이즈 구독을 제공하며, 이러한 솔루션에는 “SUSE Rancher”와 같은 “SUSE”라는 접두사를 붙임으로써 차별화됩니다.
이러한 제품을 함께 사용하면 IT 운영자, DevOps 및 기술 리더 팀이 인프라 전반에 걸쳐 인증된 Kubernetes 클러스터를 관리하는 데 따른 운영 및 보안 문제를 해결할 수 있습니다. 또한 개발자에게 컨테이너형 워크로드를 규모에 맞게 구축하고 실행할 수 있는 통합 툴 스택을 제공합니다.
SUSE Rancher에 대해 자세히 알아보려면 suse.com/products/suse-rancher를 방문하십시오.
출처 : SUSE Rancher 2.6: Technical Architecture Guide(August 2021)