Поделиться через


Предоставление SSL-сертификатов для мониторинга

Начиная с выпуска за декабрь 2021 г. службы данных с поддержкой Azure Arc позволяют предоставлять сертификаты SSL/TLS для панелей мониторинга мониторинга. Эти сертификаты можно использовать для панелей мониторинга журналов (Kibana) и метрик (Grafana).

Сертификат можно указать при создании контроллера данных с помощью следующих способов:

  • Расширение Azure az CLI arcdata
  • Собственное развертывание Kubernetes

Корпорация Майкрософт предоставляет примеры файлов для создания сертификатов в репозитории /microsoft/azure_arc/ GitHub.

Вы можете клонировать файл локально, чтобы получить доступ к примерам файлов.

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

Файлы, на которые ссылается эта статья, находятся в репозитории /arc_data_services/deploy/scripts/monitoring.

Создание или получение соответствующих сертификатов

Для каждого пользовательского интерфейса требуются соответствующие сертификаты. Один для журналов и один для метрик. В следующей таблице описаны требования.

В следующей таблице описаны требования к каждому сертификату и ключу.

Требование Сертификат журналов Сертификат метрик
CN logsui-svc metricsui-svc
Без Не требуется metricsui-svc.${NAMESPACE}.${K8S_DNS_DOMAIN_NAME}
keyUsage digitalsignature

keyEncipherment
digitalsignature

keyEncipherment
extendedKeyUsage serverAuth serverAuth

Примечание.

K8S_DNS_DOMAIN_NAME svc.cluster.localпо умолчанию, хотя он может отличаться в зависимости от среды и конфигурации.

Каталог репозитория GitHub содержит примеры файлов шаблонов, определяющих спецификации сертификатов.

Репозиторий GitHub примеров Azure Arc позволяет создать соответствующий сертификат и закрытый ключ для конечной точки.

См. код из /arc_data_services/deploy/scripts/monitoringcreate-monitoring-tls-files.sh.

Чтобы использовать пример для создания сертификатов, обновите следующую команду с помощью каталога namespace сертификатов (output_directory). Затем выполните команду.

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

При этом создаются соответствующие сертификаты в каталоге.

Развертывание с помощью интерфейса командной строки

После получения сертификата или закрытого ключа для каждой конечной точки создайте контроллер данных с 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>

Например, в следующем примере создается контроллер данных с указанными сертификатами для панелей мониторинга пользовательского интерфейса журналов и метрик:

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

При включении --use-k8s в инструкцию az arcdata dc create ... можно указать только сертификаты.

Развертывание с помощью собственных средств Kubernetes

Если вы используете собственные средства Kubernetes для развертывания, создайте секреты Kubernetes, в которых хранятся сертификаты и закрытые ключи. Создайте указанные ниже секреты.

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

Убедитесь, что службы указаны как альтернативные имена субъектов (SAN) и правильные параметры использования сертификата.

  1. Убедитесь, что каждый секрет содержит следующие поля:
    • certificate.pem содержащий сертификат в кодировке Base64
    • privatekey.pem содержит закрытый ключ