Fornire certificati SSL per il monitoraggio
A partire dalla versione di dicembre 2021, i servizi dati abilitati per Azure Arc consentono di fornire i certificati SSL/TLS per i dashboard di monitoraggio. È possibile usare questi certificati per i dashboard delle metriche (Grafana) e dei log (Kibana).
È possibile specificare il certificato quando si crea un controller dei dati con:
- Estensione
az
dell'interfaccia della riga di comandoarcdata
di Azure - Distribuzione nativa di Kubernetes
Microsoft fornisce file di esempio per creare i certificati nel repository GitHub /microsoft/azure_arc/.
È possibile clonare il file in locale per accedere ai file di esempio.
git clone https://github.com/microsoft/azure_arc
I file a cui si fa riferimento in questo articolo si trovano nel repository in /arc_data_services/deploy/scripts/monitoring
.
Creare o acquisire certificati appropriati
Sono necessari certificati appropriati per ogni interfaccia utente. Uno per i log e uno per le metriche. Nella tabella seguente vengono descritti i requisiti.
Nella tabella seguente vengono descritti i requisiti per ogni certificato e chiave.
Requisito | Certificato dei log | Certificato delle metriche |
---|---|---|
CN | logsui-svc |
metricsui-svc |
SAN | Nessun elemento necessario | metricsui-svc.${NAMESPACE}.${K8S_DNS_DOMAIN_NAME} |
keyUsage | digitalsignature keyEncipherment |
digitalsignature keyEncipherment |
extendedKeyUsage | serverAuth |
serverAuth |
Nota
L'impostazione predefinita K8S_DNS_DOMAIN_NAME è svc.cluster.local
, anche se può variare a seconda dell'ambiente e della configurazione.
La directory del repository GitHub include i file di modello di esempio che identificano le specifiche del certificato.
- /arc_data_services/deploy/scripts/monitoring/logsui-ssl.conf.tmpl
- /arc_data_services/deploy/scripts/monitoring/metricsui-ssl.conf.tmpl
Il repository GitHub di esempi di Azure Arc fornisce un esempio che è possibile usare per generare un certificato e una chiave privata conformi per un endpoint.
Vedere il codice da /arc_data_services/deploy/scripts/monitoringcreate-monitoring-tls-files.sh.
Per usare l'esempio per creare certificati, aggiornare il comando seguente con namespace
e la directory per i certificati (output_directory
). Quindi eseguire il comando .
./create-monitor-tls-files.sh <namespace> <output_directory>
In questo modo, vengono creati certificati conformi nella directory.
Eseguire la distribuzione con l'interfaccia della riga di comando
Dopo aver ottenuto il certificato o la chiave privata per ogni endpoint, creare il controller dei dati con il comando az dc create...
.
Per applicare la propria chiave privata/certificato, usare gli argomenti seguenti.
--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>
L'esempio seguente, ad esempio, crea un controller dei dati con certificati designati per i dashboard dell'interfaccia utente dei log e delle metriche:
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
È possibile specificare i certificati solo quando si include --use-k8s
nell'istruzione az arcdata dc create ...
.
Eseguire la distribuzione con gli strumenti nativi di Kubernetes
Se si usano gli strumenti nativi di Kubernetes per la distribuzione, creare segreti Kubernetes che contengono i certificati e le chiavi private. Creare i segreti seguenti:
logsui-certificiate-secret
metricsui-certificate-secret
.
Assicurarsi che i servizi siano elencati come nomi alternativi dei soggetti (SAN) e che i parametri di utilizzo dei certificati siano corretti.
- Verificare che ogni segreto includa i campi seguenti:
certificate.pem
con il certificato con codifica base64privatekey.pem
con la chiave privata
Contenuto correlato
- Provare Carica metriche e log in Monitoraggio di Azure
- Maggiori informazioni su Grafana:
- Maggiori informazioni su Kibana