1.4. 定制可观察性配置


启用可观察性后,根据环境的具体需求自定义可观察性配置。管理并查看可观察性服务收集的集群团队数据。

需要的访问权限:集群管理员

1.4.1. 创建自定义规则

通过在可观察性资源中添加 Prometheus 记录规则警报规则,为可观察性安装创建自定义规则。

要预先计算昂贵的表达式,请使用带有 Prometheus 的记录规则功能来创建警报条件,并根据您要将警报发送到外部服务来发送通知。结果保存为一组新的时间序列。查看以下示例,以便在 observability-thanos-rule-custom-rules 配置映射中创建自定义警报规则:

  • 要获得当 CPU 用量 paases 您定义的值的通知,请创建以下自定义警报规则:

    data:
      custom_rules.yaml: |
        groups:
          - name: cluster-health
            rules:
            - alert: ClusterCPUHealth-jb
              annotations:
                summary: Notify when CPU utilization on a cluster is greater than the defined utilization limit
                description: "The cluster has a high CPU usage: {{ $value }} core for {{ $labels.cluster }} {{ $labels.clusterID }}."
              expr: |
                max(cluster:cpu_usage_cores:sum) by (clusterID, cluster, prometheus) > 0
              for: 5s
              labels:
                cluster: "{{ $labels.cluster }}"
                prometheus: "{{ $labels.prometheus }}"
                severity: critical

    备注:

    • 当您更新自定义规则时,observability-thanos-rule pod 会自动重启。
    • 您可以在配置中创建多个规则。
    • 默认警报规则位于 open-cluster-management-observability 命名空间的 observability-thanos-rule-default-rules 配置映射中。
  • 要创建自定义记录规则以获取 pod 的容器内存缓存总和,请创建以下自定义规则:

    data:
      custom_rules.yaml: |
        groups:
          - name: container-memory
            rules:
            - record: pod:container_memory_cache:sum
              expr: sum(container_memory_cache{pod!=""}) BY (pod, container)

    注: 在修改了配置映射后,配置会自动重新加载。由于 observability-thanos-rule sidecar 中的 config-reload,所以配置会重新加载。

要验证警报规则是否正常工作,请进入 Grafana 仪表板,选择 Explore 页面并查询 ALERTS。只有在创建了警报时,Grafana 中才有警报。

1.4.2. 添加自定义指标

将指标添加到 metrics_list.yaml 文件中,以从受管集群收集。完成以下步骤:

  1. 在添加自定义指标前,使用以下命令验证 mco observability 是否已启用:

    oc get mco observability -o yaml
  2. 检查 status.conditions.message 部分中的以下信息:

    Observability components are deployed and running
  3. 使用以下命令在 open-cluster-management-observability 命名空间中创建 observability-metrics-custom-allowlist 配置映射:

    oc apply -n open-cluster-management-observability -f observability-metrics-custom-allowlist.yaml
  4. 将自定义指标名称添加到 metrics_list.yaml 参数。配置映射的 YAML 可能类似以下内容:

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: observability-metrics-custom-allowlist
    data:
      metrics_list.yaml: |
        names: 1
          - node_memory_MemTotal_bytes
        rules: 2
        - record: apiserver_request_duration_seconds:histogram_quantile_90
          expr: histogram_quantile(0.90,sum(rate(apiserver_request_duration_seconds_bucket{job=\"apiserver\",
            verb!=\"WATCH\"}[5m])) by (verb,le))
    1
    可选: 添加要从受管集群收集的自定义指标的名称。
    2
    可选: 仅为 exprrecord 参数对输入一个值来定义查询表达式。指标作为来自受管集群的 record 参数中定义的名称来收集。返回的指标值是运行查询表达式后的结果。

    您可以使用其中一个或两个部分。对于用户工作负载指标,请参阅添加用户工作负载指标部分。

    注: 您还可以在自定义 metrics allowlist 中单独自定义每个受管集群,而不是在整个团队中应用它。您可以直接在受管集群中创建相同的 YAML 来自定义它。

  5. 通过从 Grafana 仪表板 Explore 页面查询指标,从自定义指标验证数据收集。您也可以在您自己的仪表板中使用自定义指标。

1.4.2.1. 添加用户工作负载指标

从 OpenShift Container Platform 中的工作负载收集 OpenShift Container Platform 用户定义的指标,以显示 Grafana 仪表板中的指标。完成以下步骤:

  1. 在 OpenShift Container Platform 集群上启用监控。请参阅附加资源部分 的为用户定义的项目启用监控

    如果您有一个为用户定义的工作负载启用监控的受管集群,用户工作负载位于 test 命名空间中,并生成指标。Prometheus 从 OpenShift Container Platform 用户工作负载收集这些指标。

  2. 将用户工作负载指标添加到 observability-metrics-custom-allowlist 配置映射中,以收集 test 命名空间中的指标。查看以下示例:

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: observability-metrics-custom-allowlist
      namespace: test
    data:
      uwl_metrics_list.yaml: 1
        names: 2
          - sample_metrics
    1
    输入配置映射数据的密钥。
    2
    以 YAML 格式输入配置映射数据的值。name 部分包含您要从 test 命名空间收集的指标名称列表。创建配置映射后,observability 收集器收集指标并将其从目标命名空间推送到 hub 集群。

1.4.2.2. 删除默认指标

如果您不想从受管集群收集特定指标的数据,请从 observability-metrics-custom-allowlist.yaml 文件中删除指标。当您删除指标时,不会从受管集群收集指标数据。完成以下步骤以删除默认指标:

  1. 使用以下命令验证 mco observability 是否已启用:

    oc get mco observability -o yaml
  2. 您可以在 metrics 名称的开头使用连字符 - 将默认指标名称添加到 metrics_list.yaml 参数中。查看以下指标示例:

    -cluster_infrastructure_provider
  3. 使用以下命令在 open-cluster-management-observability 命名空间中创建 observability-metrics-custom-allowlist 配置映射:

    oc apply -n open-cluster-management-observability -f observability-metrics-custom-allowlist.yaml
  4. 验证 observability 服务是否没有从受管集群收集特定指标。当您从 Grafana 仪表板查询指标时,指标不会显示。

1.4.3. 为保留添加高级配置

要根据您的需要更新每个可观察性组件的保留,请添加 advanced configuration 部分。完成以下步骤:

  1. 使用以下命令编辑 MultiClusterObservability 自定义资源:

    oc edit mco observability -o yaml
  2. advanced 部分添加到 文件。您的 YAML 文件可能类似以下内容:

    spec:
      advanced:
        retentionConfig:
          blockDuration: 2h
          deleteDelay: 48h
          retentionInLocal: 24h
          retentionResolutionRaw: 365d
          retentionResolution5m: 365d
          retentionResolution1h: 365d
        receive:
          resources:
            limits:
              memory: 4096Gi
          replicas: 3

    备注:

    • 有关可添加到 高级配置 中的所有参数的描述,请参阅 Observability API 文档。
    • 保留所有分辨率级别的默认保留(如 retentionResolutionRawretentionResolution5mretentionResolution1h )是 365 天(365d)。您必须在 MultiClusterObservability spec.advanced.retentionConfig 参数中为解析保留设置一个显式值。
  3. 如果您从早期版本升级并希望保留该版本保留配置,请添加前面提到的配置。完成以下步骤:

    1. 运行以下命令来进入 MultiClusterObservability 资源:

      edit mco observability
    2. spec.advanced.retentionConfig 参数中,应用以下配置:
    spec:
      advanced:
        retentionConfig:
          retentionResolutionRaw: 365d
          retentionResolution5m: 365d
          retentionResolution1h: 365d

1.4.4. 单节点 OpenShift 集群的动态指标

动态指标收集根据特定条件支持自动指标收集。默认情况下,单节点 OpenShift 集群不会收集 pod 和容器资源指标。当单节点 OpenShift 集群达到特定级别的资源消耗后,会动态收集定义的粒度指标。当集群资源消耗在一段时间内持续低于阈值时,细致的指标集合会停止。

这些指标会根据由集合规则指定的受管集群上的条件动态收集。由于这些指标是动态收集的,所以以下 Red Hat Advanced Cluster Management Grafana 仪表板不会显示任何数据。激活集合规则并收集相应指标时,以下面板会在启动集合规则的时间里显示数据:

  • Kubernetes/Compute Resources/Namespace (Pods)
  • Kubernetes/Compute Resources/Namespace (Workloads)
  • Kubernetes/Compute Resources/Nodes (Pods)
  • Kubernetes/Compute Resources/Pod
  • Kubernetes/Compute Resources/Workload A collection 规则包括以下条件:
  • 动态收集的一组指标。
  • 使用 PromQL 表达式定义的条件。
  • 集合的间隔,该集合必须设为 true
  • 一个匹配表达式,用于选择需要评估收集规则的集群。

默认情况下,集合规则每 30 秒或以特定时间间隔在受管集群上持续评估。集合间隔和时间间隔中的最低值具有高优先权。当收集规则条件在 for 属性指定的持续时间内保留后,收集规则将启动,由规则指定的指标会在受管集群上自动收集。指标集合会在受管集群上不再存在集合规则条件后自动停止,至少有 15 分钟。

集合规则分组为名为 gather_rules 的参数部分,该部分可启用或禁用作为组。Red Hat Advanced Cluster Management 安装包含集合规则组 SNOResourceUsage,它有两个默认集合规则: HighCPUUsageHighMemoryUsageHighCPUUsage 集合规则从节点 CPU 使用率超过 70% 时开始。如果单节点 OpenShift 集群的总内存使用率超过可用节点内存的 70%,则 HighMemoryUsage 集合规则开始。目前,前面提到的阈值是固定的,且无法更改。当集合规则开始超过 for 属性指定的间隔时,系统会自动开始收集 dynamic_metrics 中指定的指标。

在以下 YAML 文件中查看 collect_rules 部分的动态指标列表:

collect_rules:
  - group: SNOResourceUsage
    annotations:
      description: >
        By default, a {sno} cluster does not collect pod and container resource metrics. Once a {sno} cluster
        reaches a level of resource consumption, these granular metrics are collected dynamically.
        When the cluster resource consumption is consistently less than the threshold for a period of time,
        collection of the granular metrics stops.
    selector:
      matchExpressions:
        - key: clusterType
          operator: In
          values: ["{sno}"]
    rules:
    - collect: SNOHighCPUUsage
      annotations:
        description: >
          Collects the dynamic metrics specified if the cluster cpu usage is constantly more than 70% for 2 minutes
      expr: (1 - avg(rate(node_cpu_seconds_total{mode=\"idle\"}[5m]))) * 100 > 70
      for: 2m
      dynamic_metrics:
        names:
          - container_cpu_cfs_periods_total
          - container_cpu_cfs_throttled_periods_total
          - kube_pod_container_resource_limits
          - kube_pod_container_resource_requests
          - namespace_workload_pod:kube_pod_owner:relabel
          - node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate
          - node_namespace_pod_container:container_cpu_usage_seconds_total:sum_rate
    - collect: SNOHighMemoryUsage
      annotations:
        description: >
          Collects the dynamic metrics specified if the cluster memory usage is constantly more than 70% for 2 minutes
      expr: (1 - sum(:node_memory_MemAvailable_bytes:sum) / sum(kube_node_status_allocatable{resource=\"memory\"})) * 100 > 70
      for: 2m
      dynamic_metrics:
        names:
          - kube_pod_container_resource_limits
          - kube_pod_container_resource_requests
          - namespace_workload_pod:kube_pod_owner:relabel
        matches:
          - __name__="container_memory_cache",container!=""
          - __name__="container_memory_rss",container!=""
          - __name__="container_memory_swap",container!=""
          - __name__="container_memory_working_set_bytes",container!=""

可以在 custom-allowlist 中禁用 collect_rules.group,如下例所示。当 collect_rules.group 禁用时,指标集合会恢复到之前的行为。这些指标定期收集,指定间隔:

collect_rules:
  - group: -SNOResourceUsage

只有在启动规则时,数据才会在 Grafana 中显示。

1.4.5. 从控制台更新 MultiClusterObservability 自定义资源副本

如果工作负载增加,增加可观察 pod 的副本数。从您的 hub 集群中进入到 Red Hat OpenShift Container Platform 控制台。找到 MultiClusterObservability 自定义资源,并更新您要更改副本的组件的 replicas 参数值。更新的 YAML 可能类似以下内容:

spec:
   advanced:
      receive:
         replicas: 6

有关 mco observability 自定义资源中的参数的更多信息,请参阅 Observability API 文档。

1.4.6. 增加并减少持久性卷和持久性卷声明

增加并减少持久性卷和持久性卷声明,以更改存储类中的存储量。完成以下步骤:

  1. 要增大持久性卷的大小,如果存储类支持扩展卷,请更新 MultiClusterObservability 自定义资源。
  2. 要缩小持久性卷的大小,请使用持久性卷移除 pod,请删除持久性卷并重新创建它们。您可能会遇到持久性卷中的数据丢失。完成以下步骤:

    1. 通过在 MultiClusterObservability 自定义资源中添加注解 mco-pause: "true" 来暂停 MultiClusterObservability operator。
    2. 查找所需组件的有状态集或部署。将其副本数更改为 0。这会启动关闭,它会在适用于避免数据丢失时上传本地数据。例如,Thanos Receive stateful 集名为 observability-thanos-receive-default,默认有三个副本。因此,您要查找以下持久性卷声明:

      • data-observability-thanos-receive-default-0
      • data-observability-thanos-receive-default-1
      • data-observability-thanos-receive-default-2
    3. 删除所需组件所使用的持久性卷和持久性卷声明。
    4. MultiClusterObservability 自定义资源中,将组件的存储大小编辑为 storage size 字段中所需的数量。带有组件名称的前缀。
    5. 通过删除之前添加的注解来取消暂停 MultiClusterObservability Operator。
    6. 要在 Operator 暂停后启动协调,请删除 multicluster-observability-operatorobservatorium-operator pod。pod 会被立即重新创建并协调。
  3. 通过检查 MultiClusterObservability 自定义资源来验证持久性卷和卷声明是否已更新。

1.4.7. 自定义路由证书

如果要自定义 OpenShift Container Platform 路由认证,则必须在 alt_names 部分添加路由。要确保 OpenShift Container Platform 路由可以访问,请添加以下信息:alertmanager.apps.<domainname>, observatorium-api.apps.<domainname>, rbac-query-proxy.apps.<domainname>

如需了解更多详细信息,请参阅监管文档中的 alertmanager 路由证书

注意 :用户负责证书轮转和更新。

1.4.8. 自定义用于访问对象存储的证书

您可以通过创建一个包含证书颁发机构并配置 MultiClusterObservability 自定义资源的 Secret 资源来配置与 observability 对象存储的安全连接。完成以下步骤:

  1. 要验证对象存储连接,请使用以下命令在包含证书颁发机构的文件中创建 Secret 对象:

    oc create secret generic <tls_secret_name> --from-file=ca.crt=<path_to_file> -n open-cluster-management-observability
    1. 另外,您可以应用以下 YAML 来创建 secret:
    apiVersion: v1
    kind: Secret
    metadata:
      name: <tls_secret_name>
      namespace: open-cluster-management-observability
    type: Opaque
    data:
      ca.crt: <base64_encoded_ca_certificate>

    可选: 如果要启用 mutual TLS,则需要在上一个 secret 中添加 public.crtprivate.key 密钥。

  2. 使用以下命令在 metricObjectStorage 部分添加 TLS secret 详情:

    oc edit mco observability -o yaml

    您的文件可能类似以下 YAML:

    metricObjectStorage:
      key: thanos.yaml
      name: thanos-object-storage
      tlsSecretName: tls-certs-secret 1
      tlsSecretMountPath: /etc/minio/certs 2
    1
    tlsSecretName 的值是之前创建的 Secret 对象的名称。
    2
    tlsSecretMountPath 参数定义的 /etc/minio/certs/ 路径指定证书在 Observability 组件中挂载的位置。下一步需要此路径。
  3. 使用证书详情添加 http_config.tls_config 部分,更新 thanos-object-storage secret 中的 thanos.yaml 定义。查看以下示例:

    thanos.yaml: |
       type: s3
       config:
         bucket: "thanos"
         endpoint: "minio:9000"
         insecure: false 1
         access_key: "minio"
         secret_key: "minio123"
         http_config:
           tls_config:
             ca_file: /etc/minio/certs/ca.crt 2
             insecure_skip_verify: false
    1
    insecure 参数设置为 false 以启用 HTTPS。
    2
    ca_file 参数的路径必须与 MultiClusterObservability 自定义资源中的 tlsSecretMountPath 匹配。ca.crt 必须与 < tls_secret_name> Secret 资源中的 键匹配。

    可选: 如果要启用 mutual TLS,您需要将 cert_filekey_file 密钥添加到 tls_config 部分。请参见以下示例:

     thanos.yaml: |
        type: s3
        config:
          bucket: "thanos"
          endpoint: "minio:9000"
          insecure: false
          access_key: "minio"
          secret_key: "minio123"
          http_config:
            tls_config:
              ca_file: /etc/minio/certs/ca.crt 1
              cert_file: /etc/minio/certs/public.crt
              key_file: /etc/minio/certs/private.key
              insecure_skip_verify: false
    1
    ca_filecert_filekey_file 的路径必须与 MultiClusterObservability 自定义资源的 tlsSecretMountPath 匹配。ca.crtpublic.crtprivate.crt 必须与 tls_secret_name > Secret 资源中的对应密钥匹配。
  4. 要验证您可以访问对象存储,请检查是否部署了 pod。运行以下命令:

    oc -n open-cluster-management-observability get pods -l app.kubernetes.io/name=thanos-store

1.4.9. 为可观察性附加组件配置代理设置

配置代理设置,以允许受管集群的通信通过 HTTP 和 HTTPS 代理服务器访问 hub 集群。通常,附加组件不需要任何特殊配置来支持 hub 集群和受管集群之间的 HTTP 和 HTTPS 代理服务器。但是,如果启用了 observability 附加组件,则必须完成代理配置。

1.4.10. 前提条件

  • 您有一个 hub 集群。
  • 您已启用了 hub 集群和受管集群之间的代理设置。

完成以下步骤,为可观察性附加组件配置代理设置:

  1. 进入 hub 集群上的集群命名空间。
  2. 通过添加 spec.proxyConfig 参数,使用代理设置创建 AddOnDeploymentConfig 资源。查看以下 YAML 示例:

    apiVersion: addon.open-cluster-management.io/v1alpha1
    kind: AddOnDeploymentConfig
    metadata:
      name: <addon-deploy-config-name>
      namespace: <managed-cluster-name>
    spec:
      agentInstallNamespace: open-cluster-managment-addon-observability
      proxyConfig:
        httpsProxy: "http://<username>:<password>@<ip>:<port>" 1
        noProxy: ".cluster.local,.svc,172.30.0.1" 2
    1
    对于此字段,您可以指定 HTTP 代理或 HTTPS 代理。
    2
    包括 kube-apiserver 的 IP 地址。
  3. 要获取 IP 地址,请在受管集群中运行以下命令:

    oc -n default describe svc kubernetes | grep IP:
  4. 进入 ManagedClusterAddOn 资源,并通过引用您所做的 AddOnDeploymentConfig 资源来更新它。查看以下 YAML 示例:

    apiVersion: addon.open-cluster-management.io/v1alpha1
    kind: ManagedClusterAddOn
    metadata:
      name: observability-controller
      namespace: <managed-cluster-name>
    spec:
      installNamespace: open-cluster-managment-addon-observability
      configs:
      - group: addon.open-cluster-management.io
        resource: AddonDeploymentConfig
        name: <addon-deploy-config-name>
        namespace: <managed-cluster-name>
  5. 验证代理设置。如果您成功配置了代理设置,则由受管集群中的可观察性附加组件代理部署的指标收集器将数据发送到 hub 集群。完成以下步骤:

    1. 进入 hub 集群,然后在 Grafana 仪表板上显示受管集群。
    2. 查看代理设置的指标。

1.4.11. 禁用可观察性附加组件的代理设置

如果您的开发需要更改,您可能需要为 hub 集群和受管集群禁用您配置的可观察附加组件的代理设置。您可以随时禁用 observability 附加组件的代理设置。完成以下步骤:

  1. 进入 ManagedClusterAddOn 资源。
  2. 删除引用的 AddOnDeploymentConfig 资源。

1.4.12. 自定义受管集群 Observatorium API 和 Alertmanager URL (技术预览)

在使用负载均衡器或保留代理时,您可以自定义受管集群用来与 hub 集群通信的 Observatorium API 和 Alertmanager URL,以维护所有 Red Hat Advanced Cluster Management 功能。要自定义 URL,请完成以下步骤:

  1. 将您的 URL 添加到 MultiClusterObservability specadvanced 部分。请参见以下示例:
spec:
  advanced:
    customObservabilityHubURL: <yourURL>
    customAlertmanagerHubURL: <yourURL>

备注:

  • 仅支持 HTTPS URL。如果您没有在 URL 中添加 https://,则方案会自动添加。
  • 您可以在 customObservabilityHubURL spec 中包含 Remote Write API 的标准路径 /api/metrics/v1/default/api/v1/receive。如果没有包括该路径,Observability 服务会在运行时自动添加路径。
  • 任何用于自定义 Observability hub 集群 URL 的中间组件都无法使用 TLS 终止,因为组件依赖于 MTLS 身份验证。自定义 Alertmanager hub 集群 URL 支持使用您自己的现有证书指令的中间组件 TLS 终止。

    1. 如果您使用自定义ObservabilityHubURL,请使用以下模板创建一个路由对象。将 <intermediate_component_url& gt; 替换为中间组件 URL:
apiVersion: route.openshift.io/v1
kind: Route
metadata:
  name: proxy-observatorium-api
  namespace: open-cluster-management-observability
spec:
  host: <intermediate_component_url>
  port:
    targetPort: public
  tls:
    insecureEdgeTerminationPolicy: None
    termination: passthrough
  to:
    kind: Service
    name: observability-observatorium-api
    weight: 100
  wildcardPolicy: None
  1. 如果您使用 customAlertmanagerHubURL,请使用以下模板创建路由对象。将 <intermediate_component_url& gt; 替换为中间组件 URL:
apiVersion: route.openshift.io/v1
kind: Route
metadata:
  name: alertmanager-proxy
  namespace: open-cluster-management-observability
spec:
  host: <intermediate_component_url>
  path: /api/v2
  port:
    targetPort: oauth-proxy
  tls:
    insecureEdgeTerminationPolicy: Redirect
    termination: reencrypt
  to:
    kind: Service
    name: alertmanager
    weight: 100
  wildcardPolicy: None

1.4.13. 配置细粒度 RBAC (技术预览)

要限制对集群中特定命名空间的指标访问,请使用精细的访问控制(RBAC)。使用精细 RBAC,您可以允许应用程序团队只查看授予它们访问权限的命名空间的指标。

您必须为该 hub 集群的用户在 hub 集群上配置指标访问控制。在这个 hub 集群中,ManagedCluster 自定义资源代表每个受管集群。要配置 RBAC 并选择允许的命名空间,请使用 ManagedCluster 自定义资源中指定的规则和操作操作动词。

例如,有一个名为 my-awesome-app 的应用程序,此应用程序位于两个不同的受管集群 devcluster1devcluster2 中。两个集群都位于 AwesomeAppNS 命名空间中。您有一个名为 my-awesome-app-adminsadmin 用户组,您希望将此用户组只能从 hub 集群上的这两个命名空间中访问指标。

在本例中,要使用精细的 RBAC 来限制用户组访问,请完成以下步骤:

  1. 定义具有访问指标的权限的 ClusterRole 资源。您的资源可能类似以下 YAML:

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
     name: awesome-app-metrics-role
    rules:
     - apiGroups:
         - "cluster.open-cluster-management.io"
       resources:
         - managedclusters: 1
       resourceNames: 2
         - devcluster1
         - devcluster2
       verbs: 3
         - metrics/AwesomeAppNS
    1
    表示受管集群的参数值。
    2
    表示受管集群列表。
    3
    代表受管集群的命名空间。
  2. 定义 ClusterRoleBinding 资源,它将组 my-awesome-app-admins 绑定到 awesome-app-metrics-roleClusterRole 资源。您的资源可能类似以下 YAML:

    kind: ClusterRoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
     name: awesome-app-metrics-role-binding
    subjects:
     - kind: Group
       apiGroup: rbac.authorization.k8s.io
       name: my-awesome-app-admins
    roleRef:
     apiGroup: rbac.authorization.k8s.io
     kind: ClusterRole
     name: awesome-app-metrics-role

完成这些步骤后,当 my-awesome-app-admins 中的用户登录到 Grafana 控制台时,它们有以下限制:

  • 用户不会看到用于汇总机级数据的仪表板的数据。
  • 用户只能选择 ClusterRole 资源中指定的受管集群和命名空间。

要设置不同类型的用户访问,请定义单独的 ClusterRoleClusterRoleBindings 资源来代表命名空间中的不同受管集群。

1.4.14. 其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.