1장. Ceph Orchestrator 소개
스토리지 관리자는 Red Hat Ceph Storage 클러스터에서 장치를 검색하고 서비스를 생성하는 기능을 제공하는 Cephadm 유틸리티와 함께 Ceph Orchestrator를 사용할 수 있습니다.
1.1. Ceph Orchestrator 사용
Red Hat Ceph Storage Orchestrators는 주로 Red Hat Ceph Storage 클러스터와 Rook 및 Cephadm과 같은 배포 툴 간의 브리지 역할을 하는 관리자 모듈입니다. 또한 Ceph 명령줄 인터페이스 및 Ceph 대시보드와 통합됩니다.
다음은 Ceph Orchestrator의 워크플로우 다이어그램입니다.

Red Hat Ceph Storage Orchestrators 유형
Red Hat Ceph Storage Orchestrators에는 세 가지 주요 유형이 있습니다.
오케스트레이터 CLI : Orchestra tors에서 사용되는 일반적인 API이며 구현할 수 있는 명령 세트를 포함합니다. 이러한 API는 외부 오케스트레이션 서비스를 사용하여
ceph-mgr
모듈을 오케스트레이션하는 공통 CLI(명령줄 인터페이스)도 제공합니다. 다음은 Ceph Orchestrator와 함께 사용되는 축약입니다.- host: 컨테이너의 Pod 이름, DNS 이름, 컨테이너 이름 또는 호스트 이름이 아닌 물리적 호스트의 호스트 이름입니다.
- 서비스 유형: nfs, mds, osd, mon, rgw 및 mgr와 같은 서비스 유형입니다.
- Service: 모니터 서비스, 관리자 서비스, OSD 서비스, Ceph Object Gateway 서비스 및 NFS 서비스와 같은 Ceph 스토리지 클러스터에서 제공하는 기능 서비스입니다.
- daemon: Ceph Object Gateway 서비스와 같은 하나 이상의 호스트에서 배포한 서비스의 특정 인스턴스에는 세 개의 다른 호스트에서 다른 Ceph Object Gateway 데몬을 실행할 수 있습니다.
Cephadm Orchestrator - Rook 또는 Ansible과 같은 외부 툴을 사용하지 않고 SSH 연결을 설정하고 명시적 관리 명령을 실행하여 클러스터의 노드를 관리하는 Ceph Orchestrator 모듈입니다. 이 모듈은 day-one 및 day-two 작업을 위한 것입니다.
Ansible과 같은 배포 프레임워크를 활용하지 않고 Ceph 스토리지 클러스터를 설치하는 것이 Cephadm Orchestrator를 사용하는 것이 좋습니다. 이 방법은 관리자 데몬에 스토리지 장치 인벤토리 생성, OSD 배포 및 교체, Ceph 데몬 시작 및 중지와 같은 관리 작업을 수행하기 위해 클러스터의 모든 노드에 연결할 수 있는 SSH 구성 및 키에 대한 액세스 권한을 제공하는 것입니다. 또한 Cephadm Orchestrator는 공동 배치된 서비스의 독립적인 업그레이드를 허용하기 위해
systemd
에서 관리하는 컨테이너 이미지를 배포합니다.또한 이 오케스트레이터는 Ceph Monitor 및 Ceph Manager를 실행하는 최소 클러스터를 부트 스트랩하는 명령을 포함하여 현재 호스트에서 컨테이너 이미지 기반 서비스 배포를 관리하는 데 필요한 모든 작업을 캡슐화하는 툴을 강조할 수 있습니다.
Rook Orchestrator - Rook는 Kubernetes Rook Operator를 사용하여 Kubernetes 클러스터 내에서 실행되는 Ceph 스토리지 클러스터를 관리하는 오케스트레이션 툴입니다. rook 모듈은 Ceph의 Orchestrator 프레임워크와 Rook 간의 통합을 제공합니다. Rook은 Kubernetes용 오픈 소스 클라우드 네이티브 스토리지 운영자입니다.
Rook는 Ceph 스토리지 클러스터와 원하는 상태를 설명하기 위해 Kubernetes에 CRD(사용자 정의 리소스 정의) 오브젝트를 정의하는 "operator" 모델을 따르고 있으며 현재 클러스터 상태를 원하는 상태와 비교하고, 통합할 수 있는 단계를 수행하는 제어 루프에서 rook Operator 데몬이 실행됩니다. Ceph가 원하는 상태를 설명하는 기본 오브젝트는 Ceph 스토리지 클러스터 CRD입니다. 이 CRD에는 OSD에서 사용해야 하는 장치, 실행 중이어야 하는 모니터 수, 사용할 Ceph 버전에 대한 정보가 포함됩니다. Rook은 RBD 풀, CephFS 파일 시스템을 설명하는 여러 가지 다른 CRD를 정의합니다.
Rook Orchestrator 모듈은
ceph-mgr
데몬에서 실행되며 원하는 클러스터 상태를 설명하는 Kubernetes의 Ceph 스토리지 클러스터를 변경하여 Ceph 오케스트레이션 API를 구현합니다. Rook 클러스터의ceph-mgr
데몬은 Kubernetes Pod로 실행되므로 rook 모듈은 명시적 구성없이 Kubernetes API에 연결할 수 있습니다.