第 1 章 Ceph 编排器简介

作为存储管理员,您可以将 Ceph 编排器与 Cephadm 实用程序搭配使用,能够发现设备并在 Red Hat Ceph Storage 集群中创建服务。

1.1. 使用 Ceph Orchestrator

Red Hat Ceph Storage Orchestrators 是经理模块,主要充当 Red Hat Ceph Storage 集群和部署工具(如 Rook 和 Cephadm)以实现统一体验。它们也与 Ceph 命令行界面和 Ceph 控制面板集成。

以下是 Ceph Orchestrator 的工作流图:

Ceph 编排器

Red Hat Ceph Storage Orchestrators 类型

Red Hat Ceph Storage Orchestrators 有三个主要类型:

  • 编配器 CLI :它们是 Orchestrators 中使用的常用 API,它包括一组可以实施的命令。这些 API 还提供通用命令行界面(CLI),以使用外部编排服务编排 ceph-mgr 模块。以下是用于 Ceph Orchestrator 的命名法:

    • 主机:这是物理主机的主机名,而不是容器内的 pod 名称、DNS 名称、容器名称或主机名。
    • 服务类型 :这是服务的类型,如 nfs、mds、osd、mon、rgw、mgr 和 iscsi。
    • 服务:由 Ceph 存储集群提供的功能服务,如监控服务、管理器服务、OSD 服务、Ceph Object Gateway 服务和 NFS 服务。
    • 守护进程:由一个或多个主机(如 Ceph 对象网关服务)部署的服务的特定实例,可在三个不同的主机上运行不同的 Ceph 对象网关守护进程。
  • Cephadm Orchestrator - 这是一个 Ceph Orchestrator 模块,它不依赖于外部工具,如 Rook 或 Ansible,而是通过建立 SSH 连接并发出显式管理命令来管理集群中的节点。此模块适用于第一天和第二天操作。

    使用 Cephadm Orchestrator 是在不利用 Ansible 等部署框架的情况下安装 Ceph 存储集群的建议方法。其理念是,为管理器守护进程提供对 SSH 配置和密钥的访问,这些密钥可以连接到集群中的所有节点,以执行任何管理操作,如创建存储设备清单、部署和替换 OSD 或启动和停止 Ceph 守护进程。此外,Cephadm Orchestrator 将部署由 systemd 管理的容器镜像,以允许独立升级共同放置服务。

    此编配器还突出显示一个工具,它封装了所有必要的操作,以根据当前主机上的服务管理容器镜像部署,包括引导运行 Ceph Monitor 和 Ceph Manager 的最小集群的命令。

  • Rook Orchestrator - Rook 是一个编配工具,它使用 Kubernetes Rook 操作器来管理在 Kubernetes 集群内运行的 Ceph 存储集群。rook 模块提供 Ceph 的 Orchestrator 框架和 Rook 间的集成。Rook 是 Kubernetes 的一个开源云原生存储 operator。

    Rook 遵循 "operator" 模型,其中在 Kubernetes 中定义的自定义资源定义(CRD)对象用来描述 Ceph 存储集群及其所需状态,而 rook 操作器守护进程在控制循环中运行,并将当前集群状态与所需的状态进行比较,并采取措施来融合。描述 Ceph 所需状态的主要对象是 Ceph 存储集群 CRD,它包括关于 OSD 应该使用哪些设备的信息、应运行多少个 monitor,以及应使用的 Ceph 版本。Rook 定义了几个其他 CRD 来描述 RBD 池、CephFS 文件系统等。

    Rook Orchestrator 模块在 ceph-mgr 守护进程中运行并实现 Ceph orchestration API,它更改 Kubernetes 中的 Ceph 存储集群来描述所需的集群状态。Rook 集群的 ceph-mgr 守护进程作为 Kubernetes pod 运行,因此 rook 模块可以在没有显式配置的情况下连接到 Kubernetes API。