Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'autorità di certificazione personalizzata consente di aggiungere fino a 10 certificati con codifica base64 all'archivio attendibilità del nodo. Questa funzionalità è spesso necessaria quando è necessario che le ca siano presenti nel nodo, ad esempio quando ci si connette a un registro privato.
Questo articolo mostra come creare CA personalizzate e applicarle ai cluster del servizio Azure Kubernetes.
Prerequisiti
- Una sottoscrizione di Azure. Se non hai una sottoscrizione di Azure, crea un account gratuito.
- È necessaria l'interfaccia della riga di comando di Azure versione 2.72.0 o successiva installata e configurata. Per trovare la versione dell'interfaccia della riga di comando, esegui
az --version
. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure. - Una stringa di certificato base64 encoded o un file di testo con certificato.
Limiti
- I pool di nodi di Windows non sono supportati.
- L'installazione di ca diverse nello stesso cluster non è supportata.
Installare le CA nel negozio di fiducia del nodo
Creare un file contenente le CAs.
Creare un file di testo contenente fino a 10 certificati separati da righe vuote. Quando questo file viene passato al cluster, questi certificati vengono installati negli archivi attendibili del nodo.
File di testo di esempio:
-----BEGIN CERTIFICATE----- cert1 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- cert2 -----END CERTIFICATE-----
Prima di procedere al passaggio successivo, assicurarsi che nel file di testo non siano presenti spazi vuoti. Questi spazi vuoti genereranno un errore nel passaggio successivo, se non viene rimosso.
Usa il
az aks create
o ilaz aks update
per passare i certificati al cluster. Al termine dell'operazione, i certificati vengono installati negli archivi attendibili del nodo.Installare i CA durante la creazione del cluster utilizzando il comando
az aks create
e specificando il tuo file di testo per il parametro--custom-ca-trust-certificates
.az aks create \ --resource-group <resource-group-name> \ --name <cluster-name> \ --node-count 2 \ --custom-ca-trust-certificates FileWithCAs \ --generate-ssh-keys
Installare i CA durante l'aggiornamento del cluster usando il comando
az aks update
e specificando il file di testo per il parametro--custom-ca-trust-certificates
.az aks update \ --resource-group <resource-group-name> \ --name <cluster-name> \ --custom-ca-trust-certificates <path-to-ca-file>
Nota
Questa operazione attiva un aggiornamento del modello per garantire che tutti i nodi esistenti abbiano le stesse CA installate per garantire un provisioning corretto. AKS crea nuovi nodi, scarica i nodi esistenti, li elimina e li sostituisce con nodi in cui è installato il nuovo set di CAs.
Verificare che le CA siano installate.
Usare il az aks show
comando per verificare che le ca siano installate.
az aks show -g <resource-group-name> -n <cluster-name> | grep securityProfile -A 4
L'output securityProfile deve includere i certificati di fiducia di CA personalizzati.
"securityProfile": {
"azureKeyVaultKms": null,
"customCaTrustCertificates": [
"values"
Risoluzione dei problemi
Errore di formattazione
L'aggiunta di certificati a un cluster può generare un errore se il file con i certificati non è formattato correttamente.
failed to decode one of SecurityProfile.CustomCATrustCertificates to PEM after base64 decoding
Se si verifica questo errore, verificare che il file di input non contenga nuove righe, spazi vuoti o dati diversi da quelli formattati correttamente, come illustrato nel file di esempio.
La funzionalità è abilitata e viene aggiunto il segreto con la CA; tuttavia le operazioni restituiscono l’errore Certificato X.509 firmato da autorità sconosciuta
Certificati formattati in modo non corretto passati nel segreto
Il servizio Azure Kubernetes richiede che i certificati passati nel segreto creato dall'utente siano formattati correttamente e base64 encoded. Assicurarsi che le CA passate siano codificate correttamente in base64 e che i file con CA non abbiano interruzioni di riga CR LF.
I certificati passati a --custom-ca-trust-certificates
non devono essere base64 encoded.
Containerd non preleva nuovi certificati
Dalla shell del nodo eseguire systemctl restart containerd
. Dopo il riavvio di containerd, il runtime del contenitore preleva i nuovi certificati.
Passaggi successivi
Per altre informazioni sulle procedure consigliate per la sicurezza del servizio Azure Kubernetes, vedere Procedure consigliate per la sicurezza e gli aggiornamenti del cluster nel servizio Azure Kubernetes (AKS).
Azure Kubernetes Service