在Ceph对象存储上启用和配置REST API访问

这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。

将指南下载为PDF


这是续集。

这是续集。
这是续集。

如果您在生产环境中运行Ceph对象存储集群,则可能需要RESTful API进行管理,与其他系统集成和监视。 Ceph Manager的RESTful API插件(ceph-mgr)提供了与Ceph Storage集群进行交互的API。

本指南介绍了如何在Ceph Storage集群上启用RESTful API访问以及如何为所需的集成创建用户。在继续之前,请确保Ceph存储群集正在运行。以下指南可以作为小规模安装而不是繁重的生产工作量的参考。

在CentOS 8上安装Ceph 15(Octopus)集群

如何在Ubuntu 18.04上安装Ceph Storage Cluster

使用Ceph REST API,您可以:

  • 显示有关监视器和OSD的信息
  • 创建或编辑池
  • 在OSD中查看并启动计划的进程
  • 查看群集,监视器和OSD配置选项
  • 在许多其他操作中

步骤1:启用RESTful API MGR插件

Ceph Manager守护程序 (Ceph-mgr)与监视守护程序一起运行,以提供其他监视和与外部监视和管理系统的接口。在MGR中启用Ceph REST插件。

使用正确的ceph配置登录到Ceph集群节点,然后运行以下命令以启用RESTful API插件。

# ceph mgr module enable restful

使用以下命令查看所有可用模块的状态。

# ceph mgr module ls

从用户界面:

步骤2:为API端点配置SSL证书

模块在端口上接受HTTPS请求 8003 运行mgr的主机上的所有IPv4和IPv6地址除非另有说明,否则这是默认设置。必须先配置SSL证书,然后才能使用API​​端点。

如果您没有由公司签名的有效证书,请使用以下命令生成自签名证书:

# ceph restful create-self-signed-cert

设置更新后,该服务将自动启动。要验证它是否正常运行,请使用curl命令在活动MGR节点上对其进行测试。

# curl -k https://localhost:8003/
{
    "api_version": 1,
    "auth": "Use "ceph restful create-key " to create a key pair, pass it as HTTP Basic auth to authenticate",
    "doc": "See /doc endpoint",
    "info": "Ceph Manager RESTful API server"

如果使用防火墙,请确保在具有活动ceph-mgr守护程序的节点上启用了端口8003。确认:

# ceph -s
# firewall-cmd --add-port=5000/tcp --permanent
# firewall-cmd --reload

如果您具有正确签名的证书,请使用以下命令应用证书:

ceph config-key set mgr/restful/crt -i restful.crt
ceph config-key set mgr/restful/key -i restful.key

哪里:

  • 平静的。 申请证书的名称
  • 宁静键 证书中使用的密钥名称

步骤3:使用基本身份验证创建API HTTP用户

API访问需要用户。让我们创建一个HTTP用户并生成用于HTTP基本身份验证的密码。

命令语法如下:

# ceph restful create-key 

创建一个名为 cephadmin

# ceph restful create-key cephadmin
1c4dcb01-587b-4558-8878-1209b525de8c

您始终可以使用以下命令来验证您的用户名和密钥:

# ceph restful list-keys
{
  "cephadmin": "1c4dcb01-587b-4558-8878-1209b525de8c"
}

凭证生成后,您可以使用curl来验证您的API访问权限。命令语法如下:

https://:@:/

例如:

# curl -k https://cephadmin:[email protected]:8003/server
[
    {
        "ceph_version": "ceph version 14.2.7 (3d58626ebeec02d8385a4cefb92c6cbc3a45bfe8) nautilus (stable)",
        "hostname": "cephmon01.example.com",
        "services": [
            {
                "id": "cephmon01",
                "type": "mgr"
            },
            {
                "id": "cephmon02",
                "type": "mon"
            },
            {
                "id": "cephmon03",
                "type": "rgw"
            }
        ]
    },
..........

# url -k https://cephadmin:[email protected]:8003/config/osd
[
    "sortbitwise",
    "recovery_deletes",
    "purged_snapdirs",
    "pglog_hardlimit"

参考:

这是续集。
您可以通过以下链接以PDF格式下载本文,以为我们提供支持。

将指南下载为PDF


这是续集。

这是续集。
这是续集。

Sidebar