Orchestrator 不适用于新的 Rook 实例

Orchestrator 不适用于新的 Rook 实例

我正在尝试在我的 kubernetes 集群上建立一个 rook Ceph 集群。

地形:

  • 3 个 Kubernetes 节点(全部都是主/工作节点)
  • 每个节点上都有用于 ceph 的 /dev/vdX
  • 每个节点都旨在作为 ceph 集群的一部分工作

我使用 Helm Chart 部署了 Rook Operator,其值如下:

image:
  tag: v1.5.8
  pullPolicy: IfNotPresent

resources:
  limits:
    cpu: 500m
    memory: 256Mi
  requests:
    cpu: 100m
    memory: 256Mi
enableFlexDriver: false
enableDiscoveryDaemon: true

完全初始化后,我尝试使用以下清单创建一个集群。

apiVersion: ceph.rook.io/v1
kind: CephCluster
metadata:
  name: maincluster
  namespace: rook
spec:
  cephVersion:
    image: ceph/ceph:v15.2.9
  dataDirHostPath: /var/lib/rook
  mon:
    count: 3
    allowMultiplePerNode: false
  mgr:
    modules:
    - name: pg_autoscaler
      enabled: false
  dashboard:
    enabled: true
    ssl: true
  monitoring:
    enabled: false
    rulesNamespace: rook
  cleanupPolicy:
    sanitizeDisks:
      method: quick
  storage: # cluster level storage configuration and selection
    useAllNodes: true
    useAllDevices: true 

运行这些程序后,大多数东西似乎都正常工作了。一个 pod 显示错误,但它似乎与我当前遇到的问题无关;似乎更像是一种症状(它是 csi-rbdplugin pod)。

我可以用我创建的入口加载仪表板。但是,当我在仪表板上尝试创建 OSD 或执行其他操作时,会弹出一个提示框

Orchestrator 不可用。请参阅文档以了解如何配置和启用该功能。

其中的文档链接将我带到这个 404 页面,所以这没什么帮助。

我尝试过在其他地方搜索,但似乎没有太多关于该特定错误消息的信息。

有人知道我做错了什么,导致 Orchestrator 不可用而我什么也做不了?

答案1

我能够摆脱这个警告并启用编排器。

首先按照以下步骤安装 Rook Toolbox如何

然后执行到工具箱中:kubectl -n rook-ceph exec -it rook-ceph-tools-78cdfd976c-sclh9 -- /bin/bash

到达那里后,运行以下命令:

[root@rook-ceph-tools-78cdfd976c-sclh9 /]# ceph mgr module enable rook
[root@rook-ceph-tools-78cdfd976c-sclh9 /]# ceph orch set backend rook
[root@rook-ceph-tools-78cdfd976c-sclh9 /]# ceph orch status
Backend: rook
Available: True

ceph orch status应显示如上例所示的输出。

此后,Rook Dashboard 中不再出现任何警告。

答案2

虽然orchestratorCeph 模块默认是启用的,但rookCeph 模块默认是禁用的。

对于使用 Rook Helm Charts 的任何人(从 Rook 版本 1.12.2 开始,已使用 Ceph Reef 18.2.0 进行测试)。您可以rook使用以下 Helm Chart 值启用该模块:

参考:https://rook.github.io/docs/rook/v1.12/Storage-Configuration/Monitoring/ceph-dashboard/?h=modules#visualization-of-physical-disks-section-in-the-dashboard

对于 Rook OrchestratorHelm Chart

enableDiscoveryDaemon: true # Not strictly necessary to enable the rook module, but is a pre-requisite to enable features from it.

对于 Rook 集群Helm Chart

cephClusterSpec:
  mgr:
    modules:
      - name: pg_autoscaler # This is already enabled by default, but needs to be here so that we don't override the default behavior.
        enabled: true
      - name: rook # This enables the rook module.
        enabled: true

这可以使用声明性配置来应用,而当前答案需要手动干预来配置。

相关内容