我在 Ceph 中遇到 LDAP 配置问题。我有一个新的集群(用于测试目的)。除了向 Dashborad 和 Grafana 添加证书并颁发证书外,没有对其执行任何操作。在我的架构中,我有一个集群,在它前面有一个 HAProxy,它将流量定向到颁发 S3 和/或仪表板的适当节点。
集群放在虚拟机上,Rocky9 作为操作系统,全部位于一个 VLAN 和一个子网中。我使用 cephadm 指令来引导集群进行设置。说明:https://docs.ceph.com/en/latest/cephadm/install/。我正在使用最新版本的 Ceph。
根据Ceph和RedHat的说明:
https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/2/html-single/ceph_object_gateway_with_ldapad_guide/index https://docs.ceph.com/en/quincy/radosgw/ldap-auth/
我应该在 ceph.conf 文件中添加几行并重新启动服务(针对所有守护进程)。但是,将配置添加到文件不起作用,重新启动集群后,配置将返回其原始(最小)版本。因此,我没有在文件中输入内容,而是执行了使用以下命令将配置添加到 ceph 配置数据库的命令:
例如:
ceph config set global rgw_ldap_dnattr "uid"
尽管如此,它并没有产生我预期的结果,因为服务仍然不想重新加载配置,所以我找到了此服务执行的命令并手动运行它。第一次我收到一条关于缺少“密钥环”的附加消息,所以我创建了一个。在这个密钥环中,我为所有内容添加了权限(用于验证测试目的),如“*”。当然,我确保客户端名称是正确的。在为 S3 提供服务的每个节点上都创建了密钥环。尽管如此,服务仍然无法重新加载(应用)配置。但在手动执行命令期间,有关密钥环的警告消失了 - 向前迈了一步。
尽管如此,LDAP 配置不会转到守护进程,因为它们在列出后没有设置 LDAP 参数。
[root@ceph0-dev ~]# systemctl status ceph-radosgw.target
● ceph-radosgw.target - ceph target allowing to start/stop all [email protected] instances at once
Loaded: loaded (/usr/lib/systemd/system/ceph-radosgw.target; enabled; preset: enabled)
Active: active since Fri 2024-03-15 16:36:16 CET; 22s ago
Until: Fri 2024-03-15 16:36:16 CET; 22s ago
Mar 15 16:36:16 ceph0-dev systemd[1]: Stopped target ceph target allowing to start/stop all [email protected] instances at once.
Mar 15 16:36:16 ceph0-dev systemd[1]: Stopping ceph target allowing to start/stop all [email protected] instances at once...
Mar 15 16:36:16 ceph0-dev systemd[1]: Reached target ceph target allowing to start/stop all [email protected] instances at once.
[root@ceph0-dev ~]# radosgw --show-config | grep ldap
rgw_ldap_binddn = uid=admin,cn=users,dc=example,dc=com
rgw_ldap_dnattr = uid
rgw_ldap_searchdn = cn=users,cn=accounts,dc=example,dc=com
rgw_ldap_searchfilter =
rgw_ldap_secret = /etc/openldap/secret
rgw_ldap_uri = ldaps://<ldap.your.domain>
rgw_s3_auth_use_ldap = false
有没有人遇到过类似的问题?有人能建议如何解决它吗?我没有找到有关 LDAP 问题的任何特殊文档。
问候,康拉德