Ceph Mimic(13.2.x)启用Dashboard

参考:https://docs.ceph.com/en/mimic/mgr/dashboard/

1. 启用

$ ceph mgr module enable dashboard

也可以在部署期间配置ceph.conf实现自动启用:

[mon]
        mgr initial modules = dashboard balancer

2. 配置

2.1 SSL/TLS 支持

默认情况下,与仪表板的所有 HTTP 连接都使用 SSL/TLS 保护。

要使仪表板快速启动并运行,您可以使用以下内置命令生成并安装自签名证书:

$ ceph dashboard create-self-signed-cert

请注意,大多数 Web 浏览器都会抱怨此类自签名证书,并且在建立与仪表板的安全连接之前需要明确确认。

要正确保护部署并删除证书警告,应使用证书颁发机构 (CA) 颁发的证书。

例如,可以使用类似于以下的命令生成密钥对:

$ openssl req -new -nodes -x509 -subj "/O=IT/CN=ceph-mgr-dashboard" -days 3650 -keyout dashboard.key -out dashboard.crt -extensions v3_ca

然后该dashboard.crt文件应由 CA 签名。完成后,您可以通过运行以下命令为所有 Ceph 管理器实例启用它:

$ ceph config-key set mgr mgr/dashboard/crt -i dashboard.crt
$ ceph config-key set mgr mgr/dashboard/key -i dashboard.key

如果出于某种原因,每个管理器实例都需要不同的证书,则可以按如下方式包含实例的名称(其中$name是ceph-mgr实例的名称,通常是主机名):

$ ceph config-key set mgr/dashboard/$name/crt -i dashboard.crt
$ ceph config-key set mgr/dashboard/$name/key -i dashboard.key

SSL 也可以通过设置这个配置值来禁用:

$ ceph config set mgr mgr/dashboard/ssl false

如果仪表板将在其上游服务器不支持 SSL 的代理后面运行,或者在不需要或不需要 SSL 的其他情况下运行,这可能很有用。

警告:禁用 SSL 时要小心,因为用户名和密码将被发送到未加密的仪表板。

2.2 主机名和端口

与大多数 Web 应用程序一样,仪表板绑定到 TCP/IP 地址和 TCP 端口。

默认情况下,ceph-mgr当 SSL 被禁用时,托管仪表板的守护进程(即当前活动的管理器)将绑定到 TCP 端口 8443 或 8080。

如果未配置特定地址,则 Web 应用程序将绑定到::,它对应于所有可用的 IPv4 和 IPv6 地址。

这些默认值可以通过集群范围级别的配置密钥工具进行更改(因此它们适用于所有管理器实例),如下所示:

$ ceph config set mgr mgr/dashboard/server_addr $IP
$ ceph config set mgr mgr/dashboard/server_port $PORT

由于每个都ceph-mgr托管自己的仪表板实例,因此可能还需要单独配置它们。可以使用以下命令更改特定管理器实例的 IP 地址和端口:

$ ceph config set mgr mgr/dashboard/$name/server_addr $IP
$ ceph config set mgr mgr/dashboard/$name/server_port $PORT

替换$name为托管仪表板 Web 应用程序的 ceph-mgr 实例的 ID。

2.3 用户名和密码

为了能够登录,您需要定义用户名和密码,这些用户名和密码将存储在 MON 的配置数据库中:

$ ceph dashboard set-login-credentials <username> <password>

密码将使用 bcrypt 以加密形式存储在配置数据库中。这是适用于所有仪表板实例的全局设置。

2.4 启用对象网关管理前端

要使用仪表板的对象网关管理功能,您需要提供启用system标志的用户的登录凭据。

如果您没有用于提供这些凭据的用户,您还需要创建一个:

$ radosgw-admin user create --uid=<user_id> --display-name=<display_name> --system

记下键access_key和secret_key此命令的输出。

也可以使用 radosgw-admin获取现有用户的凭据:

$ radosgw-admin user info --uid=<user_id>

最后,向仪表板模块提供凭据:

$ ceph dashboard set-rgw-api-access-key <access_key>
$ ceph dashboard set-rgw-api-secret-key <secret_key>

这就是使对象网关管理功能正常工作所要做的一切。对象网关的主机和端口是自动确定的。

如果使用多个区域,它会自动确定主区域组和主区域内的主机。这对于大多数设置应该足够了,但在某些情况下,您可能需要手动设置主机和端口:

$ ceph dashboard set-rgw-api-host <host>
$ ceph dashboard set-rgw-api-port <port>

除了到目前为止提到的设置之外,还存在以下设置,您可能会发现自己处于必须使用它们的情况:

$ ceph dashboard set-rgw-api-scheme <scheme>  # http or https
$ ceph dashboard set-rgw-api-admin-resource <admin_resource>
$ ceph dashboard set-rgw-api-user-id <user_id>

如果您在对象网关设置中使用自签名证书,则应在仪表板中禁用证书验证以避免连接被拒绝,例如由未知 CA 签名的证书或与主机名不匹配引起的连接:

$ ceph dashboard set-rgw-api-ssl-verify False

如果对象网关处理请求的时间过长并且仪表板超时,那么您可以根据需要设置超时值:

$ ceph dashboard set-rest-requests-timeout <seconds>

默认值为 45 秒。

2.5 访问仪表板

现在,您可以使用(启用 JavaScript)的 Web 浏览器访问仪表板,方法是将其指向任何主机名或 IP 地址以及运行管理器实例的选定 TCP 端口:例如,httpS://<$IP>:<$PORT>/.

然后,仪表板登录页面会向您打招呼,请求您之前定义的用户名和密码。 如果您想在将来访问仪表板时跳过用户名/密码请求,请选中保持登录复选框。

posted @ 2022-04-07 19:09  Varden  阅读(296)  评论(0)    收藏  举报