你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

部署 Azure Arc 遥测路由器

注意

  • 遥测路由器为公共预览版,应仅出于测试目的对其进行部署
  • 虽然遥测路由器为公共预览版,但请注意,未来的预览版本可能包括对 CRD 规范、CLI 命令和/或遥测路由器消息的更改。
  • 当前的预览版不支持在启用 Arc 遥测路由器的情况下就地升级部署的数据控制器。 为了在将来的版本中安装或升级数据控制器,需要卸载数据控制器,然后重新安装。

什么是 Azure Arc 遥测路由器?

使用 Azure Arc 遥测路由器,可将遥测数据导出到其他监视解决方案。 在此公共预览版中,我们仅支持将日志数据导出到 Kafka 或 Elasticsearch,以及将指标数据导出到 Kafka。

本文档指定如何部署遥测路由器并将其配置为与受支持的导出程序配合使用。

部署

注意

遥测路由器当前仅支持间接连接模式。

创建自定义配置文件

设置 Kubernetes 群集后,需要创建自定义配置文件。 接下来,启用一个临时功能标志,用于在创建数据控制器期间部署遥测路由器。

开启功能标志

创建自定义配置文件后,需要编辑该配置文件以添加 monitoring 属性并将 enableOpenTelemetry 标志设置为 true。 可以通过运行以下 az CLI 命令(必要时编辑 --path 参数)来设置功能标志:

az arcdata dc config add --path ./control.json --json-values ".spec.monitoring={}"
az arcdata dc config add --path ./control.json --json-values ".spec.monitoring.enableOpenTelemetry=true"

若要确认已正确设置标志,请打开 control.json 文件并确认 monitoring 对象已添加到 spec 对象且 enableOpenTelemetry 设置为 true

spec:
    monitoring:
        enableOpenTelemetry: true

该功能标志要求将在未来版本中删除。

创建数据控制器

创建自定义配置文件并设置功能标志后,可以开始使用间接连接模式创建数据控制器。 请务必将 --profile-name 参数替换为指向自定义 control.json 文件的 --path 参数(请参阅使用自定义 control.json 文件部署已启用 Azure Arc 的数据控制器

验证遥测路由器部署

创建数据控制器时,还会创建 TelemetryRouter 自定义资源。 当两个自定义资源都完成部署后,会将数据控制器部署标记为就绪。 数据控制器完成部署后,可以使用以下命令验证 TelemetryRouter 是否存在:

kubectl describe telemetryrouter arc-telemetry-router -n <namespace>
apiVersion: arcdata.microsoft.com/v1beta4
  kind: TelemetryRouter
  metadata:
    name: arc-telemetry-router
    namespace: <namespace>
  spec:
    credentials:
    exporters:
    pipelines:

创建时,不会设置管道和导出程序。 可以设置自己的管道和导出程序,将指标和日志数据路由到自己的 Kafka 和 Elasticsearch 实例。

部署 TelemetryRouter 后,应有一个 Kafka 实例 (arc-router-kafka) 和单个 TelemetryCollector 实例 (collector-inbound) 已部署完毕且处于就绪状态。 这些资源是系统管理的,不支持对其进行编辑。 因此,将会部署以下 pod:

  • 入站收集器 Pod - arctc-collector-inbound-0
  • kakfa 中转站 Pod - arck-arc-router-kafka-broker-0
  • kakfa 控制器 Pod - arck-arc-router-kafka-controller-0

注意

在向遥测路由器至少添加一个管道之前,不会创建出站收集器 Pod。

创建第一个管道后,会部署其他 TelemetryCollector 资源 (collector-outbound) 和 Pod arctc-collector-outbound-0

kubectl get pods -n <namespace>

NAME                                 READY   STATUS      RESTARTS   AGE
arc-bootstrapper-job-4z2vr           0/1     Completed   0          15h
arc-webhook-job-facc4-z7dd7          0/1     Completed   0          15h
arck-arc-router-kafka-broker-0       2/2     Running     0          15h
arck-arc-router-kafka-controller-0   2/2     Running     0          15h
arctc-collector-inbound-0            2/2     Running     0          15h
bootstrapper-8d5bff6f7-7w88j         1/1     Running     0          15h
control-vpfr9                        2/2     Running     0          15h
controldb-0                          2/2     Running     0          15h
logsdb-0                             3/3     Running     0          15h
logsui-fwrh9                         3/3     Running     0          15h
metricsdb-0                          2/2     Running     0          15h
metricsdc-bc4df                      2/2     Running     0          15h
metricsdc-fm7jh                      2/2     Running     0          15h
metricsui-qqgbv                      2/2     Running     0          15h