用于远程健康监测的遥测技术

遥测(Telemetry)是一种远程健康监测功能,可收集有关群集的匿名汇总数据,如组件的健康状况、使用资源的数量和类型等。 若您拥有运行版本 4.14 或更高版本的公共集群,且该集群于2024年2月28日或之后创建,您可选择将自身遥测数据显示在 Red Hat Hybrid控制台的 Red Hat 账户下,供您使用。 有关遥测的更多信息(例如收集的数据类型),请参阅《 Red Hat OpenShift 》文档中的 “使用互联集群进行远程健康监控”。

启用遥测功能

要启用遥测功能,请通过添加 OpenShift 访问令牌更新拉取密钥,以允许远程健康报告。 具体步骤取决于群集版本和创建群集的时间。 如果不确定群集是否已启用遥测功能,请参阅 检查群集是否已启用遥测功能。

对于 4.13 或更早版本,或在 2024 年 2 月 29 日之前创建的 4.14 版本群集:如果您的群集是在 2024 年 2 月 29 日之前创建的,请 开立支持票据 并说明您想在群集中启用遥测功能。 票单解决后,继续执行以下步骤。

对于 2024 年 2 月 29 日或之后创建的版本 4.14 群集:继续以下步骤。

  1. 登录 Red Hat OpenShift 控制台。

  2. 导航至“下载”>“令牌”>“拉取密文”,将拉取密文下载为 JSON 文件。

  3. 通过 CLI 访问群集。

  4. 获取当前拉取密文并将其存储到 JSON 文件中。 考虑将 JSON 文件命名为 pull-secret-original.json.

    oc get secrets pull-secret -n openshift-config -o template='{{index .data ".dockerconfigjson"}}' | base64 -d > pull-secret-original.json
    
  5. 使用拉取的秘密更新群集上的秘密。

    oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=./pull-secret-original.json
    
  6. 验证是否更新了现有的提取密文。 查找包含访问令牌的 auths 部分。

    oc get secret pull-secret -n openshift-config --output="jsonpath={.data.\.dockerconfigjson}" | base64 --decode
    

    auths 部分示例。

        {
    "auths": {
        "cloud.openshift.com": {
        "auth": "<your_token>",
        "email": "<email_address>"
        }
    }
    }
    
  7. 对于传统基础架构,请 重新加载群集中的所有工作节点。 对于 VPC 基础设施,更换群集中的所有工作节点。

  8. 打开 Red Hat OpenShift 控制台并导航至群集页面。 当群集类型为 RHOIC 时,将启用遥测功能。 请注意,这些更改可能需要几分钟才能反映在控制台中。 如果要验证 CLI 中的遥测功能是否已启用,请参阅 “检查集群是否已启用遥测功能”。

禁用遥测功能

为了遵守隐私法、组织标准或数据管理惯例,您可能需要禁用远程健康报告。 要禁用遥测功能,请修改群集的全局配置,并重新加载或重启群集上的所有工作节点。

  1. 检查遥测报告 pod 是否在群集中运行。

    oc get pods -n openshift-monitoring
    

    示例输出

    NAME                              READY   STATUS      RESTARTS   AGE
    telemeter-client-7cfd7cb85-lm9dt  3/3     Running     0          4d13h
    ...
    
  2. 请按照 Red Hat OpenShift 说明 更新群集中的全局拉取密钥,以禁用远程健康状况报告。

  3. 要通过重新加载或重启群集中的工作节点来接收全局配置更改,请 重新加载群集中的所有工作节点。 对于 VPC 基础设施,更换群集中的所有工作节点。

    1. 注意群集中工作节点的 ID。
        ibmcloud oc worker ls -c CLUSTER_NAME_OR_ID
        ```
    2. 对于传统基础架构,请 [重新加载群集中的所有工作节点](/docs/openshift?topic=openshift-kubernetes-service-cli#worker-reload-cli)。 对于 VPC 基础设施,[更换群集中的所有工作节点](/docs/openshift?topic=openshift-kubernetes-service-cli#worker-replace-cli)。 确保为您的应用程序留出足够的工作节点同时运行,以避免中断。
    
    
    
  4. 在工作节点恢复健康状态后,验证群集中是否不再运行遥测报告 pod。

    oc get pods -n openshift-monitoring
    

检查群集是否启用了遥测功能

如果不确定群集是否已启用遥测功能,请按照以下步骤查看群集拉取密文中是否存在遥测配置。 如果拉取密文中存在该配置,则群集将启用遥测功能。

  1. 在 CLI 中,为群集设置上下文,并包含 --admin 选项。

    ibmcloud oc cluster config -c CLUSTER-ID --admin
    
  2. 获取位于 openshift-config 命名空间的提取密文。 请注意,该命令从密文中提取数据,base64 解码,然后将信息输出到文件中。

    oc get secrets pull-secret -n openshift-config -o template='{{index .data ".dockerconfigjson"}}' | base64 -d > pull-secret.json
    
  3. 查看文件的内容。 在拉动秘密中,查找 cloud.openshift.com 授权。 如果存在,则表示已在群集上启用遥测功能。

    cat pull-secret.json
    

    拉动秘密文件中的授权示例。

    "auths": {
        "cloud.openshift.com": {
            "auth": "xyz123...",
            "email": "user@us.ibm.com"
        }