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.
Dopo aver creato un Azure Red Hat OpenShift con il cluster dei piani di controllo ospitati, è possibile creare pool di nodi per aggiungere capacità di calcolo. Un pool di nodi è un gruppo di nodi di calcolo che condividono la stessa configurazione. È possibile aggiungere più pool di nodi a un singolo cluster, in modo da poter combinare tipi di nodo e dimensioni diversi in base ai carichi di lavoro.
La maggior parte delle proprietà del pool di nodi non è modificabile dopo la creazione. Esaminare attentamente i riferimenti alle proprietà del pool di nodi prima di creare un pool di nodi. Per modificare una proprietà non modificabile come dimensioni della macchina virtuale, configurazione del disco, subnet o zona di disponibilità, è necessario eliminare il pool di nodi e crearne uno nuovo.
Prerequisiti
- Un cluster Azure Red Hat OpenShift esistente con piani di controllo ospitati. Se non ne è disponibile uno, vedere Creare un Azure Red Hat OpenShift con cluster di piani di controllo ospitati.
- Il gruppo di sicurezza di rete (NSG) associato al pool di nodi e alle subnet di integrazione della rete virtuale deve consentire il traffico necessario. Per ulteriori informazioni, vedi Traffico richiesto del gruppo di sicurezza di rete.
- interfaccia della riga di comando di Azure versione 2.67.0 o successiva. Usare
az --versionper trovare la versione installata. Se è necessario installare o aggiornare, vedere Installare interfaccia della riga di comando di Azure. - CLI di OpenShift (
oc) installata. Vedere Introduzione all'interfaccia della riga di comando di OpenShift. - (Per la crittografia della chiave gestita dal cliente) Ruolo Key Vault Crypto Officer per le autorizzazioni per creare una chiave.
- L'estensione CLI di ARO HCP è installata. Se è necessario installarlo, eseguire
az extension add --name aro.
Impostare le variabili di ambiente
Se non sono già state impostate le variabili di ambiente seguenti, impostarle nella shell prima di procedere. Sostituire i valori segnaposto con i propri.
LOCATION="<azure-region>"
SUBSCRIPTION_ID="$(az account show --query id --output tsv)"
CUSTOMER_RG_NAME="<resource-group-name>"
CLUSTER_NAME="<cluster-name>"
NP_NAME="<node-pool-name>"
NP_VERSION="<node-pool-version>"
Note
Per un elenco delle aree supportate, vedere Scegliere l'area del cluster.
(Facoltativo) Configurare la crittografia del disco del sistema operativo
Azure Red Hat OpenShift con piani di controllo ospitati supporta due metodi di crittografia facoltativi per i dischi del sistema operativo del pool di nodi. Entrambi i metodi non sono modificabili dopo la creazione del pool di nodi ed è possibile combinarli nello stesso pool di nodi.
- La crittografia della chiave gestita dal cliente usa un set di Crittografia dischi di Azure che fa riferimento a una chiave nel Azure Key Vault per crittografare i dischi del sistema operativo.
- La crittografia nell'host fornisce la crittografia end-to-end per i dati delle macchine virtuali. I dati archiviati sull'host della VM sono crittografati a riposo e vengono trasferiti in forma crittografata al servizio di Storage.
Se non è necessaria alcuna opzione di crittografia, passare a Creare il pool di nodi.
Crea un set di crittografia dischi
Per crittografare i dischi del sistema operativo del pool di nodi usando chiavi gestite dal cliente, creare un set di Crittografia dischi di Azure che fa riferimento a una chiave nel Key Vault. Quindi, fare riferimento al set di crittografia del disco durante la creazione del pool di nodi.
Il set di crittografia dei dischi deve essere nella stessa sottoscrizione e nella stessa area geografica del cluster.
Note
I set di crittografia dei dischi crittografano i dischi del sistema operativo del pool di nodi. Questa funzionalità è indipendente dalla crittografia etcd, che crittografa i dati di stato del cluster inattivi. Per informazioni sulla crittografia etcd, vedere Scegliere la strategia di crittografia del cluster.
Importante
Sei responsabile del mantenimento di Key Vault e del Disk Encryption Set in Azure.
Se non si gestiscono le chiavi, i pool di nodi che le usano smettono di funzionare.
Le macchine virtuali interrompono il funzionamento e, di conseguenza, tutti i carichi di lavoro in esecuzione nei nodi interessati smette di funzionare.
Red Hat Site Reliability Engineering (SRE) non può accedere, eseguire il backup, replicare o recuperare le chiavi.
Impostare le variabili di ambiente per le risorse di crittografia del disco. Sostituire i valori segnaposto con i propri.
KEYVAULT_NAME="<key-vault-name>" KEYVAULT_KEY_NAME="<key-name>" DISK_ENCRYPTION_SET_NAME="<disk-encryption-set-name>"Creare un Key Vault con la protezione di ripulitura abilitata per archiviare la chiave di crittografia. La protezione dall'eliminazione definitiva impedisce la rimozione permanente di un insieme di credenziali eliminato prima della scadenza del periodo di conservazione, proteggendo da eliminazioni accidentali o intenzionali.
az keyvault create \ --name $KEYVAULT_NAME \ --resource-group $CUSTOMER_RG_NAME \ --location $LOCATION \ --enable-purge-protection trueNote
La protezione di ripulitura è obbligatoria e non può essere disabilitata dopo l'abilitazione. Per impostazione predefinita, una cassaforte eliminata viene conservata per 90 giorni. Per consentire una riassegnazione del nome più rapida, aggiungere
--retention-days <number-of-days>(minimo di 7 giorni).Creare una chiave di crittografia nel Key Vault.
az keyvault key create \ --vault-name $KEYVAULT_NAME \ --name $KEYVAULT_KEY_NAME \ --protection softwareRecuperare l'ID della risorsa e l'URL della chiave di Key Vault.
KEYVAULT_ID=$(az keyvault show --name $KEYVAULT_NAME --query "[id]" -o tsv) KEYVAULT_KEY_URL=$(az keyvault key show --vault-name $KEYVAULT_NAME --name $KEYVAULT_KEY_NAME --query "[key.kid]" -o tsv)Crea il set di crittografia dei dischi.
az disk-encryption-set create \ --name $DISK_ENCRYPTION_SET_NAME \ --location $LOCATION \ --resource-group $CUSTOMER_RG_NAME \ --source-vault $KEYVAULT_ID \ --key-url $KEYVAULT_KEY_URLOttenere l'ID risorsa set di crittografia dischi e l'ID dell'entità di identità.
DES_ID=$(az disk-encryption-set show --name $DISK_ENCRYPTION_SET_NAME --resource-group $CUSTOMER_RG_NAME --query 'id' -o tsv) DES_IDENTITY=$(az disk-encryption-set show --name $DISK_ENCRYPTION_SET_NAME --resource-group $CUSTOMER_RG_NAME --query "[identity.principalId]" -o tsv)Concedi all'identità gestita del set di crittografia del disco l'accesso al Key Vault. Il comando seguente assegna il ruolo Key Vault Crypto Service Encryption User, che fornisce le autorizzazioni della chiave necessarie
wrapkey,unwrapkeyeget.az role assignment create \ --assignee $DES_IDENTITY \ --role "Key Vault Crypto Service Encryption User" \ --scope $KEYVAULT_ID
Registrare la crittografia nell'host
La crittografia nell'host fornisce la crittografia end-to-end per i dati delle macchine virtuali. I dati archiviati sull'host della VM sono crittografati a riposo e vengono trasferiti in forma crittografata al servizio di Storage.
Prima di creare un pool di nodi con crittografia a livello host, registra la funzionalità EncryptionAtHost nella tua sottoscrizione, se non l'hai già fatto:
az feature register --namespace Microsoft.Compute --name EncryptionAtHost
Controllare lo stato della registrazione:
az feature show --namespace Microsoft.Compute --name EncryptionAtHost
Creare il pool di nodi
Importante
Il gruppo di sicurezza di rete (NSG) associato alla subnet in cui vengono distribuiti i ruoli di lavoro del pool di nodi e il gruppo di sicurezza di rete associato alla subnet di integrazione della rete virtuale deve consentire il traffico descritto in Traffico del gruppo di sicurezza di rete richiesto. Se il gruppo di sicurezza di rete ha una regola Deny che blocca il traffico richiesto, il pool di nodi creato rimane nello Provisioning stato fino al timeout dell'operazione.
Salva il modello Bicep seguente come
nodepool.bicep.L'esempio seguente crea un pool di nodi con due
Standard_D8s_v6nodi:param clusterName string param nodePoolName string param nodePoolVersion string resource cluster 'Microsoft.RedHatOpenShift/hcpOpenShiftClusters@2026-09-01-preview' existing = { name: clusterName } resource nodepool 'Microsoft.RedHatOpenShift/hcpOpenShiftClusters/nodePools@2026-09-01-preview' = { parent: cluster name: nodePoolName location: resourceGroup().location properties: { version: { id: nodePoolVersion channelGroup: 'stable' } platform: { subnetId: hcp.properties.platform.subnetId vmSize: 'Standard_D8s_v6' osDisk: { sizeGiB: 64 diskStorageAccountType: 'StandardSSD_LRS' } } replicas: 2 } }Per crittografare i dischi del sistema operativo con chiavi gestite dal cliente, aggiungere la proprietà
encryptionSetIdal bloccoosDiske impostarne il valore sull'ID risorsa del set di crittografia del disco:osDisk: { ... encryptionSetId: '<disk-encryption-set-resource-id>' }Per abilitare la crittografia nell'host, aggiungere la
enableEncryptionAtHostproprietà alplatformblocco :platform: { ... enableEncryptionAtHost: true }Note
È possibile combinare
enableEncryptionAtHostconencryptionSetIdnello stesso pool di nodi per usare sia la crittografia nell'host che nella crittografia della chiave gestita dal cliente.Distribuire il file Bicep.
az deployment group create \ --name 'aro-hcp-nodepool' \ --subscription "${SUBSCRIPTION_ID}" \ --resource-group "${CUSTOMER_RG_NAME}" \ --template-file nodepool.bicep \ --parameters \ clusterName="${CLUSTER_NAME}" \ nodePoolName="${NP_NAME}" \ nodePoolVersion="${NP_VERSION}"Verificare che i nuovi nodi abbiano uno
Readystato.oc get nodesL'output di esempio seguente mostra i nodi di due pool di nodi. I nodi del nuovo pool di nodi (
np-2) sono pronti:NAME STATUS ROLES AGE VERSION mycluster-np-1-722lp-6fhkr Ready worker 82m v1.31.5 mycluster-np-1-722lp-hvg7r Ready worker 82m v1.31.5 mycluster-np-2-c7d7l-fdpms Ready worker 3m19s v1.31.5 mycluster-np-2-c7d7l-rk7kt Ready worker 3m41s v1.31.5
Creare il pool di nodi.
L'esempio seguente crea un pool di nodi con due
Standard_D8s_v6nodi:az aro hcp cluster nodepool create \ --resource-group "${CUSTOMER_RG_NAME}" \ --cluster-name "${CLUSTER_NAME}" \ --name "${NP_NAME}" \ --replicas 2 \ --vm-size Standard_D8s_v6 \ --version "${NP_VERSION}" \ --channel-group stablePer crittografare i dischi del sistema operativo con chiavi gestite dal cliente, aggiungere l'argomento
--disk-encryption-setcon l'ID risorsa del set di crittografia del disco:--disk-encryption-set "${DES_ID}"Per abilitare la crittografia nell'host, aggiungere
--encryption-at-host true. È possibile combinare entrambe le opzioni di crittografia nello stesso pool di nodi aggiungendo entrambi gli argomenti.Verificare che i nuovi nodi abbiano uno
Readystato.oc get nodesL'output di esempio seguente mostra i nodi di due pool di nodi. I nodi del nuovo pool di nodi sono pronti:
NAME STATUS ROLES AGE VERSION mycluster-np-1-722lp-6fhkr Ready worker 82m v1.31.5 mycluster-np-1-722lp-hvg7r Ready worker 82m v1.31.5 mycluster-np-2-c7d7l-fdpms Ready worker 3m19s v1.31.5 mycluster-np-2-c7d7l-rk7kt Ready worker 3m41s v1.31.5
Informazioni di riferimento sulle proprietà del pool di nodi
Nella tabella seguente vengono descritte le proprietà del pool di nodi che è possibile configurare. Le proprietà contrassegnate come non modificabili possono essere impostate solo quando si crea il pool di nodi.
| Proprietà | Description | Obbligatorio | Immutabile |
|---|---|---|---|
name |
Nome del pool di nodi. Deve avere una lunghezza di 1-15 caratteri, iniziare con una lettera, terminare con una lettera o un numero e contenere solo lettere, numeri e trattini. | Sì | Sì |
version.id |
Versione di OpenShift per il pool di nodi, ad esempio 4.22.1. Deve essere inferiore o uguale alla versione del piano di controllo. |
Sì | No |
version.channelGroup |
Canale di aggiornamento di OpenShift. L'unico valore supportato è stable. |
No | No |
platform.vmSize |
Dimensioni della macchina virtuale Azure per i nodi. Per le dimensioni supportate, vedere Dimensioni delle macchine virtuali supportate. La disponibilità dipende anche dalla posizione Azure del cluster. | Sì | Sì |
platform.subnetId |
L'ID della risorsa Azure di una subnet. Deve appartenere alla stessa rete virtuale del cluster. L'NSG associato a questa subnet deve consentire il traffico necessario per il pool di nodi. L'impostazione predefinita è la subnet del cluster, se non specificata. | No | Sì |
platform.availabilityZone |
La zona di disponibilità per il pool di nodi. Se non specificato, il pool di nodi viene creato in un set di disponibilità. È possibile distribuire un solo pool di nodi per zona di disponibilità. Per altre informazioni, vedere Che cosa sono le zone di disponibilità? | No | Sì |
platform.osDisk.sizeGiB |
Le dimensioni del disco del sistema operativo in GiB. Il valore minimo è 64. Il valore predefinito è 64 GiB. | No | Sì |
platform.osDisk.diskStorageAccountType |
Tipo di disco gestito. Valori validi: Premium_LRS, StandardSSD_LRS, Standard_LRS. Il valore predefinito è Premium_LRS. Per altre informazioni, vedere Tipi di dischi gestiti di Azure. |
No | Sì |
platform.osDisk.diskType |
Tipo di disco del sistema operativo.
Managedarchivia il disco come disco gestito Azure.
Ephemeral archivia il disco nell'archiviazione di macchine virtuali locali per ridurre la latenza e velocizzare le operazioni sui nodi. I dischi temporanei richiedono dimensioni di macchina virtuale con capacità di archiviazione locale uguale o maggiore delle dimensioni dell'immagine del disco del sistema operativo. Il valore predefinito è Managed. Per altre informazioni, vedere Dischi temporanei del sistema operativo per le macchine virtuali di Azure. |
No | Sì |
platform.osDisk.encryptionSetId |
ID risorsa di Azure di un DiskEncryptionSet usato per crittografare i dischi del sistema operativo. Deve trovarsi nella stessa sottoscrizione e nella stessa posizione del cluster. Vedere Creare un set di crittografia del disco. |
No | Sì |
platform.enableEncryptionAtHost |
Abilita la crittografia nell'host della macchina virtuale per tutti i nodi nel pool di nodi. Il valore predefinito è false. Vedere Registrare la crittografia nell'host. |
No | Sì |
replicas |
Numero di nodi di cui effettuare il provisioning. Obbligatorio se autoScaling non è configurato. Il valore minimo è 0. |
Conditional | No |
autoScaling |
Abilita la scalabilità automatica per il pool di nodi. Obbligatorio se replicas non è configurato. Impostare autoScaling.min e autoScaling.max per definire l'intervallo di conteggio dei nodi. |
Conditional | No |
labels |
Etichette Kubernetes applicate come coppie chiave-valore ai nodi appena creati. | No | No |
taints |
Taint Kubernetes applicati ai nodi appena creati. Ogni taint richiede un key e effect. Effetti validi: NoSchedule, PreferNoSchedule, NoExecute. |
No | No |
nodeDrainTimeoutMinutes |
Periodo di tolleranza, in minuti, per i carichi di lavoro protetti da Pod Disruption Budget nel corso della sostituzione del nodo. Intervallo: 0-10080 (1 settimana). Il valore 0 non indica alcun limite di tempo. Esegue l'override del valore predefinito a livello di cluster. |
No | No |
Note
Azure Red Hat OpenShift con piani di controllo ospitati supporta un massimo di 500 nodi di lavoro per ogni cluster in tutti i pool di nodi. I pool di nodi distribuiti in una zona di disponibilità supportano fino a 500 nodi per pool di nodi. I pool di nodi distribuiti in un set di disponibilità supportano fino a 200 nodi per pool di nodi.