Предоставление SSL-сертификатов для мониторинга
Начиная с выпуска за декабрь 2021 г. службы данных с поддержкой Azure Arc позволяют предоставлять сертификаты SSL/TLS для панелей мониторинга мониторинга. Эти сертификаты можно использовать для панелей мониторинга журналов (Kibana) и метрик (Grafana).
Сертификат можно указать при создании контроллера данных с помощью следующих способов:
- Расширение Azure
az
CLIarcdata
- Собственное развертывание 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 содержит примеры файлов шаблонов, определяющих спецификации сертификатов.
- /arc_data_services/deploy/scripts/monitoring/logsui-ssl.conf.tmpl
- /arc_data_services/deploy/scripts/monitoring/metricsui-ssl.conf.tmpl
Репозиторий 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) и правильные параметры использования сертификата.
- Убедитесь, что каждый секрет содержит следующие поля:
certificate.pem
содержащий сертификат в кодировке Base64privatekey.pem
содержит закрытый ключ