Ceph Dashboard 启用

问题描述

ceph-mon charm 提供 Ceph 分布式文件系统的集群监控守护进程。目前它不支持启用 Ceph Manager 内置的 Dashboard。Dashboard 是一个基于 Web 的 Ceph 管理和监控应用程序,您可以通过它检查和管理集群内的各个方面和资源。它被实现为 Ceph Manager Daemon 模块。

提议的变更

建议的解决方案是在一个新的 ceph-mon 下属 charm 中提供并默认启用 Dashboard。SSL 端点终止将使用证书关系或通过提供 ssl_cert、ssl_key 和 ssl_ca 配置选项来完成。用户管理将通过 charm actions 来完成。

Ceph 的上游文档提到 Dashboard 受到支持,(https://docs.ceph.net.cn/en/latest/mgr/dashboard/)。此新功能将在 Ceph Octopus、OpenStack Victoria(及更高版本)的 Ubuntu 20.04 LTS 上得到支持。

下属 charm 将通过 mon 单元的主机名提供对 Dashboard 的访问。但是,主机名可能无法映射到所需的网络空间,操作员可能无法解析 juju 单元主机名,并且单个 mon 单元的故障可能会导致操作员通过该 mon 访问 Dashboard 时 Dashboard 无法访问。为了解决这些问题,Dashboard charm 将支持与 OpenStack 负载均衡器应用程序(尚未编写)的关系,该应用程序将管理一个 haproxy 实例和一个 vip,通过 hacluster 下属实现。如果存在此关系,Dashboard 待机单元将被配置为返回 500,从而使 haproxy 能够确定活动的 Dashboard 单元。负载均衡器和 Dashboard charm 都将支持通过与 vault 的关系或通过配置选项进行 SSL 端点终止。此工作的初始重点应该是交付 Dashboard 下属 charm,负载均衡器将在稍后进行。

备选方案

Grafana 提供了一些可视化可能性,但它仅限于只读体验。

超出范围

特性

Feature

在范围之内

多用户和角色管理

单点登录 (SSO)

X

SSL/TLS 支持

审计

嵌入式 Grafana Dashboard

监控 (Prometheus & Alertmanager)

X

iSCSI

X

RBD

RBD 镜像

X

CephFS

X

对象网关

NFS

X

实现

负责人

主要负责人

Liam Young <liam.young@canonical.com>

Gerrit Topic

使用 Gerrit 主题“ceph-dashboard”用于与此规范相关的所有补丁。

git-review -t ceph-dashboard

工作项

  • 实现一个新的操作员框架下属 charm,ceph-dashboard

  • 添加一个 charm 选项用于切换 ceph mgr dashboard

  • 添加一个实现 SSL 端点配置的关系

  • 添加 actions 以管理用户帐户

    • 创建管理员用户

  • 编写单元测试

  • 使用 zaza 测试框架扩展当前的功能测试(功能测试应包括使用添加了 ceph-dashboard 的 ceph-mon 进行部署,无需用户管理 actions)

  • 创建通用的服务负载均衡器 charm。

  • 添加一个与负载均衡器服务的关系,该关系将为访问 Dashboard 提供一个 HA vip。

时间表

目标是在 OpenStack Charms 21.10 版本中实现此更改。

仓库

在初始开发期间,代码将在此处管理

https://github.com/openstack-charmers/charm-ceph-dashboard

准备就绪后,该 charm 将通过 OpenDev gerrit 进行管理。

https://opendev.org/openstack/charm-ceph-dashboard

文档

该 charm 应包含文档化的选项

  • 创建 charm 选项

  • 创建 charm actions

  • 创建 charm 关系

  • 创建 charm README

  • 更新官方 charm 部署指南:[0]

[0]: https://docs.openstack.org/project-deploy-guide/charm-deployment-guide/

安全性

Dashboard 端点必须进行 TLS 终止,因此,需要提供 CA 证书的选项。

测试

代码更改将由单元测试覆盖。功能测试需要 Ceph OSD 硬件或软件模拟。这可以通过 Ceph 集群部署来实现。Ceph 集群的部署将独立于 OpenStack bundle。

依赖项

  • 此 charm 将支持 OpenStack Victoria 和 Ubuntu 20.04 Focal 作为其基线

  • 需要根据 OpenStack 项目 Creator’s Guide <https://docs.openstack.org/infra/manual/creators.html> 创建一个新项目