Creazione di nodi Ubuntu Linux autogestiti - Amazon EKS

Contribuisci a migliorare questa pagina

Per contribuire a questa guida per l’utente, seleziona il link Edit this page on GitHub che si trova nel riquadro destro di ogni pagina.

Creazione di nodi Ubuntu Linux autogestiti

Nota

I gruppi di nodi gestiti potrebbero offrire alcuni vantaggi per il tuo caso d'uso. Per ulteriori informazioni, consulta Semplifica il ciclo di vita dei nodi con gruppi di nodi gestiti.

Questo argomento illustra l’avvio di gruppi Auto Scaling di Ubuntu su nodi Amazon Elastic Kubernetes Service (EKS) o Ubuntu Pro su nodi Amazon Elastic Kubernetes Service (EKS) che si registrano con il cluster Amazon EKS. Ubuntu e Ubuntu Pro per EKS si basano sulla versione ufficiale di Ubuntu Minimal LTS, includono il AWS kernel personalizzato sviluppato congiuntamente con AWS e sono stati creati appositamente per EKS. Ubuntu Pro aggiunge una copertura di sicurezza aggiuntiva supportando i periodi di supporto estesi di EKS, kernel livepatch, la conformità FIPS e la capacità di eseguire un numero illimitato di container Pro.

Dopo che i nodi sono aggiunti al cluster, è possibile implementare le applicazioni containerizzate per gli stessi. Per ulteriori informazioni, consulta la documentazione per Ubuntu su AWS e il supporto per le AMI personalizzate nella documentazione eksctl.

Importante
  • I nodi Amazon EKS sono istanze Amazon EC2 standard e la loro fatturazione è basata sui normali prezzi dell'istanza Amazon EC2. Per ulteriori informazioni, consulta Prezzi di Amazon EC2.

  • È possibile avviare nodi Ubuntu nei cluster estesi di Amazon EKS su AWS Outposts, ma non nei cluster locali su AWS Outposts. Per ulteriori informazioni, consulta Implementazione di Amazon EKS on-premises con AWS Outposts.

  • È possibile eseguire l’implementazione su istanze Amazon EC2 con processori x86 o Arm. Tuttavia, le istanze che dispongono di chip Inferentia potrebbero dover installare prima l’SDK Neuron.

Questa procedura richiede eksctl versione 0.214.0 o successiva. È possibile verificare la versione con il comando seguente:

eksctl version

Per istruzioni su come installare o aggiornare eksctl, consulta Installazione nella documentazione eksctl. Nota: questa procedura funziona solo per i cluster creati con eksctl.

  1. Copia i seguenti contenuti sul dispositivo. Sostituisci my-cluster con il nome del cluster. Il nome può contenere solo caratteri alfanumerici (con distinzione tra lettere maiuscole e minuscole) e trattini. Deve iniziare con un carattere alfabetico e non può avere una lunghezza superiore a 100 caratteri. Sostituisci ng-ubuntu con un nome per il gruppo di nodi. Il nome del gruppo di nodi non può contenere più di 63 caratteri. Deve iniziare con una lettera o un numero, ma può anche includere trattini e caratteri di sottolineatura. Per implementare su istanze Arm, sostituire m5.large con un tipo di istanza Arm. Sostituisci my-ec2-keypair-name con il nome di una coppia di chiavi SSH Amazon EC2; che puoi utilizzare per connetterti utilizzando SSH nei nodi dopo l'avvio. Se non disponi già di una coppia di chiavi Amazon EC2, puoi crearla nella Console di gestione AWS. Per ulteriori informazioni, consulta coppie di chiavi Amazon EC2 nella Guida per l’utente di Amazon EC2. Sostituisci tutti i valori esemplificativi rimanenti con i valori in tuo possesso. Dopo aver effettuato le sostituzioni, eseguire il comando modificato per creare il file ubuntu.yaml.

    Importante

    Per implementare un gruppo di nodi sulle sottoreti AWS Outposts, AWS Wavelength o AWS Local Zone, non passare le sottoreti AWS Outposts, AWS Wavelength, o AWS Local Zone al momento della creazione del cluster. È necessario specificare le sottoreti nell'esempio seguente. Per ulteriori informazioni, vedere Creare un gruppo di nodi da un file di configurazione e lo Schema del file config nella documentazione su eksctl. Sostituisci codice regione con la Regione AWS in cui si trova il cluster.

    cat >ubuntu.yaml <<EOF --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: region-code version: '1.33' iam: withOIDC: true nodeGroups: - name: ng-ubuntu instanceType: m5.large desiredCapacity: 3 amiFamily: Ubuntu2204 iam: attachPolicyARNs: - arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly - arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy ssh: allow: true publicKeyName: my-ec2-keypair-name EOF

    Per creare un gruppo di nodi Ubuntu Pro, basta cambiare il valore amiFamily in UbuntuPro2204.

  2. Implementare i nodi mediante il comando seguente.

    eksctl create nodegroup --config-file=ubuntu.yaml

    Di seguito viene riportato un output di esempio:

    Durante la creazione dei nodi vengono generate diverse righe. Una delle ultime righe di output è simile alla seguente riga di esempio.

    [✔] created 1 nodegroup(s) in cluster "my-cluster"
  3. (Facoltativo) Implementa un’applicazione esemplificativa per testare i nodi Ubuntu.

  4. Consigliamo di bloccare l’accesso dei pod a IMDS se si verificano le seguenti condizioni:

    • Prevedi di assegnare ruoli IAM a tutti gli account del servizio Kubernetes in modo che i pod dispongano solo delle autorizzazioni minime necessarie.

    • Nessun pod nel cluster richiede l’accesso al servizio di metadati di istanza (IMDS) di Amazon EC2 per altri motivi, come un recupero della regione AWS corrente.

    Per ulteriori informazioni, consulta Limita l'accesso al profilo dell'istanza assegnato al nodo (worker).