Creazione di un pool di nodi di lavoro OKE
Scopri come creare pool di nodi di lavoro OKE in Compute Cloud@Customer per un cluster di carichi di lavoro.
I nodi sono istanze di computazione Cloud@Customer. Quando si crea un pool di nodi di lavoro, si specifica il numero di nodi da creare e altri parametri che definiscono le istanze.
Non è possibile personalizzare gli script OKE cloud-init.
Per configurare le impostazioni proxy, utilizzare l'interfaccia CLI o l'API per impostare il proxy nei metadati del nodo. Se il cluster utilizza la rete pod VCN nativa, aggiungere 169.254.169.254 all'impostazione noproxy.
Il supporto CA personalizzato è disponibile solo utilizzando l'interfaccia CLI (oci ce node-pool create e oci ce node-pool update).
-
Nel menu di navigazione della Console di computazione Cloud@Customer selezionare Container, quindi Cluster Kubernetes (OKE).
Se il cluster a cui si desidera collegare un pool di nodi non è elencato, selezionare un compartimento diverso dal menu del compartimento nella parte superiore della pagina.
-
Selezionare il nome del cluster a cui si desidera aggiungere un pool di nodi.
-
Nella pagina dei dettagli del cluster, scorrere fino alla sezione Risorse e selezionare Pool di nodi.
-
Nell'elenco Pool di nodi selezionare il pulsante Aggiungi pool di nodi.
-
Nella finestra di dialogo Aggiungi pool di nodi fornire le informazioni riportate di seguito.
-
Nome: il nome del nuovo pool di nodi. Evitare di fornire informazioni riservate.
-
Compartimento: compartimento in cui creare il nuovo pool di nodi.
-
Opzioni pool di nodi: nel campo Conteggio nodi immettere il numero di nodi desiderato in questo pool di nodi. L'impostazione predefinita è 0. Il numero massimo è 128 per cluster, che può essere distribuito su più pool di nodi.
-
Gruppo di sicurezza di rete: se si seleziona la casella per abilitare i gruppi di sicurezza di rete, selezionare Aggiungi gruppo di sicurezza di rete e selezionare un gruppo di sicurezza di rete dall'elenco a discesa. Potrebbe essere necessario modificare il compartimento per trovare il gruppo NSG desiderato. La VNIC primaria della subnet del worker verrà collegata a questo gruppo di sicurezza di rete.
-
Configurazione posizionamento
-
Subnet nodo lavoratore: selezionare una subnet con configurazione quale la subnet "worker" descritta in Creazione di una subnet lavoratore (overlay canale) o Creazione di una subnet lavoratore (pod VCN-nativo). Per un cluster pubblico, creare la versione privata NAT della subnet "worker". Per un cluster privato, creare la versione privata della subnet "worker" solo per la VCN. Selezionare una sola subnet. La subnet deve disporre di regole impostate per comunicare con l'endpoint del piano di controllo. La subnet deve utilizzare una tabella di instradamento privata e deve disporre di una lista di sicurezza simile a quella della lista di sicurezza worker-seclist descritta in Creazione di una subnet lavoratore (overlay canale) o Creazione di una subnet lavoratore (pod VCN-nativo).
-
Dominio di errore: selezionare un dominio di errore o selezionare Selezione automatica del dominio di errore migliore, che è l'opzione predefinita.
-
-
Immagine di origine: selezionare un'immagine.
-
Selezionare Tipo di origine immagine piattaforma.
-
Selezionare un'immagine dalla lista.
La lista di immagini contiene le colonne Sistema operativo, Versione sistema operativo e Versione Kubernetes. È possibile utilizzare la freccia del menu a discesa a destra della versione del sistema operativo o della versione Kubernetes per selezionare una versione diversa. Se più immagini hanno la stessa versione di Kubernetes, selezionare l'immagine più recente, in base alla data nel nome dell'immagine.
Se l'immagine che si desidera utilizzare non è elencata, attenersi alla procedura CLI e specificare l'OCID dell'immagine. Per ottenere l'OCID dell'immagine desiderata, utilizzare il comando
ce node-pool getper un pool di nodi in cui è stata utilizzata questa immagine in precedenza.Nota
L'immagine specificata non deve avere una versione Kubernetes più recente della versione Kubernetes specificata al momento della creazione del cluster. La versione Kubernetes per il cluster si trova in una colonna della tabella lista cluster.
-
-
Forma: selezionare una forma per i nodi di lavoro. La forma è VM.PCAStandard.E5. Flessibile e non puoi cambiarlo.
Specificare il numero di OCPU che si desidera. Facoltativamente, è possibile specificare la quantità totale di memoria desiderata. Il valore predefinito per gigabyte di memoria è 16 volte il numero specificato per le OCPU. Selezionare all'interno di ciascun campo valore per visualizzare i valori minimo e massimo consentiti.
-
Volume di avvio: (Opzionale) selezionare la casella per specificare una dimensione del volume di avvio personalizzata.
Dimensione volume di avvio (GB): viene visualizzata la dimensione predefinita del volume di avvio per l'immagine selezionata. Per specificare una dimensione maggiore, immettere un valore compreso tra 50 e 16384 in gigabyte (da 50 GB a 16 TB) oppure utilizzare le frecce di incremento e decremento.
Se si specifica una dimensione del volume di avvio personalizzata, è necessario estendere la partizione per sfruttare le dimensioni maggiori. Le immagini della piattaforma Oracle Linux includono il pacchetto
oci-utils. Utilizzare il comandooci-growfsdel pacchetto per estendere la partizione root e quindi ingrandire il file system. Vedere oci-growfs. -
Comunicazione pod (solo cluster di rete pod nativi per VCN)
Subnet di comunicazione pod: selezionare una subnet con configurazione simile a quella della subnet "pod" descritta in Creazione di una subnet pod (VCN-Native Pod).
Numero di pod per nodo: il numero massimo di pod che si desidera eseguire su un singolo nodo di lavoro in un pool di nodi. Il valore predefinito per il server di amministrazione è 31. È possibile immettere un numero compreso tra 1 e 110. Il numero di VNIC consentite dalla forma specificata (vedere "Forma" sopra) limita questo numero massimo di pod. Vedere Forme nodo e numero di pod. Per conservare lo spazio di indirizzi della subnet pod, ridurre il numero massimo di pod che si desidera eseguire su un singolo nodo di lavoro. Ciò riduce il numero di indirizzi IP preallocati nella subnet del pod.
Se si seleziona la casella Usa regole di sicurezza nel gruppo di sicurezza di rete (NSG), selezionare il pulsante Aggiungi gruppo di sicurezza di rete e selezionare un gruppo NSG dall'elenco a discesa. Potrebbe essere necessario modificare il compartimento per trovare il gruppo NSG desiderato. Le VNIC secondarie della subnet pod verranno collegate a questo gruppo NSG.
-
Cordone e scarico: (facoltativo) utilizzare le frecce per ridurre o aumentare il numero di minuti di durata della tolleranza di rimozione. Impossibile deselezionare "Forza interruzione dopo periodo proroga". I nodi vengono eliminati dopo che i relativi pod sono stati rimossi o alla fine della durata di tolleranza dello sfratto, anche se non tutti i pod vengono rimossi.
Per una descrizione della durata della proroga del cordone e dello scarico e della rimozione, selezionare la scheda CLI in questa pagina e vedere Impostazioni di eliminazione del pool di nodi e nodi.
-
Chiave SSH: la chiave SSH pubblica per i nodi di lavoro. Caricare il file della chiave pubblica oppure copiare e incollare il contenuto del file.
-
Etichette Kubernetes: selezionare il pulsante Aggiungi etichetta Kubernetes e immettere un nome e un valore di chiave. È possibile utilizzare queste etichette per indirizzare i pod per la pianificazione su nodi o gruppi di nodi specifici. Vedere la descrizione e l'esempio nella procedura CLI.
-
Tag pool di nodi: tag definite o in formato libero per la risorsa del pool di nodi.
Nota
Non specificare valori per la tag definita OraclePCA-OKE.cluster_id o per la tag in formato libero ClusterResourceIdentifier. Questi valori di tag vengono generati dal sistema e applicati solo ai nodi (istanze), non alla risorsa del pool di nodi.
-
Tag nodo: tag definite o in formato libero applicate a ogni nodo del pool di nodi.
Importante
Non specificare valori per la tag definita OraclePCA-OKE.cluster_id o per la tag in formato libero ClusterResourceIdentifier. I valori di tag vengono generati dal sistema.
-
-
Selezionare Aggiungi pool di nodi.
Viene visualizzata la pagina dei dettagli per il pool di nodi. In Risorse, selezionare Richieste di lavoro per visualizzare l'avanzamento della creazione del pool di nodi e vedere i nodi aggiunti alla lista Nodi. Lo stato della richiesta di lavoro viene Accettato finché il cluster non è in stato Attivo o Non riuscito.
Per identificare questi nodi in una lista di istanze, tenere presente che i nomi di questi nodi sono nel formato
oke-ID, doveIDè i primi 32 caratteri dopopca_namenell'OCID del pool di nodi. Cercare le istanze nella lista i cui nomi contengono la stringaIDdi questo OCID pool di nodi.Per identificare questi nodi in una lista di istanze, tenere presente che i nomi di questi nodi contengono i primi 32 caratteri dopo il
ccc_namedell'OCID del pool di nodi e contengono l'OCID del cluster nella tag OraclePCA-OKE.cluster_id.
Operazioni successive:
-
Configurare i registri o i repository necessari per i nodi di lavoro. Assicurarsi di avere accesso a un registro container pubblico o intranet autogestito da utilizzare con il servizio OKE e le immagini dell'applicazione.
-
Crea un servizio per esporre le applicazioni containerizzate all'esterno di Compute Cloud@Customer. Vedere Esposizione di applicazioni containerizzate.
-
Creare uno storage persistente da utilizzare per le applicazioni. Vedere Aggiunta di storage per le applicazioni containerizzate.
-
Utilizzare il comando oci ce node-pool create e i parametri richiesti per creare un nuovo pool di nodi.
oci ce node-pool create --cluster-id <cluster_OCID> --compartment-id <compartment_OCID> --name <pool_name> --node-shape <node_shape_name> [OPTIONS]-
Ottenere le informazioni necessarie per eseguire il comando.
-
OCID del compartimento in cui si desidera creare il pool di nodi:
oci iam compartment list -
OCID del cluster per questo pool di nodi:
oci ce cluster list
-
Il nome del pool di nodi. Evitare di fornire informazioni riservate.
-
Configurazione del posizionamento per i nodi, inclusi l'OCID della subnet di lavoro e il dominio di errore. Vedere la descrizione "Configurazione posizionamento" nella procedura di calcolo dell'interfaccia utente Web. Utilizzare il comando seguente per visualizzare il contenuto e il formato di questa opzione:
$ oci ce node-pool create --generate-param-json-input placement-configsUtilizzare il comando seguente per elencare i domini di errore:
oci iam fault-domain list. Non specificare più di un dominio di errore o più subnet nella configurazione del posizionamento. Per consentire al sistema di selezionare i domini di errore migliori, non specificare alcun dominio di errore. -
(Solo cluster di pod networking VCN nativi) L'OCID della subnet pod. Vedere Creazione di una subnet pod (pod nativo VCN). Vedere anche la descrizione in Comunicazione pod nella procedura di calcolo dell'interfaccia utente Web. Utilizzare l'opzione
--pod-subnet-ids. Sebbene il valore dell'opzione--pod-subnet-idssia un array, è possibile specificare un solo OCID subnet pod.Il numero massimo di pod che si desidera eseguire su un singolo nodo di lavoro in un pool di nodi. Utilizzare l'opzione
--max-pods-per-node. Il valore predefinito per il server di amministrazione è 31. È possibile immettere un numero compreso tra 1 e 110. Il numero di VNIC consentite dalla forma specificata (vedere "Il nome della forma" di seguito) limita questo numero massimo di pod. Vedere Forme nodo e numero di pod. Per conservare lo spazio di indirizzi della subnet pod, ridurre il numero massimo di pod che si desidera eseguire su un singolo nodo di lavoro. Ciò riduce il numero di indirizzi IP preallocati nella subnet del pod.(Facoltativo) L'OCID del gruppo di sicurezza di rete da utilizzare per i pod in questo pool di nodi. Utilizzare l'opzione
--pod-nsg-ids. È possibile specificare fino a cinque gruppi NSG. -
OCID dell'immagine da utilizzare per i nodi in questo pool di nodi.
Utilizzare il comando seguente per ottenere l'OCID dell'immagine che si desidera utilizzare:
$ oci compute image list --compartment-id compartment_OCIDSe l'immagine che si desidera utilizzare non è elencata, è possibile ottenere l'OCID dell'immagine dall'output del comando
ce node-pool getper un pool di nodi in cui è stata utilizzata questa immagine in precedenza.Nota
L'immagine specificata deve avere
-OKE-nel relativodisplay-namee non deve avere una versione Kubernetes più recente della versione Kubernetes specificata al momento della creazione del cluster.La versione Kubernetes per il cluster viene visualizzata nell'output
cluster list. La versione di Kubernetes per l'immagine viene visualizzata nella proprietàdisplay-namenell'outputimage list. La versione Kubernetes dell'immagine seguente è la 1.29.9."display-name": "uln-pca-Oracle-Linux8-OKE-1.29.9-20250325.oci"
Non specificare l'opzione
--kubernetes-versionnel comandonode-pool create.È possibile specificare una dimensione del volume di avvio personalizzata in gigabyte. La dimensione predefinita del volume di avvio è 50 GB. Per specificare una dimensione del volume di avvio personalizzata, utilizzare l'opzione
--node-source-detailsper specificare sia la dimensione del volume di avvio che l'immagine. Impossibile specificare sia--node-image-idche--node-source-details. Utilizzare il comando seguente per visualizzare il contenuto e il formato dell'opzione Dettagli origine nodo.$ oci ce node-pool create --generate-param-json-input node-source-detailsSe si specifica una dimensione del volume di avvio personalizzata, è necessario estendere la partizione per sfruttare le dimensioni maggiori. Le immagini della piattaforma Oracle Linux includono il pacchetto
oci-utils. Utilizzare il comandooci-growfsdel pacchetto per estendere la partizione root e quindi ingrandire il file system. Vedere oci-growfs. -
Il nome della forma dei nodi di lavoro in questo pool di nodi. Per i sistemi Compute Cloud@Customer X10, la forma dei nodi del piano di controllo è VM.PCAStandard.E5. Flexfield.
Specificare la configurazione della forma, come mostrato nell'esempio seguente. Specificare un valore per
ocpus. La proprietàmemoryInGBsè facoltativa; il valore predefinito in gigabyte è 16 volte il numero diocpus.--node-shape-config '{"ocpus": 32, "memoryInGBs": 512}'Nota
Alloca almeno 2 OCPU e 32 GB di memoria per ogni 10 pod in esecuzione. Potrebbe essere necessario allocare più risorse, a seconda dei carichi di lavoro pianificati. Vedere Resource Management per pod e container.
-
(Facoltativo) L'OCID del gruppo di sicurezza di rete da utilizzare per i nodi in questo pool di nodi. Utilizzare l'opzione
. Non specificare più di un gruppo NSG.--nsg-ids -
(Facoltativo) Etichette. L'impostazione delle etichette sui nodi consente di indirizzare i pod per la pianificazione su nodi o gruppi di nodi specifici. Utilizzare questa funzionalità per garantire che pod specifici vengano eseguiti solo su nodi con determinate proprietà di isolamento, sicurezza o normative.
Utilizzare l'opzione
--initial-node-labelsper aggiungere etichette ai nodi. Le etichette sono una lista di coppie chiave/valore da aggiungere ai nodi dopo l'accesso al cluster Kubernetes. Per ulteriori informazioni sui limiti dei metadati, vedere Limitazioni chiave dei metadati.Di seguito è riportata un'etichetta di esempio da applicare ai nodi nel pool di nodi.
--initial-node-labels '[{"key":"disktype","value":"ssd"}]Un modo semplice per selezionare i nodi in base alle loro etichette è utilizzare
nodeSelectornella configurazione del pod. Kubernetes pianifica il pod solo sui nodi con ciascuna delle etichette specificate nella sezionenodeSelector.L'estratto di esempio riportato di seguito da una configurazione pod specifica che i pod che utilizzano questa configurazione devono essere eseguiti sui nodi con etichetta del tipo di disco
ssd.nodeSelector: disktype: ssd
-
(Facoltativo) Metadati del nodo. Utilizzare l'opzione
per collegare i dati utente personalizzati ai nodi. Per un esempio specifico, vedere l'elemento delle impostazioni proxy riportato di seguito.--node-metadataVedere Limitazioni chiave dei metadati. La dimensione massima dei metadati del nodo è di 32.000 byte.
-
(Opzionale) Impostazioni proxy. Se la rete richiede impostazioni proxy per consentire ai nodi di lavoro di raggiungere registri o repository esterni, ad esempio, creare un argomento per l'opzione
.--node-metadataNell'argomento dell'opzione
, fornire i valori per--node-metadatacrio-proxyecrio-noproxycome mostrato nell'argomento del file di esempio seguente:{ "crio-proxy": "http://<your_proxy>.<your_domain_name>:<your_port>", "crio-noproxy": "localhost,127.0.0.1,<your_domain_name>,ocir.io,<Kubernetes_cidr>,<pods_cidr>" }Se il cluster utilizza la rete pod VCN nativa, aggiungere 169.254.169.254 all'impostazione noproxy, come nell'esempio riportato di seguito.
"crio-noproxy": "localhost,127.0.0.1,your_domain_name,ocir.io,Kubernetes_cidr,pods_cidr,169.254.169.254" -
(Facoltativo) Impostazioni di eliminazione dei nodi e dei pool di nodi. È possibile specificare come gestire l'eliminazione dei nodi quando si elimina un pool di nodi, si elimina un nodo specificato, si diminuisce la dimensione del pool di nodi o si modifica la configurazione di posizionamento dei nodi del pool di nodi. Questi parametri di eliminazione dei nodi possono essere impostati o modificati anche quando si aggiorna il pool di nodi, si elimina un nodo specificato o si elimina il pool di nodi.
Per specificare le impostazioni di eliminazione del pool di nodi, creare un argomento per l'opzione
--node-eviction-node-pool-settings. È possibile specificare la durata della tolleranza di rimozione (evictionGraceDuration) per i nodi. I nodi vengono sempre eliminati dopo che i relativi pod sono stati rimossi o alla fine della durata di tolleranza di rimozione.-
Durata grazia rimozione. Questo valore specifica il periodo di tempo necessario per consentire il cordone e il drenaggio dei nodi di lavoro.
Un nodo collegato non può avere nuovi pod posizionati su di esso. I pod esistenti sul nodo non sono interessati.
Quando un nodo viene svuotato, i contenitori di ciascun pod terminano in modo normale ed eseguono qualsiasi cleanup necessario.
Il valore della durata della tolleranza di rimozione è espresso in formato ISO 8601. Il valore predefinito e il valore massimo sono 60 minuti (PT60M). Il valore minimo è 20 secondi (PT20S). OKE cerca sempre di eliminare i nodi per almeno 20 secondi.
-
Forza eliminazione. I nodi vengono sempre eliminati dopo che i relativi pod sono stati rimossi o alla fine della durata di tolleranza di rimozione. Dopo la durata di tolleranza di rimozione predefinita o specificata, il nodo viene eliminato anche se uno o più contenitori pod non vengono completamente svuotati.
Di seguito è riportato un argomento di esempio per l'opzione
--node-eviction-node-pool-settings. Se si include la proprietàisForceDeleteAfterGraceDuration, il valore deve esseretrue. I nodi vengono sempre eliminati dopo che i relativi pod sono stati rimossi o alla fine della durata di tolleranza di rimozione.--node-eviction-node-pool-settings '{"evictionGraceDuration": "PT30M", "isForceDeleteAfterGraceDuration": true}'Nota
Se si utilizza Terraform e si specifica
node_eviction_node_pool_settings, è necessario impostare in modo esplicitois_force_delete_after_grace_durationsu true, anche se true è il valore predefinito. L'impostazione della proprietàis_force_delete_after_grace_durationnon è facoltativa se si utilizza Terraform. -
-
(Opzionale) Tag. Aggiungere tag definite o in formato libero per la risorsa del pool di nodi utilizzando le opzioni
--defined-tagso--freeform-tags. Non specificare i valori per la tag definita OraclePCA-OKE.cluster_id o per la tag in formato libero ClusterResourceIdentifier. Questi valori di tag vengono generati dal sistema e applicati solo ai nodi (istanze), non alla risorsa del pool di nodi.Per aggiungere tag definite o in formato libero a tutti i nodi nel pool di nodi, utilizzare le opzioni
--node-defined-tagse--node-freeform-tags.Importante
Non specificare i valori per la tag definita OraclePCA-OKE.cluster_id o per la tag in formato libero ClusterResourceIdentifier. I valori di tag vengono generati dal sistema.
-
-
Eseguire il comando Crea pool di nodi.
Esempio:
Vedere la procedura Uso della console per informazioni sulle opzioni mostrate in questo esempio e su altre opzioni quali
--node-boot-volume-size-in-gbsensg-ids. L'opzione--pod-subnet-idsè applicabile solo se il cluster utilizza la rete pod VCN nativa.$ oci ce node-pool create \ --cluster-id ocid1.cluster.unique_ID --compartment-id ocid1.compartment.unique_ID \ --name node_pool_name --node-shape shape_name --node-image-id ocid1.image.unique_ID \ --placement-configs '[{"availabilityDomain":"AD-1","subnetId":"ocid1.subnet.unique_ID"}]' \ --pod-subnet-ids '["ocid1.subnet.unique_ID"]' --size 10 --ssh-public-key "public_key_text"L'output del comando
node-pool createè lo stesso dell'output del comandonode-pool get. Viene visualizzato l'OCID cluster e viene visualizzato un breve riepilogo di ogni nodo. Per ulteriori informazioni su un nodo, utilizzare il comandocompute instance getcon l'OCID del nodo.Utilizzare il comando
work-request getper controllare lo stato dell'operazione di creazione del pool di nodi. L'OCID della richiesta di lavoro si trova increated-by-work-request-idnella sezionemetadatadell'outputcluster get.$ oci ce work-request get --work-request-id workrequest_OCIDLo stato della richiesta di lavoro sarà
ACCEPTEDfinché il cluster non sarà in stato Attivo o Non riuscito.Per identificare questi nodi in una lista di istanze, tenere presente che i nomi di questi nodi sono nel formato
oke-ID, doveIDè i primi 32 caratteri dopo il nome nell'OCID del pool di nodi. Cercare le istanze nella lista i cui nomi contengono la stringaIDdi questo OCID pool di nodi.
Per un elenco completo di comandi, flag e opzioni dell'interfaccia CLI, vedere Riferimento per la riga di comando.
Operazioni successive:
-
Configurare i registri o i repository necessari per i nodi di lavoro. Assicurarsi di avere accesso a un registro container pubblico o intranet autogestito da utilizzare con il servizio OKE e le immagini dell'applicazione.
-
Crea un servizio per esporre le applicazioni containerizzate all'esterno di Compute Cloud@Customer. Vedere Esposizione di applicazioni containerizzate.
-
Creare uno storage persistente da utilizzare per le applicazioni. Vedere Aggiunta di storage per le applicazioni containerizzate.
-
Utilizzare l'operazione CreateNodePool per creare un nuovo pool di nodi.
Per informazioni sull'uso dell'API e sulle richieste di firma, vedere API REST e Credenziali di sicurezza. Per informazioni sugli SDK, vedere Software Development Kit and Command Line Interface (interfaccia a riga di comando e kit di sviluppo software).
Passi successivi:
-
Configurare i registri o i repository necessari per i nodi di lavoro. Assicurarsi di avere accesso a un registro container pubblico o intranet autogestito da utilizzare con il servizio OKE e le immagini dell'applicazione.
-
Crea un servizio per esporre le applicazioni containerizzate all'esterno di Compute Cloud@Customer. Vedere Esposizione di applicazioni containerizzate.
-
Creare uno storage persistente da utilizzare per le applicazioni. Vedere Aggiunta di storage per le applicazioni containerizzate.
-