Utilizzo dei nodi autogestiti
Scopri come impostare e utilizzare i nodi autogestiti con Kubernetes Engine.
Un nodo autogestito è un nodo di lavoro ospitato in un'istanza di computazione (o in un pool di istanze) creata personalmente nel servizio di computazione, anziché in un'istanza di computazione creata automaticamente da Kubernetes Engine. I nodi autogestiti vengono spesso definiti BYON (Bring Your Own Node). A differenza dei nodi gestiti e dei nodi virtuali, raggruppati rispettivamente in pool di nodi gestiti e in pool di nodi virtuali, i nodi autogestiti non vengono raggruppati in pool di nodi.
Il servizio di computazione viene utilizzato per creare le istanze di computazione su cui ospitare i nodi autogestiti. L'uso del servizio di computazione consente di configurare le istanze di computazione per carichi di lavoro specializzati, incluse le combinazioni di forme e immagini di computazione non disponibili per i nodi gestiti e i nodi virtuali. Ad esempio, potresti volere istanze con forme progettate per carichi di lavoro accelerati dall'hardware (come le forme GPU) o forme progettate per carichi di lavoro HPC (High-Performance Computing) che richiedono core del processore ad alta frequenza (come le forme HPC e Optimized). Potresti voler connettere molte di queste istanze con una rete a banda larga e a bassissima latenza per formare una rete cluster Oracle Cloud Infrastructure (vedere Uso delle reti cluster RDMA).
Se desideri semplificare l'amministrazione e gestire più nodi autogestiti come gruppo, utilizza il servizio di computazione per creare un pool di istanze di computazione per ospitare uno o più nodi autogestiti.
Quando si crea un'istanza di computazione (o un pool di istanze) per ospitare un nodo autogestito, è necessario specificare il cluster Kubernetes a cui aggiungere l'istanza. È possibile aggiungere solo nodi autogestiti ai cluster avanzati.
Sia il cluster a cui si aggiunge un nodo autogestito che l'immagine utilizzata per l'istanza di computazione che ospita il nodo autogestito devono soddisfare determinati requisiti. Vedere rispettivamente Requisiti cluster e Requisiti immagine.
A un livello avanzato, questi sono i passi da seguire per creare un'istanza di computazione per ospitare un nodo autogestito e aggiungerlo a un cluster esistente:
- Creare un gruppo dinamico (con una regola che includa l'istanza di computazione da aggiungere al cluster) e un criterio per il gruppo dinamico (con un'istruzione criterio per consentire ai membri del gruppo dinamico di unirsi al cluster). Vedere Creazione di un gruppo dinamico e di un criterio per i nodi autogestiti.
- Creare uno script di cloud-init contenente l'endpoint privato API Kubernetes del cluster e il certificato CA con codifica base64. Vedere Creazione di script cloud-init per nodi autogestiti.
- Creare la nuova istanza di computazione in base a un'immagine OKE e fornire lo script cloud-init. Vedere Creazione di nodi con gestione automatica.
Quando viene creata, l'istanza di computazione viene aggiunta al cluster come nodo autogestito.
Tenere presente quanto riportato di seguito.
- Se si elimina il cluster al quale sono stati aggiunti nodi autogestiti, le istanze di computazione che ospitano i nodi autogestiti non vengono arrestate. I container attualmente in esecuzione sui nodi potrebbero continuare a essere eseguiti, a condizione che non siano dipendenti dal piano di controllo Kubernetes. Se si elimina un cluster a cui sono stati aggiunti nodi autogestiti, è responsabilità dell'utente arrestare le istanze di computazione che ospitano tali nodi autogestiti.
- Oltre a utilizzare il servizio di computazione per creare singole istanze di computazione e ospitare singoli nodi autogestiti, puoi anche utilizzare il servizio di computazione per creare un pool di istanze di computazione e ospitare uno o più nodi autogestiti. Innanzitutto, definisci una configurazione di istanza che include l'endpoint privato API Kubernetes del cluster e il certificato CA con codifica base64 in uno script di inizializzazione cloud (proprio come se stessi creando una singola istanza di computazione). La configurazione dell'istanza viene quindi utilizzata per creare una o più istanze in un pool di istanze, ognuna delle quali può ospitare un nodo autogestito. È inoltre possibile utilizzare la configurazione dell'istanza come modello per avviare singole istanze che non fanno parte di un pool di istanze. Per ulteriori informazioni, vedere Creazione di una configurazione di istanza e Creazione di pool di istanze.
- Per eseguire l'upgrade della versione di Kubernetes in esecuzione su un nodo autogestito, è necessario sostituire il nodo autogestito esistente con un nuovo nodo autogestito. Vedere Aggiornamento di nodi autogestiti a una versione Kubernetes più recente sostituendo un nodo autogestito esistente.
- Per impostazione predefinita, i nodi autogestiti utilizzano il plugin CNI flannel per il pod networking. Se si desidera utilizzare il plugin CNI di networking pod nativo VCN OCI per il networking pod, utilizzare l'interfaccia CLI o l'API per specificare i parametri necessari (vedere Creazione di nodi autogestiti). Per utilizzare il plugin CNI Pod Networking VCN nativo OCI per il pod networking (anziché il plugin CNI flannel), i nodi del piano di controllo del cluster devono eseguire Kubernetes versione 1.27.10 (o successiva). Per ulteriori informazioni sul plugin CNI di networking pod nativo VCN OCI e sul plugin CNI flannel, vedere Networking del pod.
Utilizzo di nodi autogestiti con reti cluster
Quando si utilizza il servizio di computazione per creare un pool di istanze di computazione per ospitare uno o più nodi autogestiti, è possibile gestire il pool di istanze come rete cluster Oracle Cloud Infrastructure (vedere Reti cluster con pool di istanze). Le istanze di computazione all'interno della rete cluster sono connesse da una rete RDMA (Remote Direct Memory Access) a larghezza di banda elevata e a bassissima latenza. Per ulteriori informazioni sull'uso di una rete RDMA con Kubernetes Engine, vedere Esecuzione dei carichi di lavoro GPU RDMA (accesso diretto remoto alla memoria) su OKE su github.
Funzionalità e funzionalità notevoli non supportate quando si utilizzano nodi autogestiti
Alcune funzioni e funzionalità non sono disponibili o non sono ancora disponibili quando si utilizzano nodi autogestiti.
Tenere presente che poiché i nodi autogestiti non sono raggruppati in pool di nodi, qualsiasi funzionalità correlata ai pool di nodi non viene applicata.
Funzione non supportata | Informazioni aggiuntive |
---|---|
Metriche dei nodi autogestite nella pagina Metriche del motore Kubernetes nella console | Le metriche Kubernetes per i nodi autogestiti non vengono visualizzate nella pagina Metriche del servizio Kubernetes Engine nella console. Utilizzare |
Visualizzazione dei nodi autogestiti nella console o tramite l'API OKE OCI | I nodi autogestiti non sono visibili nelle pagine della console del servizio Kubernetes Engine o tramite l'API OKE OCI. Puoi utilizzare l'API Kubernetes per elencare i nodi autogestiti utilizzando il comando kubectl get nodes . |
Esecuzione di operazioni di manutenzione su nodi autogestiti mediante la console | Non puoi eseguire operazioni di manutenzione (come il riavvio, la sostituzione del volume di avvio, l'interruzione e la sostituzione) su nodi autogestiti utilizzando le pagine Console del servizio Kubernetes Engine nello stesso modo dei nodi gestiti. Tenere presente che se esegui operazioni di manutenzione utilizzando le pagine della console del servizio di computazione, le configurazioni di disponibilità di Kubernetes non vengono rispettate. |
Utilizzo di immagini diverse dalle immagini OKE OL7, OL8 e Ubuntu | Non ancora disponibile. |
Applicazione dei criteri di disallineamento Kubernetes | Il criterio di deviazione Kubernetes secondo cui i nodi del piano di controllo di un cluster non devono essere più di due versioni secondarie (o tre versioni secondarie, a partire da Kubernetes versione 1.28) prima dei nodi di lavoro non viene applicato. |
Autoscaler del cluster Kubernetes | Non ancora disponibile. |
Ciclo dei nodi durante l'aggiornamento o l'aggiornamento dei nodi autogestiti | Non ancora disponibile. |