10 手动配置 #
本节为更喜欢在命令行上手动配置仪表盘设置的用户提供了较深入的信息。
10.1 配置 TLS/SSL 支持 #
所有连至仪表盘的 HTTP 连接默认都使用 TLS/SSL 来保障安全。安全连接需要 SSL 证书。您可以使用自我签名证书,也可以生成证书并让知名证书颁发机构 (CA) 对其签名。
您可能会出于某种原因需要禁用 SSL 支持。例如,如果仪表盘是在不支持 SSL 的代理之后运行。
禁用 SSL 要慎重,因为禁用 SSL 后,用户名和密码将以未加密的形式发送到仪表盘。
要禁用 SSL,请运行以下命令:
cephuser@adm >
ceph config set mgr mgr/dashboard/ssl false
更改 SSL 证书和密钥后,您需要手动重启动 Ceph Manager 进程。您可以通过运行以下命令
cephuser@adm >
ceph mgr fail ACTIVE-MANAGER-NAME
或禁用后再重新启用仪表盘扩展模块的方式来执行此操作,如此还会触发 Manager 的自我重新生成:
cephuser@adm >
ceph mgr module disable dashboardcephuser@adm >
ceph mgr module enable dashboard
10.1.1 创建自我签名证书 #
为了安全通讯而创建自我签名证书的过程非常简单。采用这种方式可迅速让仪表盘运行起来。
大多数 Web 浏览器都将对自我签名证书发起控诉,并需要在建立与仪表盘的安全连接前进行明确确认。
要生成并安装自我签名证书,请使用以下内置命令:
cephuser@adm >
ceph dashboard create-self-signed-cert
10.1.2 使用 CA 签名的证书 #
为了正确保障连至仪表盘的连接安全,以及消除 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.key
和 dashboard.crt
文件。获得 CA 签名的 dashboard.crt
文件后,请运行以下命令为所有 Ceph Manager 实例启用该证书:
cephuser@adm >
ceph dashboard set-ssl-certificate -i dashboard.crtcephuser@adm >
ceph dashboard set-ssl-certificate-key -i dashboard.key
如果您需要为每个 Ceph Manager 实例使用不同的证书,请按如下所示修改命令,在其中指定实例的名称。将 NAME 替换为 Ceph Manager 实例的名称(通常是相关的主机名):
cephuser@adm >
ceph dashboard set-ssl-certificate NAME -i dashboard.crtcephuser@adm >
ceph dashboard set-ssl-certificate-key NAME -i dashboard.key
10.2 更改主机名和端口号 #
Ceph Dashboard 与特定 TCP/IP 地址和 TCP 端口绑定。默认情况下,托管仪表盘的当前活跃 Ceph Manager 会与 TCP 端口 8443 绑定(如果禁用 SSL,则与 8080 端口绑定)。
如果在运行 Ceph Manager(以及 Ceph Dashboard)的主机上启用了防火墙,则您可能需要更改配置以启用对这些端口的访问。有关 Ceph 防火墙设置的详细信息,请参见Section 13.7, “Firewall settings for Ceph”。
Ceph Dashboard 默认与“::”绑定,该符号表示所有可用的 IPv4 和 IPv6 地址。您可以使用以下命令更改 Web 应用的 IP 地址和端口号,以使它们适用于所有 Ceph Manager 实例:
cephuser@adm >
ceph config set mgr mgr/dashboard/server_addr IP_ADDRESScephuser@adm >
ceph config set mgr mgr/dashboard/server_port PORT_NUMBER
因为每个 ceph-mgr
守护进程都托管着各自的仪表盘实例,您可能需要分别配置每个 Ceph Manager 实例。使用以下命令(将 NAME 替换为 ceph-mgr
实例的 ID)更改特定 Manager 实例的 IP 地址和端口号:
cephuser@adm >
ceph config set mgr mgr/dashboard/NAME/server_addr IP_ADDRESScephuser@adm >
ceph config set mgr mgr/dashboard/NAME/server_port PORT_NUMBER
ceph mgr services
命令会显示当前配置的所有端点。查找 dashboard
键可获取用于访问仪表盘的 URL。
10.3 调整用户名和密码 #
如果您不想使用默认管理员帐户,可创建其他用户帐户并将其与至少一个角色相关联。我们提供了一组预定义的系统角色供您使用。有关详细信息,请参见第 11 章 “在命令行上管理用户和角色”。
要创建具有管理员权限的用户,请使用以下命令:
cephuser@adm >
ceph dashboard ac-user-create USER_NAME PASSWORD administrator
10.4 启用对象网关管理前端 #
要使用仪表盘的对象网关管理功能,您需要提供启用了 system
标志的用户的登录身份凭证:
如果您没有带
system
标志的用户,请创建一个:cephuser@adm >
radosgw-admin user create --uid=USER_ID --display-name=DISPLAY_NAME --system记下命令输出中的 access_key 和 secret_key 密钥。
您还可以使用
radosgw-admin
命令来获取现有用户的身份凭证:cephuser@adm >
radosgw-admin user info --uid=USER_ID在单独的文件中向仪表盘提供收到的身份凭证:
cephuser@adm >
ceph dashboard set-rgw-api-access-key ACCESS_KEY_FILEcephuser@adm >
ceph dashboard set-rgw-api-secret-key SECRET_KEY_FILE
默认情况下,SUSE Linux Enterprise Server 15 SP3 中会启用防火墙。有关防火墙配置的详细信息,请参见Section 13.7, “Firewall settings for Ceph”。
请注意以下几点事项:
对象网关的主机名和端口号是自动确定的。
如果使用多个区域,对象网关会自动确定主区域组和主区域内的主机。此方式足以满足大部分设置的需求,但在某些情况下,您可能需要手动设置主机名和端口:
cephuser@adm >
ceph dashboard set-rgw-api-host HOSTcephuser@adm >
ceph dashboard set-rgw-api-port PORT下面是您可能需要进行的额外设置:
cephuser@adm >
ceph dashboard set-rgw-api-scheme SCHEME # http or httpscephuser@adm >
ceph dashboard set-rgw-api-admin-resource ADMIN_RESOURCEcephuser@adm >
ceph dashboard set-rgw-api-user-id USER_ID如果您在对象网关设置中使用的是自我签名证书(第 10.1 节 “配置 TLS/SSL 支持”),请在仪表盘中禁用证书验证,以免发生因证书是由未知 CA 签名或与主机名不符而导致连接被拒。
cephuser@adm >
ceph dashboard set-rgw-api-ssl-verify False如果对象网关处理请求所花的时间过长,导致仪表盘超时,则可调整超时值(默认为 45 秒):
cephuser@adm >
ceph dashboard set-rest-requests-timeout SECONDS
10.5 启用 iSCSI 管理 #
Ceph Dashboard 使用 Ceph iSCSI 网关的 rbd-target-api
服务所提供的 REST API 管理 iSCSI 目标。确保已在 iSCSI 网关上安装并启用它。
Ceph Dashboard 的 iSCSI 管理功能取决于 ceph-iscsi
项目的最新版本 3。请确保您的操作系统提供了正确的版本,否则 Ceph Dashboard 将无法启用管理功能。
如果 ceph-iscsi
REST API 以 HTTPS 模式配置并使用自我签名证书,请配置仪表盘以避免在访问 ceph-iscsi API 时发生 SSL 证书验证。
禁用 API SSL 验证:
cephuser@adm >
ceph dashboard set-iscsi-api-ssl-verification false
定义可用的 iSCSI 网关:
cephuser@adm >
ceph dashboard iscsi-gateway-listcephuser@adm >
ceph dashboard iscsi-gateway-add scheme://username:password@host[:port]cephuser@adm >
ceph dashboard iscsi-gateway-rm gateway_name
10.6 启用单点登录 #
单点登录 (SSO) 是一种允许用户以单个 ID 和密码同时登录多个应用的访问控制方法。
Ceph Dashboard 支持通过 SAML 2.0 协议对用户进行外部身份验证。由于授权仍由仪表盘执行,因此您需要先创建用户帐户并将其与所需角色相关联。不过,身份验证过程可由现有身份提供者 (IdP) 执行。
要配置单点登录,请使用以下命令:
cephuser@adm >
ceph dashboard sso setup saml2 CEPH_DASHBOARD_BASE_URL \
IDP_METADATA IDP_USERNAME_ATTRIBUTE \
IDP_ENTITY_ID SP_X_509_CERT \
SP_PRIVATE_KEY
参数:
- CEPH_DASHBOARD_BASE_URL
可用于访问 Ceph Dashboard 的基本 URL(例如“https://cephdashboard.local”)。
- IDP_METADATA
IdP 元数据 XML 的 URL、文件路径或内容(例如“https://myidp/metadata”)。
- IDP_USERNAME_ATTRIBUTE
可选。将用于从身份验证响应中获取用户名的属性。默认为“uid”。
- IDP_ENTITY_ID
可选。当 IdP 元数据上存在多个实体 ID 时,请使用该参数。
- SP_X_509_CERT / SP_PRIVATE_KEY
可选。Ceph Dashboard(服务提供程序)进行签名和加密时将使用的证书的文件路径或内容。活动的 Ceph Manager 实例需要能访问这些文件路径。
SAML 请求的发出者值将采用以下格式:
CEPH_DASHBOARD_BASE_URL/auth/saml2/metadata
要显示当前 SAML 2.0 配置,请运行以下命令:
cephuser@adm >
ceph dashboard sso show saml2
要禁用单点登录,请运行以下命令:
cephuser@adm >
ceph dashboard sso disable
要检查是否启用了 SSO,请运行以下命令:
cephuser@adm >
ceph dashboard sso status
要启用 SSO,请运行以下命令:
cephuser@adm >
ceph dashboard sso enable saml2