Aggiunta di nodi di lavoro ai cluster VPC
Cloud privato virtuale
Consulta le sezioni seguenti per informazioni su come aggiungere nodi di lavoro al tuo cluster VPC.
Prima di aggiungere nodi worker, assicurarsi che l'account VPC disponga di una quota sufficiente per la memoria vCPU,, la GPU, lo storage dell'istanza e le risorse di storage ottimizzate dell'istanza. VPC gestisce queste quote su base individuale per i nodi worker dell'istanza di server virtuale (VSI). Se si raggiunge un limite di quota, il provisioning dei nodi worker non riesce. Per verificare l'utilizzo attuale della quota, vedere Visualizzazione delle metriche delle risorse VPC. Per ulteriori informazioni, vedere Quote VPC e Perché i miei nodi worker VPC non riescono a eseguire il provisioning a causa dei limiti di quota?
Per incrementare la disponibilità delle tue applicazioni, puoi aggiungere i nodi di lavoro a una zona esistente o a più zone esistenti nel tuo cluster. Per un supporto nella protezione delle tue applicazioni dai malfunzionamenti della zona, puoi aggiungere le zone al tuo cluster.
Quando crei un cluster, viene eseguito il provisioning dei nodi di lavoro in un pool di lavoro. Dopo aver creato il cluster, puoi aggiungere altri nodi di lavoro a un pool ridimensionandolo o aggiungendo altro pool di lavoro. Per impostazione predefinita, il pool di lavoro esiste in un'unica zona. I cluster che hanno un pool di lavoro in un'unica zona sono denominati cluster a zona singola. Quando aggiungi altre zone al cluster, il pool di lavoro esiste tra le zone. I cluster che hanno un pool di lavoro distribuito tra più di una zona sono denominati cluster multizona.
Se hai un cluster multizona, mantieni bilanciate le sue risorse del nodo di lavoro. Assicurati che tutti i pool di lavoro vengano distribuiti tra le stesse zone e aggiungi o rimuovi i nodi di lavoro ridimensionando i pool invece di aggiungere singoli nodi. Dopo aver configurato il tuo pool di nodi di lavoro, puoi configurare il cluster autoscaler per aggiungere o rimuovere automaticamente i nodi di lavoro dai pool di nodi di lavoro in base alle tue richieste di risorse del carico di lavoro.
Lo storage locale secondario deve essere aggiunto al momento della creazione del pool di lavoratori. L'aggiunta manuale di storage dal livello dell'infrastruttura VPC dopo la creazione di un pool di lavoratori non è supportata e non comporta l'aggiunta di storage effimero nel cluster.
Stai cercando di aggiungere i nodi di lavoro ai cluster Classic? Vedi Aggiunta di nodi di lavoro ai cluster classici.
Ridimensionamento di un pool di lavoro
Puoi aggiungere o ridurre il numero di nodi di lavoro nel tuo cluster ridimensionando un pool di lavoro esistente, indipendentemente dal fatto che il pool di lavoro si trovi in un'unica zona o sia distribuito tra più zone.
Prima di iniziare, assicurati di disporre del ruolo di accesso alla piattaforma IAM "Operatore" o "Amministratore".
Per ridimensionare il pool di lavoro, modifica il numero di nodi di lavoro che il pool di lavoro distribuisce in ciascuna zona:
- Ottieni il nome del pool di lavoro che vuoi ridimensionare.
ibmcloud oc worker-pool ls --cluster CLUSTER-NAME - Ridimensiona il pool di lavoro indicando il numero di nodi di lavoro che vuoi distribuire in ciascuna zona.
ibmcloud oc worker-pool resize --cluster CLUSTER-NAME --worker-pool POOL_NAME --size-per-zone NUMBER_OF_WORKERS_PER_ZONE - Verifica che il pool di lavoro sia stato ridimensionato.
Esempio di output per un pool di worker distribuito su due zone,ibmcloud oc worker ls --cluster CLUSTER-NAME --worker-pool POOL_NAMEus-south-1eus-south-2, il cui numero di nodi worker è stato ridimensionato a due per zona:ID Public IP Private IP Machine Type State Status Zone Version kube-dal10-crb20b637238ea471f8d4a8b881aae4962-w7 169.xx.xxx.xxx 10.xxx.xx.xxx b3c.4x16 normal Ready us-south-1 1.35 kube-dal10-crb20b637238ea471f8d4a8b881aae4962-w8 169.xx.xxx.xxx 10.xxx.xx.xxx b3c.4x16 normal Ready us-south-1 1.35 kube-dal12-crb20b637238ea471f8d4a8b881aae4962-w9 169.xx.xxx.xxx 10.xxx.xx.xxx b3c.4x16 normal Ready us-south-2 1.35 kube-dal12-crb20b637238ea471f8d4a8b881aae4962-w10 169.xx.xxx.xxx 10.xxx.xx.xxx b3c.4x16 normal Ready us-south-2 1.35
Creazione di un nuovo pool di lavoro
Vuoi creare un nuovo pool di nodi di lavoro su host dedicati? Vedi Configurazione di host dedicati nella CLI.
Prima di iniziare, assicurati di disporre del ruolo di accesso alla piattaforma IAM "Operatore" o "Amministratore".
-
Richiama l'ID VPC (VPC ID) e le zone di lavoro (Worker Zones) del tuo cluster e scegli la zona in cui vuoi distribuire i nodi di lavoro nel tuo pool di lavoro. È possibile scegliere una qualsiasi delle zone di lavoro esistenti del proprio cluster oppure aggiungere una delle sedi multizona relative alla regione in cui si trova il proprio cluster. È possibile visualizzare l'elenco delle zone disponibili eseguendo il comando
ibmcloud oc zone ls --provider vpc-gen2``.ibmcloud oc cluster get --cluster CLUSTER-NAMEOutput di esempio
... VPC ID: <VPC_ID> ... Worker Zones: us-south-1, us-south-2, us-south-3 -
Per ciascuna zona, prendi nota dell'ID della sottorete VPC che vuoi utilizzare per il pool di lavoro. Se non hai una sottorete VPC nella zona, crea una sottorete VPC. Le sottoreti VPC forniscono indirizzi IP per i tuoi nodi di lavoro e servizi del programma di bilanciamento del carico nel cluster, per cui crea una sottorete VPC con un numero sufficiente di indirizzi IP, ad esempio 256.
ibmcloud oc subnets --zone <ZONE> --provider vpc-gen2 --vpc-id <VPC_ID> -
Per ogni zona, verifica le opzioni disponibili per i nodi di lavoro.
ibmcloud oc flavors --zone <ZONE> --provider vpc-gen2 -
Facoltativo: per crittografare il disco locale di ogni nodo di lavoro nel pool di nodi di lavoro, ottieni i dettagli del tuo provider KMS (key management service). Se si desidera utilizzare un'istanza KMS da un account differente, è necessario eseguire queste operazioni nell'account in cui risiede l'istanza KMS.
-
Completa la procedura in Nodi di lavoro VPC per creare la tua istanza KMS e per autorizzare il tuo servizio in IAM.
-
Elencare le istanze KMS disponibili e prendere nota dell'ID.
ibmcloud oc kms instance ls ``` 1. Elenca le chiavi root disponibili per l'istanza KMS che vuoi utilizzare e prendi nota dell'**ID**. ```sh {: pre} ibmcloud oc kms crk ls --instance-id <KMS_instance_ID> ``` -
-
Crea un pool di lavoro. Per ulteriori opzioni, vedi la documentazione della CLI.
ibmcloud oc worker-pool create vpc-gen2 --name NAME --cluster CLUSTER-NAME --flavor FLAVOR --size-per-zone NUMBER_OF_WORKER_NODES [--label KEY=VALUE] [--vpc-id] [[--kms-account-id <KMS_account_ID>] --kms-instance <KMS_instance_ID> --crk <root_key_ID>] [--dedicated-host-pool <dedicated-host-pool>] [--security-group <group-id>] [--operating-system SYSTEM]--label KEY=VALUE- Facoltativo: etichettare automaticamente i nodi di lavoro che sono nel pool con la coppia di etichette
key=value. --vpc-id VPC- Specificare questa opzione se il pool di worker è il primo del cluster.
--operating-system RHEL_9_64|REDHAT_8_64|RHCOS- Facoltativo. Il sistema operativo dei nodi di lavoro nel tuo cluster. Per un elenco dei sistemi operativi disponibili in base alla versione del cluster, vedere le informazioni sulla versione Red Hat OpenShift on IBM Cloud. Se non viene specificata alcuna opzione, viene utilizzato il sistema operativo predefinito che corrisponde alla versione del cluster.
--kms-account-id ACCOUNT- Facoltativo: specifica l'account in cui risiede la tua istanza KMS. Includere anche le opzioni
--kms-instance-ide--crk. --kms-instance INSTANCE- Facoltativo: specifica il tuo ID istanza KMS. Includere anche le opzioni
--kms-account-ide--crk. --crk KEY- Facoltativo: specifica la tua chiave root KMS. Includere anche le opzioni
--kms-account-ide--kms-instance. --security-group GROUP- Specificare questa opzione per collegare ulteriori gruppi di protezione ai nodi di lavoro nel pool di lavoro. Includi gli ID gruppo di protezione che vuoi allegare.
--dedicated-host-pool POOL- Specificare questa opzione se si desidera creare il proprio pool di nodi di lavoro su host dedicati.
-
Verifica che il pool di nodi di lavoro sia stato creato.
ibmcloud oc worker-pool ls --cluster CLUSTER-NAME -
Per impostazione predefinita, l'aggiunta di un pool di lavoro crea un pool senza zone. Per distribuire i nodi di lavoro in una zona, devi aggiungere le zone precedentemente richiamate al pool di lavoro. Se vuoi estendere i tuoi nodi di lavoro su più zone, ripeti questo comando per ogni zona.
ibmcloud oc zone add vpc-gen2 --zone ZONE --subnet-id SUBNET_ID --cluster CLUSTER-NAME --worker-pool WORKER_POOL_NAME -
Verifica che sia stato eseguito il provisioning dei nodi di lavoro nella zona che hai aggiunto. I tuoi nodi di lavoro sono pronti quando lo Stato cambia da
provisioninganormal.ibmcloud oc worker ls --cluster CLUSTER-NAME --worker-pool POOL_NAMEOutput di esempio
ID Primary IP Flavor State Status Zone Version kube-<ID_string>-<cluster_name>-<pool_name>-00000002 10.xxx.xx.xxx c2.2x4 provisioning Infrastructure instance status is 'pending' us-south-1 - kube-<ID_string>-<cluster_name>-<pool_name>-00000003 10.xxx.xx.xxx c2.2x4 normal Ready us-south-1 1.35_1511
Aggiunta di una zona a un pool di lavoro
Puoi suddividere il tuo cluster VPC tra più zone all'interno di una regione aggiungendo una zona al tuo pool di lavoro esistente.
Quando aggiungi una zona a un pool di nodi di lavoro, i nodi di lavoro definiti nel tuo pool di nodi di lavoro vengono forniti nella nuova zona e considerati per la futura pianificazione del carico di lavoro. Red Hat OpenShift on IBM Cloud aggiunge
automaticamente l'etichetta failure-domain.beta.kubernetes.io/region per la regione e l'etichetta failure-domain.beta.kubernetes.io/zone per la zona a ogni nodo di lavoro. Il programma di pianificazione (scheduler)
Kubernetes usa queste tabelle per estendere i pod tra le zone all'interno della stessa regione.
Se nel cluster sono presenti più pool di worker, aggiungi la zona a tutti loro in modo che i nodi worker siano distribuiti in modo uniforme all'interno del cluster. Nota che quando aggiungi i nodi di lavoro al tuo cluster, i nuovi nodi di lavoro
eseguono la stessa versione major.minor del master cluster, ma l'ultima patch del nodo di lavoro di tale versione major.minor.
Prima di iniziare: Assicurati di disporre del documento " [Operatore oppure il ruolo di accesso alla piattaforma IAM " Amministratore "]" (/docs/openshift?topic=openshift-iam-platform-access-roles).
-
Ottieni l'Ubicazione del tuo cluster e prendi nota delle zone di lavoro (Worker Zones) e dell'ID VPC (VPC ID) esistenti.
ibmcloud oc cluster get --cluster CLUSTER-NAMEOutput di esempio
... VPC ID: <VPC_ID> Workers: 3 Worker Zones: us-south-1 ... Location: Dallas -
Elenca le zone disponibili per l'ubicazione del tuo cluster per visualizzare le altre zone che puoi aggiungere.
ibmcloud oc zone ls --provider vpc-gen2 | grep LOCATION -
Elenca le sottoreti VPC disponibili per ogni zona che vuoi aggiungere. Se non hai una sottorete VPC nella zona, crea una sottorete VPC. Le sottoreti VPC forniscono indirizzi IP per i tuoi nodi di lavoro e servizi del programma di bilanciamento del carico nel cluster, per cui crea una sottorete VPC con un numero sufficiente di indirizzi IP, ad esempio 256. Non è possibile modificare in un secondo momento il numero di indirizzi IP di una sottorete VPC.
ibmcloud oc subnets --zone ZONE --provider vpc-gen2 --vpc-id VPC_ID -
Elenca i pool di lavoro nel tuo cluster e prendi nota dei loro nomi.
ibmcloud oc worker-pool ls --cluster CLUSTER-NAME -
Aggiungi la zona al tuo pool di nodi di lavoro. Ripeti questa procedura per ogni zona che vuoi aggiungere al tuo pool di lavoro. Se hai più pool di nodi di lavoro, aggiungi la zona a tutti i tuoi pool di nodi di lavoro in modo che il tuo cluster sia bilanciato in tutte le zone. Includere l'opzione "
--worker-pool" per ogni pool di worker.Se vuoi utilizzare sottoreti VPC diverse per pool di lavoro differenti, ripeti questo comando per ogni sottorete e i suoi pool di lavoro corrispondenti. I nuovi nodi di lavoro vengono aggiunti alle sottoreti VPC che hai specificato, ma le sottoreti VPC per i nodi di lavoro esistenti non vengono modificate.
ibmcloud oc zone add vpc-gen2 --zone ZONE --subnet-id SUBNET_ID --cluster CLUSTER-NAME --worker-pool WORKER_POOL_NAME -
Verifica che la zona sia stata aggiunta al tuo cluster. Ricerca la zona aggiunta nel campo Worker Zones dell'output. Tieni presente che il numero totale di nodi di lavoro nel campo Workers è aumentato in quanto è stato eseguito il provisioning dei nuovi nodi di lavoro nella zona aggiunta.
ibmcloud oc cluster get --cluster CLUSTER-NAMEOutput di esempio
Workers: 9 Worker Zones: us-south-1, us-south-2, us-south-3 -
Per esporre le applicazioni con Ingress, aggiorna il programma di bilanciamento del carico VPC che espone il router per includere la sottorete per la nuova zona nel cluster.