注意
本文档适用于 Ceph 的开发版本。
Orchestrator CLI
此模块为编排器模块提供了一个命令行界面(CLI)。编排器模块是与外部编排服务交互的 ceph-mgr 插件。
术语定义
编排器 CLI 统一了多个外部编排器,因此我们需要为编排器模块建立一个共同的命名规范:
host |
物理主机的 hostname(而不是 DNS 名称)。不是 podname、容器名称,也不是容器内部的 hostname。 |
服务类型 (service type) |
服务的类型。例如:nfs、mds、osd、mon、rgw、mgr、iscsi |
service(服务) |
一个逻辑服务。通常由多个主机上的多个服务实例组成以实现高可用性。
|
守护程序 (daemon) |
服务的一个单独实例。通常是一个守护程序,但可能不是(例如,可能是像 LIO 或 knfsd 这样的内核服务)。 此标识符应唯一标识实例。 |
以下是这些名称之间的关系:
一个 服务 有一个特定的 服务类型。
一个 守护程序 是一个 服务类型 的物理实例。
注意
编排器模块可能只实现下面列出的一部分命令。命令的实现可能因模块而异。
状态
ceph orch status [--detail]
此命令显示当前的编排器模式及其高级状态(编排器插件是否可用和可操作)。
无状态服务 (MDS/RGW/NFS/rbd-mirror/iSCSI)
注意
编排器不会配置这些服务。有关如何配置特定服务的详细信息,请参阅相关文档。
name 参数标识实例组的种类。以下简短列表解释了 name 参数的含义:
一个 CephFS 文件系统标识一组 MDS 守护程序。
一个区域名称标识一组 RGW。
创建/扩容/缩容/移除服务
ceph orch apply mds <fs_name> [--placement=<placement>] [--dry-run]
ceph orch apply rgw <name> [--realm=<realm>] [--zone=<zone>] [--port=<port>] [--ssl] [--placement=<placement>] [--dry-run]
ceph orch apply nfs <name> <pool> [--namespace=<namespace>] [--placement=<placement>] [--dry-run]
ceph orch rm <service_name> [--force]
其中 placement 是 守护程序部署规范 (Daemon Placement)。
例如:ceph orch apply mds myfs --placement="3 host1 host2 host3"
服务命令
ceph orch <start|stop|restart|redeploy|reconfig> <service_name>
注意
这些命令仅适用于 cephadm 容器化的守护程序。
选项
- start
在相应主机上启动守护程序。
- stop
在相应主机上停止守护程序。
- restart
在相应主机上重新启动守护程序。
- redeploy
在相应主机上重新部署 Ceph 守护程序。这将重新创建守护程序目录结构
/var/lib/ceph/<fsid>/<daemon-name>(如果不存在),刷新其配置文件,重新生成其单元文件并重新启动 systemd 守护程序。
- reconfig
在相应主机上重新配置守护程序。这将刷新配置文件然后重新启动守护程序。
注意
此命令假定守护程序目录
/var/lib/ceph/<fsid>/<daemon-name>已存在。
配置 Orchestrator CLI
使用 set backend 命令来选择将要使用的编排器模块,从而启用编排器
ceph orch set backend <module>
示例 - 配置 Orchestrator CLI
例如,要启用 Rook 编排器模块并将其用于 CLI
ceph mgr module enable rook
ceph orch set backend rook
确认后端配置正确
ceph orch status
禁用编排器
要禁用编排器,请使用空字符串 ""
ceph orch set backend ""
ceph mgr module disable rook
当前实现状态
这是编排器当前实现状态的概述。
命令 |
Rook |
Cephadm |
|---|---|---|
apply iscsi |
⚪ |
✔ |
apply mds |
✔ |
✔ |
apply mgr |
⚪ |
✔ |
apply mon |
✔ |
✔ |
apply nfs |
✔ |
✔ |
apply osd |
✔ |
✔ |
apply rbd-mirror |
✔ |
✔ |
apply cephfs-mirror |
⚪ |
✔ |
apply grafana |
⚪ |
✔ |
apply prometheus |
❌ |
✔ |
apply alertmanager |
❌ |
✔ |
apply node-exporter |
❌ |
✔ |
apply rgw |
✔ |
✔ |
apply container |
⚪ |
✔ |
apply snmp-gateway |
❌ |
✔ |
host add |
⚪ |
✔ |
host ls |
✔ |
✔ |
host rm |
⚪ |
✔ |
host maintenance enter |
❌ |
✔ |
host maintenance exit |
❌ |
✔ |
daemon status |
⚪ |
✔ |
daemon {stop,start,…} |
⚪ |
✔ |
device {ident,fault}-(on,off} |
⚪ |
✔ |
device ls |
✔ |
✔ |
iscsi add |
⚪ |
✔ |
mds add |
⚪ |
✔ |
nfs add |
⚪ |
✔ |
rbd-mirror add |
⚪ |
✔ |
rgw add |
⚪ |
✔ |
ls |
✔ |
✔ |
ps |
✔ |
✔ |
status(状态) |
✔ |
✔ |
upgrade |
❌ |
✔ |
其中
⚪ = 尚未实现
❌ = 不适用
✔ = 已实现