Bereitstellen von SSL-Zertifikaten für die Überwachung
Ab dem Release vom Dezember 2021 können Sie mit Azure-Arc-fähigen Datendiensten SSL/TLS-Zertifikate für die Überwachungsdashboards bereitstellen. Sie können diese Zertifikate für Protokolle (Kibana) und Metrikdashboards (Grafana) verwenden.
Sie können das Zertifikat angeben, wenn Sie einen Datencontroller erstellen mit:
- Azure
az
CLIarcdata
Erweiterung - Native Kubernetes-Bereitstellung
Microsoft stellt Beispieldateien zum Erstellen der Zertifikate im GitHub-Repository /microsoft/azure_arc/ zur Verfügung.
Sie können die Datei lokal klonen, um auf die Beispieldateien zuzugreifen.
git clone https://github.com/microsoft/azure_arc
Die Dateien, auf die in diesem Artikel verwiesen wird, befinden sich im Repository unter /arc_data_services/deploy/scripts/monitoring
.
Erstellen oder Erwerben entsprechender Zertifikate
Sie benötigen für jede Benutzeroberfläche entsprechende Zertifikate. Eine für Protokolle und eine für Metriken. In der folgenden Tabelle werden die Anforderungen beschrieben.
In der folgenden Tabelle werden die Anforderungen für jedes Zertifikat und jeden Schlüssel beschrieben.
Anforderung | Protokollzertifikat | Metrikzertifikat |
---|---|---|
CN | logsui-svc |
metricsui-svc |
SANs | Keine erforderlich | metricsui-svc.${NAMESPACE}.${K8S_DNS_DOMAIN_NAME} |
keyUsage | digitalsignature keyEncipherment |
digitalsignature keyEncipherment |
extendedKeyUsage | serverAuth |
serverAuth |
Hinweis
Der Standardwert für K8S_DNS_DOMAIN_NAME lautet svc.cluster.local
, kann sich aber je nach Umgebung und Konfiguration auch davon unterscheiden.
Das GitHub-Repository-Verzeichnis enthält Beispielvorlagendateien, die die Zertifikatspezifikationen identifizieren.
- /arc_data_services/deploy/scripts/monitoring/logsui-ssl.conf.tmpl
- /arc_data_services/deploy/scripts/monitoring/metricsui-ssl.conf.tmpl
Das Azure-Arc-GitHub-Repository enthält ein Beispiel, mit dem Sie ein konformes Zertifikat und einen privaten Schlüssel für einen Endpunkt generieren können.
Siehe den Code von /arc_data_services/deploy/scripts/monitoringcreate-monitoring-tls-files.sh.
Um das Beispiel zum Erstellen von Zertifikaten zu verwenden, aktualisieren Sie den folgenden Befehl mit ihrem namespace
und dem Verzeichnis für die Zertifikate (output_directory
). Führen Sie anschließend den Befehl aus.
./create-monitor-tls-files.sh <namespace> <output_directory>
Dadurch werden konforme Zertifikate im Verzeichnis erstellt.
Bereitstellen mit dem CLI
Nachdem Sie über das Zertifikat bzw. den privaten Schlüssel für jeden Endpunkt verfügen, erstellen Sie den Datencontroller mit dem az dc create...
-Befehl.
Verwenden Sie die folgenden Argumente, um Ihr eigenes Zertifikat bzw. Ihren eigenen privaten Schlüssel anzuwenden.
--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>
Im folgenden Beispiel wird beispielsweise ein Datencontroller mit festgelegten Zertifikaten für die Dashboards der Protokoll- und Metrikbenutzeroberfläche erstellt:
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
Sie können Zertifikate nur angeben, wenn Sie --use-k8s
in die az arcdata dc create ...
-Anweisung aufnehmen.
Bereitstellen mit nativen Kubernetes-Tools
Wenn Sie native Kubernetes-Tools für die Bereitstellung verwenden, erstellen Sie Kubernetes-Geheimnisse, die die Zertifikate und privaten Schlüssel enthalten. Erstellen Sie die folgenden Geheimnisse:
logsui-certificiate-secret
metricsui-certificate-secret
.
Stellen Sie sicher, dass die Dienste als Subject Alternative Names (SANs) aufgeführt sind und die Parameter für die Zertifikatsverwendung korrekt sind.
- Vergewissern Sie sich, dass jedes Geheimnis über die folgenden Felder verfügt:
certificate.pem
enthält das Base64-codierte Zertifikatprivatekey.pem
enthält den privaten Schlüssel
Zugehöriger Inhalt
- Versuchen Sie, Metriken und Protokolle in Azure Monitor hochzuladen.
- Informieren Sie sich über Grafana:
- Informieren Sie sich über Kibana: