Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Nachdem Sie ein Azure Red Hat OpenShift mit gehosteten Steuerelementebenencluster erstellt haben, können Sie Knotenpools erstellen, um Rechenkapazität hinzuzufügen. Ein Knotenpool ist eine Gruppe von Computeknoten, die dieselbe Konfiguration gemeinsam verwenden. Sie können einem einzelnen Cluster mehrere Knotenpools hinzufügen, sodass Sie unterschiedliche Knotentypen und Größen für Ihre Workloads kombinieren können.
Die meisten Knotenpooleigenschaften sind nach der Erstellung unveränderlich. Überprüfen Sie die Referenz zu den Knotenpooleigenschaften sorgfältig, bevor Sie einen Knotenpool erstellen. Um eine unveränderliche Eigenschaft wie VM-Größe, Datenträgerkonfiguration, Subnetz oder Verfügbarkeitszone zu ändern, müssen Sie den Knotenpool löschen und einen neuen erstellen.
Voraussetzungen
- Ein vorhandener Azure Red Hat OpenShift-Cluster mit gehosteten Steuerungsebenen. Falls Sie noch keinen Cluster haben, siehe Erstellen eines Azure Red Hat OpenShift-Clusters mit gehosteten Steuerungsebenen.
- Die Netzwerksicherheitsgruppe (NSG), die dem Knotenpool und den VNet-Integrationssubnetzen zugeordnet ist, muss den erforderlichen Datenverkehr zulassen. Weitere Informationen finden Sie unter Erforderlicher Datenverkehr für Netzwerksicherheitsgruppen.
- Azure CLI Version 2.67.0 oder höher. Verwenden Sie
az --version, um Ihre installierte Version zu finden. Wenn Sie eine Installation oder ein Upgrade durchführen müssen, finden Sie weitere Informationen unter Azure CLI installieren. - OpenShift CLI (
oc) installiert. Weitere Informationen finden Sie unter "Erste Schritte mit der OpenShift CLI". - (Für kundenseitig verwaltete Schlüsselverschlüsselung) Die Rolle Key Vault-Kryptografiebeauftragter für Berechtigungen zum Erstellen eines Schlüssels.
- Die ARO HCP CLI-Erweiterung wird installiert. Wenn Sie es installieren müssen, führen Sie
az extension add --name aroaus.
Festlegen von Umgebungsvariablen
Wenn Sie die folgenden Umgebungsvariablen noch nicht festgelegt haben, legen Sie sie in Der Shell fest, bevor Sie fortfahren. Ersetzen Sie die Platzhalterwerte durch Ihre eigenen Werte.
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
Eine Liste der unterstützten Regionen finden Sie unter Auswählen der Clusterregion.
(Optional) Einrichten der Betriebssystemdatenträgerverschlüsselung
Azure Red Hat OpenShift mit gehosteten Steuerebenen unterstützt zwei optionale Verschlüsselungsmethoden für Knotenpool-Betriebssystemdatenträger. Beide Methoden sind nach der Erstellung des Knotenpools unveränderlich, und Sie können sie im selben Knotenpool kombinieren.
- Die CMK-Verschlüsselung (Customer Managed Key) verwendet einen Azure Disk Encryption Set, der auf einen Schlüssel in Ihrer Azure Key Vault verweist, um Betriebssystemdatenträger zu verschlüsseln.
- Verschlüsselung auf dem Host bietet End-to-End-Verschlüsselung für VM-Daten. Auf dem VM-Host gespeicherte Daten werden im gespeicherten Zustand verschlüsselt und verschlüsselt an den Speicherdienst übertragen.
Wenn Sie keine Verschlüsselungsoption benötigen, fahren Sie mit dem Erstellen des Knotenpools fort.
Erstellen eines Datenträgerverschlüsselungssatzes
Um Betriebssystemdatenträger von Knotenpools mithilfe von kundenseitig verwalteten Schlüsseln zu verschlüsseln, erstellen Sie ein Azure Disk Encryption Set, das auf einen Schlüssel in Ihrem Schlüsseltresor verweist. Verweisen Sie dann beim Erstellen des Knotenpools auf den Datenträgerverschlüsselungssatz.
Der Datenträgerverschlüsselungssatz muss sich im selben Abonnement und am selben Speicherort wie der Cluster befinden.
Note
Datenträgerverschlüsselungssätze verschlüsseln Knotenpool-Betriebssystemdatenträger. Diese Funktion ist unabhängig von der etcd-Verschlüsselung, die Clusterstatusdaten im Ruhezustand verschlüsselt. Informationen zur etcd-Verschlüsselung finden Sie unter Die Clusterverschlüsselungsstrategie auswählen.
Von Bedeutung
Sie sind für die Aufrechterhaltung des Key Vault und des Datenträgerverschlüsselungssatzes in Azure verantwortlich.
Wenn Sie die Schlüssel nicht pflegen, funktionieren die Knotenpools, die diese Schlüssel verwenden, nicht mehr.
Die virtuellen Computer funktionieren nicht mehr, und daher funktionieren alle Arbeitslasten, die auf den betroffenen Knoten ausgeführt werden, nicht mehr.
Red Hat Site Reliability Engineering (SRE) kann nicht auf Ihre Schlüssel zugreifen, sichern, replizieren oder abrufen.
Legen Sie Umgebungsvariablen für die Datenträgerverschlüsselungsressourcen fest. Ersetzen Sie die Platzhalterwerte durch Ihre eigenen Werte.
KEYVAULT_NAME="<key-vault-name>" KEYVAULT_KEY_NAME="<key-name>" DISK_ENCRYPTION_SET_NAME="<disk-encryption-set-name>"Erstellen Sie eine Key Vault mit aktiviertem Löschschutz, um Ihren Verschlüsselungsschlüssel zu speichern. Der Löschschutz verhindert, dass ein gelöschter Tresor dauerhaft entfernt wird, bevor der Aufbewahrungszeitraum abläuft, was vor versehentlichen oder böswilligen Löschungen schützt.
az keyvault create \ --name $KEYVAULT_NAME \ --resource-group $CUSTOMER_RG_NAME \ --location $LOCATION \ --enable-purge-protection trueNote
Der Löschschutz ist erforderlich und kann nach der Aktivierung nicht deaktiviert werden. Standardmäßig wird ein gelöschter Tresor 90 Tage lang aufbewahrt. Um eine schnellere Rückforderung des Namens zu ermöglichen, fügen Sie
--retention-days <number-of-days>hinzu (mindestens 7 Tage).Erstellen Sie einen Verschlüsselungsschlüssel im Key Vault.
az keyvault key create \ --vault-name $KEYVAULT_NAME \ --name $KEYVAULT_KEY_NAME \ --protection softwareRufen Sie die Key Vault-Ressourcen-ID und die Schlüssel-URL ab.
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)Erstellen Sie den Datenträgerverschlüsselungssatz.
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_URLRufen Sie die Ressourcen-ID des Datenträgerverschlüsselungssatzes und die Identitätsprinzipal-ID ab.
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)Gewähren Sie der verwalteten Identität des Datenträgerverschlüsselungssatzes Zugriff auf den Schlüsseltresor. Mit dem folgenden Befehl wird die rolle Key Vault Crypto Service Encryption User zugewiesen, die die erforderlichen
wrapkey,unwrapkeyundgetSchlüsselberechtigungen bereitstellt.az role assignment create \ --assignee $DES_IDENTITY \ --role "Key Vault Crypto Service Encryption User" \ --scope $KEYVAULT_ID
Registrieren der Verschlüsselung beim Host
Verschlüsselung auf host bietet End-to-End-Verschlüsselung für VM-Daten. Auf dem VM-Host gespeicherte Daten werden im gespeicherten Zustand verschlüsselt und verschlüsselt an den Speicherdienst übertragen.
Bevor Sie einen Knotenpool mit Verschlüsselung auf dem Host erstellen, registrieren Sie das EncryptionAtHost Feature in Ihrem Abonnement, sofern noch nicht geschehen:
az feature register --namespace Microsoft.Compute --name EncryptionAtHost
Überprüfen Sie den Registrierungsstatus:
az feature show --namespace Microsoft.Compute --name EncryptionAtHost
Erstellen des Knotenpools
Von Bedeutung
Die Netzwerksicherheitsgruppe (Network Security Group, NSG), die dem Subnetz zugeordnet ist, in dem die Knotenpoolmitarbeiter bereitgestellt werden, und die dem VNet-Integrationssubnetz zugeordnete NSG muss den datenverkehr zulassen, der im erforderlichen Netzwerksicherheitsgruppendatenverkehr beschrieben ist. Wenn die NSG eine Ablehnungsregel enthält, die den erforderlichen Datenverkehr blockiert, verbleibt der von Ihnen erstellte Knotenpool im Status Provisioning, bis für den Vorgang eine Zeitüberschreitung eintritt.
Speichern Sie die folgende Bicep Vorlage als
nodepool.bicep.Im folgenden Beispiel wird ein Knotenpool mit zwei
Standard_D8s_v6Knoten erstellt: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 } }Um Betriebssystemdatenträger mit vom Kunden verwalteten Schlüsseln zu verschlüsseln, fügen Sie die
encryptionSetIdEigenschaft zumosDiskBlock hinzu, und legen Sie den Wert auf die Datenträgerverschlüsselungssatz-Ressourcen-ID fest:osDisk: { ... encryptionSetId: '<disk-encryption-set-resource-id>' }Um die Verschlüsselung auf dem Host zu aktivieren, fügen Sie die
enableEncryptionAtHostEigenschaft zumplatformBlock hinzu:platform: { ... enableEncryptionAtHost: true }Note
Sie können
encryptionSetIdundenableEncryptionAtHostim selben Knotenpool kombinieren, um sowohl hostbasierte Verschlüsselung als auch Verschlüsselung mit kundenseitig verwalteten Schlüsseln zu verwenden.Stellen Sie die Bicep-Datei bereit.
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}"Stellen Sie sicher, dass die neuen Knoten über einen
ReadyStatus verfügen.oc get nodesDie folgende Beispielausgabe zeigt die Knoten aus zwei Knotenpools. Die Knoten aus dem neuen Knotenpool (
np-2) sind bereit: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
Erstellen Sie den Knotenpool.
Im folgenden Beispiel wird ein Knotenpool mit zwei
Standard_D8s_v6Knoten erstellt: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 stableUm Betriebssystemdatenträger mit vom Kunden verwalteten Schlüsseln zu verschlüsseln, fügen Sie das
--disk-encryption-setArgument mit der Datenträgerverschlüsselungssatz-Ressourcen-ID hinzu:--disk-encryption-set "${DES_ID}"Um die Verschlüsselung auf dem Host zu aktivieren, fügen Sie es hinzu
--encryption-at-host true. Sie können beide Verschlüsselungsoptionen im selben Knotenpool kombinieren, indem Sie beide Argumente hinzufügen.Stellen Sie sicher, dass die neuen Knoten über einen
ReadyStatus verfügen.oc get nodesDie folgende Beispielausgabe zeigt die Knoten aus zwei Knotenpools. Die Knoten aus dem neuen Knotenpool sind bereit:
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
Referenz zu Eigenschaften von Knotenpools
In der folgenden Tabelle werden die Knotenpooleigenschaften beschrieben, die Sie konfigurieren können. Eigenschaften, die als unveränderlich gekennzeichnet sind, können nur festgelegt werden, wenn Sie den Knotenpool erstellen.
| Property | Beschreibung | Erforderlich | Unveränderbar |
|---|---|---|---|
name |
Der Name des Knotenpools. Muss 1 bis 15 Zeichen lang sein, mit einem Buchstaben beginnen, mit einem Buchstaben oder einer Zahl enden und nur Buchstaben, Zahlen und Bindestriche enthalten. | Ja | Ja |
version.id |
Die OpenShift-Version für den Knotenpool, z. B. 4.22.1. Muss kleiner oder gleich der Steuerebenenversion sein. |
Ja | No |
version.channelGroup |
Der OpenShift-Updatekanal. Der einzige unterstützte Wert lautet stable. |
No | No |
platform.vmSize |
Die Azure VM-Größe für die Knoten. Unterstützte Größen finden Sie unter "Unterstützte Virtuelle Computergrößen". Die Verfügbarkeit hängt auch vom Azure Standort des Clusters ab. | Ja | Ja |
platform.subnetId |
Die Azure Ressourcen-ID eines Subnetzes. Muss zum gleichen virtuellen Netzwerk wie der Cluster gehören. Das diesem Subnetz zugeordnete NSG muss den erforderlichen Datenverkehr des Knotenpools zulassen. Wenn nicht angegeben, wird standardmäßig das Subnetz des Clusters verwendet. | No | Ja |
platform.availabilityZone |
Die Verfügbarkeitszone für den Knotenpool. Wenn nicht angegeben, wird der Knotenpool in einem Verfügbarkeitssatz erstellt. Pro Verfügbarkeitszone kann nur ein Knotenpool bereitgestellt werden. Weitere Informationen finden Sie unter Was sind Verfügbarkeitszonen? | No | Ja |
platform.osDisk.sizeGiB |
Die Größe der Betriebssystem-Festplatte in GiB. Der Mindestwert ist 64. Der Standardwert ist 64 GiB. | No | Ja |
platform.osDisk.diskStorageAccountType |
Der verwaltete Datenträgertyp. Gültige Werte: Premium_LRS, StandardSSD_LRS, Standard_LRS. Der Standardwert ist Premium_LRS. Weitere Informationen finden Sie unter Verwaltete Azure-Datenträgertypen. |
No | Ja |
platform.osDisk.diskType |
Der Typ des Betriebssystemdatenträgers.
Managed speichert den Datenträger als verwalteten Azure-Datenträger.
Ephemeral speichert den Datenträger im lokalen VM-Speicher für niedrigere Latenz und schnellere Knotenvorgänge. Ephemerale Datenträger erfordern eine VM-Größe mit lokaler Speicherkapazität, die der Größe des Betriebssystemdatenträgerimages entspricht oder größer ist. Der Standardwert ist Managed. Weitere Informationen finden Sie unter Kurzlebige Betriebssystemdatenträger für virtuelle Azure-Computer. |
No | Ja |
platform.osDisk.encryptionSetId |
Die Azure Ressourcen-ID eines DiskEncryptionSet zum Verschlüsseln von Betriebssystemdatenträgern. Muss sich im selben Abonnement und in derselben Region wie der Cluster befinden. Siehe Erstellen eines Datenträgerverschlüsselungssatzes. |
No | Ja |
platform.enableEncryptionAtHost |
Aktiviert die Verschlüsselung auf dem VM-Host für alle Knoten im Knotenpool. Der Standardwert ist false. Siehe Registrieren der Verschlüsselung auf dem Host. |
No | Ja |
replicas |
Die Anzahl der bereitzustellenden Knoten. Erforderlich, wenn autoScaling nicht konfiguriert ist. Der Mindestwert ist 0. |
Bedingt | No |
autoScaling |
Aktiviert die automatische Skalierung für den Knotenpool. Erforderlich, wenn replicas nicht konfiguriert ist. Legen Sie autoScaling.min und autoScaling.max fest, um den Bereich der Knotenanzahl zu definieren. |
Bedingt | No |
labels |
Kubernetes-Bezeichnungen, die als Schlüsselwertpaare auf neu erstellte Knoten angewendet werden. | No | No |
taints |
Kubernetes-Taints, die auf neu erstellte Knoten angewendet werden. Jeder Taint erfordert ein key und ein effect. Gültige Effekte: NoSchedule, PreferNoSchedule, NoExecute. |
No | No |
nodeDrainTimeoutMinutes |
Karenzzeit in Minuten für durch ein Pod Disruption Budget geschützte Workloads beim Ersetzen eines Knotens. Bereich: 0-10080 (1 Woche). "Wert 0 " bedeutet kein Zeitlimit. Setzt den Standardwert auf Clusterebene außer Kraft. |
No | No |
Note
Azure Red Hat OpenShift mit gehosteten Steuerebenen unterstützt maximal 500 Arbeitsknoten pro Cluster über alle Knotenpools hinweg. In einer Verfügbarkeitszone bereitgestellte Knotenpools unterstützen bis zu 500 Knoten pro Knotenpool. Knotenpools, die in einer Verfügbarkeitseinrichtung bereitgestellt werden, unterstützen bis zu 200 Knoten pro Knotenpool.
Nächste Schritte
Verwandte Inhalte
- Erstellen Sie einen Azure Red Hat OpenShift-Cluster mit gehosteten Control Planes
- Serverseitige Verschlüsselung von verwalteten Azure-Datenträgern
- Verschlüsselung auf dem Host
- Unterstützte Größe virtueller Computer
- Planen des Clusternetzwerks
- Von Azure verwaltete Datenträgertypen
- Was sind Verfügbarkeitszonen?