1장. Ceph 오케스트레이터 소개

스토리지 관리자는 Red Hat Ceph Storage 클러스터에서 장치를 검색하고 서비스를 생성하는 기능을 제공하는 Cephadm 유틸리티와 함께 Ceph Orchestrator를 사용할 수 있습니다.

1.1. Ceph Orchestrator 사용

Red Hat Ceph Storage Orchestrators는 Red Hat Ceph Storage 클러스터와 통합된 환경을 위한 Rook 및 Cephadm과 같은 배포 도구 간의 브리지 역할을 하는 관리자 모듈입니다. 또한 Ceph 명령줄 인터페이스 및 Ceph 대시보드와 통합됩니다.

다음은 CephOrchestrator의 워크플로 다이어그램입니다.

Ceph 오케스트레이터

Red Hat Ceph Storage 오케스트레이터 유형

Red Hat Ceph Storage Orchestrators의 세 가지 주요 유형은 다음과 같습니다.

  • orchestrator CLI : 이는 오케스트레이터에서 사용되는 일반적인 API이며 구현할 수 있는 명령 집합을 포함합니다. 또한 이러한 API는 외부 오케스트레이션 서비스를 사용하여 ceph-mgr 모듈을 오케스트레이션하는 일반 CLI(명령줄 인터페이스)를 제공합니다. 다음은 Ceph intendedchestrator와 함께 사용되는 용어입니다.

    • 호스트: 이는 컨테이너 내부의 포드 이름, DNS 이름, 컨테이너 이름 또는 호스트 이름이 아닌 물리적 호스트의 호스트 이름입니다.
    • 서비스 유형 : 이는 nfs, mds, osd, mon, rgw, mgr, iscsi와 같은 서비스 유형입니다.
    • 서비스 : 모니터링 서비스, 관리자 서비스, OSD 서비스, Ceph Object Gateway 서비스 및 NFS 서비스와 같은 Ceph 스토리지 클러스터에서 제공하는 기능 서비스입니다.
    • daemon : Ceph Object Gateway 서비스와 같은 하나 이상의 호스트에 의해 배포된 서비스의 특정 인스턴스는 세 개의 다른 호스트에서 다른 Ceph Object Gateway 데몬을 실행할 수 있습니다.
  • Cephadm Orchestrator - 이는 Rook 또는 Ansible과 같은 외부 툴에 의존하지 않고 SSH 연결을 설정하고 명시적 관리 명령을 실행하여 클러스터의 노드를 관리하는 Ceph Orchestrator 모듈입니다. 이 모듈은 day-one 및 day-two 작업을 위한 것입니다.

    Cephadm Orchestrator를 사용하면 Ansible과 같은 배포 프레임워크를 활용하지 않고도 Ceph 스토리지 클러스터를 설치하는 것이 좋습니다. 관리자 데몬에 SSH 구성 및 키에 대한 액세스 권한을 제공하여 스토리지 장치의 인벤토리 생성, OSD 배포 및 교체, Ceph 데몬 시작 및 중지와 같은 관리 작업을 수행할 수 있는 모든 관리 작업을 수행할 수 있습니다. 또한 Cephadm Orchestrator는 공동 배치된 서비스를 독립적으로 업그레이드할 수 있도록 systemd 에서 관리하는 컨테이너 이미지를 배포합니다.

    또한 이 오케스트레이터는 Ceph Monitor 및 Ceph Manager를 실행하는 최소 클러스터를 부트스트랩하는 명령을 포함하여 현재 호스트에서 컨테이너 이미지 기반 서비스 배포를 관리하는 데 필요한 모든 작업을 캡슐화하는 툴을 강조할 수 있습니다.

  • rook Orchestrator - Rook은 Kubernetes 클러스터 내에서 실행되는 Ceph 스토리지 클러스터를 관리하기 위해 Kubernetes Rook Operator를 사용하는 오케스트레이션 도구입니다. rook 모듈은 Ceph의 Orchestrator 프레임워크와 Rook 간의 통합을 제공합니다. rook은 Kubernetes용 오픈 소스 클라우드 네이티브 스토리지 Operator입니다.

    rook은 "operator" 모델을 따릅니다. 이 모델에서는 Ceph 스토리지 클러스터와 원하는 상태를 설명하기 위해 Kubernetes에 CRD(사용자 정의 리소스 정의) 오브젝트가 정의되고, rook Operator 데몬이 현재 클러스터 상태를 원하는 상태와 비교하여 원하는 상태로 전환하도록 하는 단계를 취합니다. Ceph의 원하는 상태를 설명하는 기본 오브젝트는 Ceph 스토리지 클러스터 CRD로, OSD에서 사용해야 하는 장치, 실행 중인 모니터 수, 사용할 Ceph 버전에 대한 정보가 포함됩니다. rook은 RBD 풀, CephFS 파일 시스템 등을 설명하는 여러 다른 CRD를 정의합니다.

    Rook Orchestrator 모듈은 ceph-mgr 데몬에서 실행되며 원하는 클러스터 상태를 설명하는 Kubernetes에서 Ceph 스토리지 클러스터를 변경하여 Ceph 오케스트레이션 API를 구현하는 글루스입니다. Rook 클러스터의 ceph-mgr 데몬은 Kubernetes Pod로 실행되고 있으므로 rook 모듈은 명시적 구성 없이 Kubernetes API에 연결할 수 있습니다.