Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Po utworzeniu Azure Red Hat OpenShift z klastrem hostowanych płaszczyzn sterowania można utworzyć pule węzłów w celu dodania pojemności obliczeniowej. Pula węzłów to grupa węzłów obliczeniowych, która współużytkuje tę samą konfigurację. Możesz dodać wiele pul węzłów do jednego klastra, dzięki czemu można mieszać różne typy węzłów i rozmiary, aby dopasować je do obciążeń.
Większość właściwości puli węzłów jest niezmienna po utworzeniu. Przed utworzeniem puli węzłów uważnie zapoznaj się z dokumentacją referencyjną właściwości puli węzłów. Aby zmienić niezmienną właściwość, taką jak rozmiar maszyny wirtualnej, konfiguracja dysku, podsieć lub strefa dostępności, należy usunąć pulę węzłów i utworzyć nową.
Wymagania wstępne
- Istniejący klaster Azure Red Hat OpenShift z hostowanymi płaszczyznami sterowania. Jeśli jeszcze go nie masz, zobacz Tworzenie klastra Azure Red Hat OpenShift z hostowanymi płaszczyznami sterowania.
- Grupa zabezpieczeń sieciowych (NSG) powiązana z pulą węzłów i podsieciami integracji z siecią wirtualną VNet musi zezwalać na wymagany ruch. Aby uzyskać więcej informacji, zobacz Wymagany ruch dla sieciowej grupy zabezpieczeń.
- Azure CLI w wersji 2.67.0 lub nowszej. Użyj polecenia
az --version, aby znaleźć zainstalowaną wersję. Jeśli musisz zainstalować lub uaktualnić, zobacz Install Azure CLI. - Zainstalowano interfejs CLI OpenShift (
oc). Zobacz Pierwsze kroki z wierszem poleceń OpenShift. - (W przypadku szyfrowania kluczy zarządzanych przez klienta) Rola Key Vault Crypto Officer na potrzeby uprawnień do tworzenia klucza.
- Zainstalowano rozszerzenie CLI ARO HCP. Jeśli musisz go zainstalować, uruchom polecenie
az extension add --name aro.
Ustawianie zmiennych środowiskowych
Jeśli nie ustawiono jeszcze następujących zmiennych środowiskowych, przed kontynuowaniem ustaw je w powłoce. Zastąp wartości zastępcze własnymi.
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
Aby uzyskać listę obsługiwanych regionów, zobacz Wybieranie regionu klastra.
(Opcjonalnie) Konfigurowanie szyfrowania dysków systemu operacyjnego
Azure Red Hat OpenShift z hostowanymi płaszczyznami sterowania obsługuje dwie opcjonalne metody szyfrowania dla dysków systemu operacyjnego puli węzłów. Obie metody są niezmienne po utworzeniu puli węzłów i można je połączyć w tej samej puli węzłów.
- Szyfrowanie klucza zarządzanego przez klienta używa zestawu Azure Disk Encryption, który odwołuje się do klucza w Azure Key Vault w celu szyfrowania dysków systemu operacyjnego.
- Szyfrowanie na hoście zapewnia kompleksowe szyfrowanie danych maszyny wirtualnej. Dane przechowywane na hoście maszyny wirtualnej są szyfrowane w spoczynku i przesyłane do usługi Storage w postaci zaszyfrowanej.
Jeśli nie potrzebujesz żadnej opcji szyfrowania, przejdź do sekcji Tworzenie puli węzłów.
Tworzenie zestawu szyfrowania dysku
Aby zaszyfrować dyski systemowe puli węzłów przy użyciu kluczy zarządzanych przez klienta, utwórz zestaw Azure Disk Encryption Set odwołujący się do klucza przechowywanego w usłudze Key Vault. Następnie podczas tworzenia puli węzłów wskaż zestaw szyfrowania dysków.
Zestaw szyfrowania dysków musi znajdować się w tej samej subskrypcji i lokalizacji co klaster.
Note
Zestawy szyfrowania dysków szyfrują dyski systemowe puli węzłów. Ta funkcja jest niezależna od szyfrowania etcd, które szyfruje przechowywane w spoczynku dane o stanie klastra. Aby uzyskać informacje o szyfrowaniu etcd, zobacz Wybieranie strategii szyfrowania klastra.
Ważna
Odpowiadasz za utrzymanie zestawu Key Vault i szyfrowania dysków w Azure.
Jeśli nie utrzymujesz kluczy, pule węzłów korzystające z tych kluczy przestają działać.
Maszyny wirtualne przestaną działać, a w związku z tym wszystkie obciążenia uruchomione w węzłach, których dotyczy problem, przestaną działać.
Zespół Red Hat Site Reliability Engineering (SRE) nie może uzyskać dostępu do Twoich kluczy, tworzyć ich kopii zapasowych, replikować ich ani ich odzyskać.
Ustaw zmienne środowiskowe dla zasobów szyfrowania dysku. Zastąp wartości zastępcze własnymi.
KEYVAULT_NAME="<key-vault-name>" KEYVAULT_KEY_NAME="<key-name>" DISK_ENCRYPTION_SET_NAME="<disk-encryption-set-name>"Utwórz Key Vault z włączoną ochroną przeczyszczania w celu przechowywania klucza szyfrowania. Ochrona przed trwałym usunięciem uniemożliwia trwałe usunięcie usuniętego magazynu przed upływem okresu przechowywania, co chroni przed przypadkowym lub złośliwym skasowaniem.
az keyvault create \ --name $KEYVAULT_NAME \ --resource-group $CUSTOMER_RG_NAME \ --location $LOCATION \ --enable-purge-protection trueNote
Ochrona przed przeczyszczaniem jest wymagana i nie można jej wyłączyć po jej włączeniu. Domyślnie usunięty sejf jest przechowywany przez 90 dni. Aby umożliwić szybsze odzyskiwanie nazw, dodaj
--retention-days <number-of-days>(co najmniej 7 dni).Utwórz klucz szyfrowania w Key Vault.
az keyvault key create \ --vault-name $KEYVAULT_NAME \ --name $KEYVAULT_KEY_NAME \ --protection softwarePobierz identyfikator zasobu usługi Key Vault i adres URL klucza.
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)Utwórz zestaw szyfrowania dysków.
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_URLPobierz identyfikator zasobu zestawu szyfrowania dysków i identyfikator podmiotu zabezpieczeń tożsamości.
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)Przyznaj tożsamości zarządzanej zestawu szyfrowania dysków dostęp do usługi Key Vault. Następujące polecenie przypisuje rolę użytkownika szyfrowania usługi kryptograficznej Key Vault, która zapewnia wymagane
wrapkeyuprawnienia ,unwrapkeyigetklucza.az role assignment create \ --assignee $DES_IDENTITY \ --role "Key Vault Crypto Service Encryption User" \ --scope $KEYVAULT_ID
Rejestrowanie szyfrowania na hoście
Szyfrowanie na hoście zapewnia kompleksowe szyfrowanie danych maszyny wirtualnej. Dane przechowywane na hoście maszyny wirtualnej są szyfrowane w spoczynku i przesyłane do usługi Storage w postaci zaszyfrowanej.
Przed utworzeniem puli węzłów z szyfrowaniem na poziomie hosta zarejestruj funkcję EncryptionAtHost w ramach subskrypcji, jeśli nie została jeszcze zarejestrowana:
az feature register --namespace Microsoft.Compute --name EncryptionAtHost
Sprawdź stan rejestracji:
az feature show --namespace Microsoft.Compute --name EncryptionAtHost
Tworzenie puli węzłów
Ważna
Sieciowa grupa zabezpieczeń (NSG) skojarzona z podsiecią, w której wdrożono węzły robocze puli węzłów, oraz grupa NSG skojarzona z podsiecią integracji z siecią wirtualną (VNet) muszą zezwalać na ruch opisany w artykule Wymagany ruch sieciowej grupy zabezpieczeń. Jeśli sieciowa grupa zabezpieczeń (NSG) ma regułę „Odmów”, która blokuje wymagany ruch, utworzona pula węzłów pozostaje w stanie Provisioning do momentu przekroczenia limitu czasu operacji.
Zapisz następujący szablon Bicep jako
nodepool.bicep.Poniższy przykład tworzy pulę węzłów z dwoma
Standard_D8s_v6węzłami: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 } }Aby zaszyfrować dyski systemowe przy użyciu kluczy zarządzanych przez klienta, dodaj właściwość
encryptionSetIddo blokuosDiski ustaw jej wartość na identyfikator zasobu zestawu szyfrowania dysków:osDisk: { ... encryptionSetId: '<disk-encryption-set-resource-id>' }Aby włączyć szyfrowanie na poziomie hosta, dodaj właściwość
enableEncryptionAtHostdo blokuplatform:platform: { ... enableEncryptionAtHost: true }Note
Można połączyć
enableEncryptionAtHostzencryptionSetIdw ramach tej samej puli węzłów, aby korzystać zarówno z szyfrowania na hoście, jak i z szyfrowania przy użyciu kluczy zarządzanych przez klienta.Wdróż plik 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}"Sprawdź, czy nowe węzły mają status
Ready.oc get nodesPoniższe przykładowe dane wyjściowe przedstawiają węzły z dwóch pul węzłów. Węzły z nowej puli węzłów (
np-2) są gotowe: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
Utwórz pulę węzłów.
Poniższy przykład tworzy pulę węzłów z dwoma
Standard_D8s_v6węzłami: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 stableAby zaszyfrować dyski systemu operacyjnego przy użyciu kluczy zarządzanych przez klienta, dodaj
--disk-encryption-setargument z identyfikatorem zasobu Zestawu szyfrowania dysków:--disk-encryption-set "${DES_ID}"Aby włączyć szyfrowanie na hoście, dodaj polecenie
--encryption-at-host true. Obie opcje szyfrowania można połączyć w tej samej puli węzłów, dodając oba argumenty.Sprawdź, czy nowe węzły mają status
Ready.oc get nodesPoniższe przykładowe dane wyjściowe przedstawiają węzły z dwóch pul węzłów. Węzły z nowej puli węzłów są gotowe:
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
Informacje referencyjne o właściwościach puli węzłów
W poniższej tabeli opisano właściwości puli węzłów, które można skonfigurować. Właściwości oznaczone jako niezmienne można ustawić tylko podczas tworzenia puli węzłów.
| Majątek | Description | Wymagane | Niezmienialny |
|---|---|---|---|
name |
Nazwa puli węzłów. Musi mieć długość od 1 do 15 znaków, zaczynać się literą, kończyć literą lub cyfrą i zawierać tylko litery, cyfry i łączniki. | Yes | Yes |
version.id |
Wersja OpenShift dla puli węzłów, taka jak 4.22.1. Musi być mniejsza lub równa niż wersja płaszczyzny sterowania. |
Yes | No |
version.channelGroup |
Kanał aktualizacji OpenShift. Jedyną obsługiwaną wartością jest stable. |
No | No |
platform.vmSize |
Rozmiar maszyny wirtualnej Azure dla węzłów. Aby uzyskać informacje o obsługiwanych rozmiarach, zobacz Obsługiwane rozmiary maszyn wirtualnych. Dostępność zależy również od lokalizacji Azure klastra. | Yes | Yes |
platform.subnetId |
Identyfikator zasobu Azure podsieci. Musi należeć do tej samej sieci wirtualnej co klaster. Sieciowa grupa zabezpieczeń dołączona do tej podsieci musi zezwalać na wymagany ruch puli węzłów. Wartość domyślna dla podsieci klastra, jeśli nie zostanie określona. | No | Yes |
platform.availabilityZone |
Strefa dostępności dla puli węzłów. Jeśli nie zostanie określona, pula węzłów zostanie utworzona w zestawie dostępności. W każdej strefie dostępności można wdrożyć tylko jedną pulę węzłów. Aby uzyskać więcej informacji, zobacz Co to są strefy dostępności? | No | Yes |
platform.osDisk.sizeGiB |
Rozmiar dysku systemu operacyjnego w GiB. Wartość minimalna to 64. Wartość domyślna to 64 GiB. | No | Yes |
platform.osDisk.diskStorageAccountType |
Typ dysku zarządzanego. Prawidłowe wartości: Premium_LRS, , StandardSSD_LRSStandard_LRS. Wartość domyślna to Premium_LRS. Aby uzyskać więcej informacji, zobacz Typy dysków zarządzanych platformy Azure. |
No | Yes |
platform.osDisk.diskType |
Typ dysku systemu operacyjnego.
Managedprzechowuje dysk jako dysk zarządzany Azure.
Ephemeral przechowuje dysk w lokalnym magazynie maszyn wirtualnych, aby uzyskać mniejsze opóźnienia i szybsze operacje węzłów. Dyski efemeryczne wymagają rozmiaru maszyny wirtualnej o pojemności magazynu lokalnego równego lub większego niż rozmiar obrazu dysku systemu operacyjnego. Wartość domyślna to Managed. Aby uzyskać więcej informacji, zobacz: Dyski systemu operacyjnego efemeryczne dla maszyn wirtualnych Azure. |
No | Yes |
platform.osDisk.encryptionSetId |
Identyfikator zasobu platformy Azure obiektu DiskEncryptionSet służącego do szyfrowania dysków systemu operacyjnego. Musi znajdować się w tej samej subskrypcji i lokalizacji co klaster. Zobacz Tworzenie zestawu szyfrowania dysku. |
No | Yes |
platform.enableEncryptionAtHost |
Włącza szyfrowanie na hoście maszyny wirtualnej dla wszystkich węzłów w puli węzłów. Wartość domyślna to false. Zobacz Rejestrowanie szyfrowania na hoście. |
No | Yes |
replicas |
Liczba węzłów do udostępnienia. Wymagane, jeśli autoScaling nie zostało skonfigurowane. Minimalna wartość to 0. |
Warunkowy | No |
autoScaling |
Włącza skalowanie automatyczne dla puli węzłów. Wymagane, jeśli replicas nie zostało skonfigurowane. Ustaw autoScaling.min i autoScaling.max , aby zdefiniować zakres liczby węzłów. |
Warunkowy | No |
labels |
Etykiety Kubernetes przypisywane nowo utworzonym węzłom w postaci par klucz-wartość. | No | No |
taints |
Tainty Kubernetes zastosowane do nowo utworzonych węzłów. Każde skażenie wymaga elementów key i effect. Prawidłowe efekty: NoSchedule, , NoExecutePreferNoSchedule. |
No | No |
nodeDrainTimeoutMinutes |
Okres karencji w minutach dla obciążeń chronionych przez mechanizm Pod Disruption Budget podczas wymiany węzła. Zakres: 0–10080 (1 tydzień). Wartość 0 oznacza brak limitu czasu. Zastępuje wartość domyślną na poziomie klastra. |
No | No |
Note
Azure Red Hat OpenShift z hostowanymi płaszczyznami sterowania obsługuje maksymalnie 500 węzłów roboczych na klaster we wszystkich pulach węzłów. Pule węzłów wdrożone w strefie dostępności obsługują do 500 węzłów na pulę węzłów. Pule węzłów wdrożone w ramach zestawu dostępności obsługują do 200 węzłów na każdą pulę węzłów.