解决 Ceph 的证书问题

问题描述 投票:0回答:1

我刚刚使用 cephadm 部署了一个三节点 Ceph 集群。由于我们有 SSL 检查防火墙/代理,我看到了与 SSL 相关的错误。

CA 已添加到所有主机,以便它们能够成功获取 docker 映像,但每当容器尝试访问互联网时,它们都会收到 SSL 错误。

有没有办法全局配置 Ceph 不验证 SSL 证书或添加 CA?手动将 CA 注入每个 docker 容器并不是一个可行的解决方案。

docker ubuntu ssl certificate ceph
1个回答
0
投票

这不是一个完整的答案,但评论相当有限。第一个问题是,Ceph 容器真的需要互联网访问吗?如果仅需要拉取映像,我建议部署您自己的容器注册表。这也将允许更好地控制容器版本。 要将证书自动部署到容器中,您可以使用

extra_container_args
。这是我的 RGW 规范的示例:

service_type: rgw
service_id: myid
service_name: rgw.myid
placement:
  count: 2
extra_container_args:
- -v=/var/lib/ca-certificates/:/var/lib/ca-certificates/:ro
- -v=/var/lib/ca-certificates/ca-bundle.pem:/etc/pki/tls/certs/ca-bundle.crt:ro
spec:
  rgw_frontend_port: 443
  rgw_realm: default
  rgw_zone: default
  ssl: true

这会将整个目录

/var/lib/ca-certificates/
映射到 RGW 容器中。此外,
ca-bundle.pem
映射到
ca-bundle.crt
。就我而言,主机运行的操作系统 (openSUSE) 与容器 (CentOS) 不同。 这应该适用于您在容器内需要的任何类型的证书。

更改服务规范后(看来您可能在所有守护进程中都需要它),您可以重新部署服务。但要小心并首先测试您的更改,仅重新部署一个守护程序并在继续之前进行检查:

ceph orch daemon redeploy rgw.{some_daemon}

如果您认为所做的更改有效,您还可以重新部署整个服务:

ceph orch redeploy rgw.myid
© www.soinside.com 2019 - 2024. All rights reserved.