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

提供用于监视的 SSL 证书

从 2021 年 12 月版本开始,可通过已启用 Azure Arc 的数据服务为监视仪表板提供 SSL/TLS 证书。 可以将这些证书用于日志仪表板 (Kibana) 和指标仪表板 (Grafana)。

使用以下扩展创建数据控制器时,可以指定证书:

  • Azure az CLI arcdata 扩展
  • Kubernetes 本机部署

Microsoft 提供了示例文件,用于在 /microsoft/azure_arc/ GitHub 存储库中创建证书。

可在本地克隆文件来访问示例文件。

git clone https://github.com/microsoft/azure_arc

本文中引用的文件位于 /arc_data_services/deploy/scripts/monitoring 下的存储库中。

创建或获取适当的证书

需要为每个 UI 提供相应的证书。 一个用于日志记录,一个用于指标。 相关要求请参见下表:

下表描述了每个证书和密钥的要求。

要求 日志证书 指标证书
CN logsui-svc metricsui-svc
SAN 无需任何项 metricsui-svc.${NAMESPACE}.${K8S_DNS_DOMAIN_NAME}
keyUsage digitalsignature

keyEncipherment
digitalsignature

keyEncipherment
extendedKeyUsage serverAuth serverAuth

注意

默认 K8S_DNS_DOMAIN_NAME 为 svc.cluster.local,尽管它可能因环境和配置而异。

GitHub 存储库目录包含标识证书规范的示例模板文件。

Azure Arc 示例 GitHub 存储库提供了一个示例,可用于为终结点生成合规证书和私钥。

请参阅 /arc_data_services/deploy/scripts/monitoringcreate-monitoring-tls-files.sh 中的代码。

若要使用该示例创建证书,请使用 namespace 和证书目录 (output_directory) 更新以下命令。 然后运行该命令。

./create-monitor-tls-files.sh <namespace> <output_directory>

这会在目录中创建合规证书。

使用 CLI 进行部署

为每个终结点提供证书/私钥后,使用 az dc create... 命令创建数据控制器。

若要应用自己的证书/私钥,请使用以下参数。

  • --logs-ui-public-key-file <path\file to logs public key file>
  • --logs-ui-private-key-file <path\file to logs private key file>
  • --metrics-ui-public-key-file <path\file to metrics public key file>
  • --metrics-ui-private-key-file <path\file to metrics private key file>

例如,以下示例使用指定的证书为日志和指标 UI 仪表板创建数据控制器:

az arcdata dc create --profile-name azure-arc-aks-default-storage --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect --logs-ui-public-key-file <path\file to logs public key file> --logs-ui-private-key-file <path\file to logs private key file> --metrics-ui-public-key-file <path\file to metrics public key file> --metrics-ui-private-key-file <path\file to metrics private key file>

#Example:
#az arcdata dc create --profile-name azure-arc-aks-default-storage  --k8s-namespace arc --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect --logs-ui-public-key-file /path/to/logsuipublickeyfile.pem --logs-ui-private-key-file /path/to/logsuiprivatekey.pem --metrics-ui-public-key-file /path/to/metricsuipublickeyfile.pem --metrics-ui-private-key-file /path/to/metricsuiprivatekey.pem

仅当在 az arcdata dc create ... 语句中包含 --use-k8s 时才能指定证书。

通过 Kubernetes 本机工具进行部署

如果要使用 Kubernetes 本机工具进行部署,请创建包含证书和私钥的 Kubernetes 机密。 创建以下机密:

  • logsui-certificiate-secret
  • metricsui-certificate-secret

请确保将服务列为使用者可选名称 (SAN) 并且证书使用参数正确。

  1. 验证每个机密都具有以下字段:
    • certificate.pem 包含 base64 编码的证书
    • privatekey.pem 包含私钥