Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Preparare il sistema operativo per i nodi ibridi

Modalità Focus
Preparare il sistema operativo per i nodi ibridi - Amazon EKS

Aiutaci a migliorare questa pagina

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Aiutaci a migliorare questa pagina

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Amazon Linux 2023 (AL2023), Ubuntu e Red Hat Enterprise Linux (RHEL) vengono convalidati su base continuativa per l'uso come sistema operativo di nodi per nodi ibridi. AWS supporta l'integrazione dei nodi ibridi con questi sistemi operativi ma non fornisce supporto per i sistemi operativi stessi. AL2023 non è coperto dai piani di AWS supporto se eseguito al di fuori di Amazon EC2. AL2023 può essere utilizzato solo in ambienti virtualizzati locali, consulta la Amazon Linux 2023 User Guide per ulteriori informazioni.

Sei responsabile del provisioning e della gestione del sistema operativo. Quando si testano i nodi ibridi per la prima volta, è più semplice eseguire Amazon EKS Hybrid Nodes CLI (nodeadm) su un host già fornito. Per le implementazioni di produzione, si consiglia di includere nodeadm nel sistema operativo immagini configurate per l'esecuzione come servizio systemd per unire automaticamente gli host ai cluster Amazon EKS all'avvio dell'host.

Compatibilità delle versioni

La tabella seguente rappresenta le versioni del sistema operativo compatibili e convalidate per l'uso come sistema operativo dei nodi per i nodi ibridi. Se si utilizzano altre varianti o versioni del sistema operativo non incluse in questa tabella, la compatibilità dei nodi ibridi con la variante o la versione del sistema operativo non è coperta da AWS Support. I nodi ibridi sono indipendenti dall'infrastruttura sottostante e supportano le architetture x86 e ARM.

Sistema operativo Versioni

Amazon Linux

Amazon Linux 2023 (AL2023)

Ubuntu

Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04

Red Hat Enterprise Linux

RIGA 8, RIGA 9

Considerazioni sul sistema operativo

Generali

  • L'Amazon EKS Hybrid Nodes CLI (nodeadm) può essere utilizzata per semplificare l'installazione e la configurazione dei componenti e delle dipendenze dei nodi ibridi. Puoi eseguire il nodeadm install processo durante le pipeline di creazione dell'immagine del sistema operativo o in fase di esecuzione su ogni host locale. Per ulteriori informazioni sui componenti da nodeadm installare, consulta. nodeadmRiferimento ai nodi ibridi

  • Se si utilizza un proxy nell'ambiente locale per accedere a Internet, è necessaria una configurazione aggiuntiva del sistema operativo per i processi di installazione e aggiornamento per configurare il gestore di pacchetti per l'utilizzo del proxy. Per istruzioni, consulta Configurare il proxy per i nodi ibridi.

Contenitori

  • Containerd è il runtime di container Kubernetes standard ed è una dipendenza per i nodi ibridi, nonché per tutti i tipi di calcolo dei nodi Amazon EKS. La CLI di Amazon EKS Hybrid Nodes (nodeadm) tenta di installare containerd durante il processo. nodeadm install È possibile configurare l'installazione containerd in nodeadm install fase di esecuzione con l'opzione --containerd-source della riga di comando. Le opzioni valide sono nonedistro, e. docker Se stai usando RHEL, non distro è un'opzione valida e puoi configurare nodeadm per installare la build containerd dai repository di Docker oppure puoi installare containerd manualmente. Quando si usa AL2 023 o Ubuntu, per nodeadm impostazione predefinita installa containerd dalla distribuzione del sistema operativo. Se non vuoi che nodeadm installi containerd, usa l'opzione. --containerd-source none

Ubuntu

RHEL

  • Se si utilizza RHEL 8, è necessario utilizzare le attivazioni ibride di AWS Systems Manager come provider di credenziali. AWS IAM Roles Anywhere non è supportato su RHEL 8.

ARM

  • Se utilizzi hardware ARM, per eseguire la versione ARMv8 1.31 e successive del componente aggiuntivo EKS kube-proxy è necessario un processore conforme a ARMv8 .2 con estensione di crittografia (.2+crypto). Tutti i sistemi Raspberry Pi precedenti al Raspberry Pi 5, così come i processori basati su Cortex-A72, non soddisfano questo requisito. Come soluzione alternativa, puoi continuare a utilizzare la versione 1.30 del componente aggiuntivo EKS kube-proxy fino alla fine del supporto esteso nel luglio del 2026, vedi o usa un'immagine kube-proxy personalizzata dall'upstream. Calendario di rilascio di Amazon EKS Kubernetes

  • Il seguente messaggio di errore nel log kube-proxy indica questa incompatibilità:

Fatal glibc error: This version of Amazon Linux requires a newer ARM64 processor compliant with at least ARM architecture 8.2-a with Cryptographic extensions. On EC2 this is Graviton 2 or later.

Creazione di immagini del sistema operativo

Amazon EKS fornisce modelli di Packer di esempio che puoi utilizzare per creare immagini del sistema operativo che lo includono nodeadm e lo configurano per l'esecuzione all'avvio dell'host. Questo processo è consigliato per evitare di trasferire le dipendenze dei nodi ibridi singolarmente su ciascun host e per automatizzare il processo di bootstrap dei nodi ibridi. È possibile utilizzare i modelli Packer di esempio con un'immagine ISO di Ubuntu 22.04, Ubuntu 24.04, RHEL 8 o RHEL 9 e produrre immagini con questi formati: OVA, Qcow2 o raw.

Prerequisiti

Prima di utilizzare i modelli Packer di esempio, è necessario che sul computer da cui si esegue Packer sia installato quanto segue.

  • Packer versione 1.11.0 o successiva. Per istruzioni sull'installazione di Packer, consulta Install Packer nella documentazione di Packer.

  • In fase di compilazione OVAs, VMware vSphere plugin 1.4.0 o versione successiva

  • In caso di creazione Qcow2 di immagini non elaborate, plugin QEMU versione 1.x

Impostazione delle variabili di ambiente

Prima di eseguire la build di Packer, imposta le seguenti variabili di ambiente sulla macchina da cui stai eseguendo Packer.

Generale

Le seguenti variabili di ambiente devono essere impostate per creare immagini con tutti i sistemi operativi e i formati di output.

Variabile di ambiente Tipo Descrizione

PKR_SSH_PASSWORD

Stringa

Packer utilizza le ssh_password variabili ssh_username and di SSH nella macchina creata durante il provisioning. Ciò deve corrispondere alle password utilizzate per creare l'utente iniziale all'interno dei file kickstart o di dati utente del rispettivo sistema operativo. L'impostazione predefinita è «builder» o «ubuntu» a seconda del sistema operativo. Quando imposti la password, assicurati di cambiarla all'interno del user-data file corrispondente ks.cfg o corrispondente.

ISO_URL

Stringa

URL dell'ISO da utilizzare. Può essere un collegamento Web da scaricare da un server o un percorso assoluto verso un file locale

ISO_CHECKSUM

Stringa

Checksum associato per l'ISO fornito.

CREDENTIAL_PROVIDER

Stringa

Provider di credenziali per nodi ibridi. I valori validi sono ssm (impostazione predefinita) per le attivazioni ibride SSM e iam per IAM Roles Anywhere

K8S_VERSION

Stringa

Versione Kubernetes per nodi ibridi (ad esempio). 1.31 Per le versioni di Kubernetes supportate, consulta. Comprendi il ciclo di vita delle versioni Kubernetes su EKS

NODEADM_ARCH

Stringa

Architettura per. nodeadm install Seleziona amd oppure arm.

RHEL

Se si utilizza RHEL, è necessario impostare le seguenti variabili di ambiente.

Variabile di ambiente Tipo Descrizione

RH_USERNAME

Stringa

nome utente del gestore di sottoscrizioni RHEL

RH_PASSWORD

Stringa

password per il gestore delle sottoscrizioni RHEL

RHEL_VERSION

Stringa

Versione iso di Rhel in uso. I valori validi sono 8 e 9.

Ubuntu

Non sono richieste variabili di ambiente specifiche per Ubuntu.

vSphere

Se si sta creando un VMware vSphere OVA, è necessario impostare le seguenti variabili di ambiente.

Variabile di ambiente Tipo Descrizione

VSPHERE_SERVER

Stringa

Indirizzo del server vSphere

VSPHERE_USER

Stringa

nome utente vSphere

VSPHERE_PASSWORD

Stringa

Password vSphere

VSPHERE_DATACENTER

Stringa

nome del datacenter vSphere

VSPHERE_CLUSTER

Stringa

nome del cluster vSphere

VSPHERE_DATASTORE

Stringa

nome del datastore vSphere

VSPHERE_NETWORK

Stringa

Nome della rete vSphere

VSPHERE_OUTPUT_FOLDER

Stringa

Cartella di output vSphere per i modelli

QEMU

Variabile di ambiente Tipo Descrizione

FORMATO_PACKER_OUTPUT

Stringa

Formato di output per il generatore QEMU. I valori validi sono qcow2 e raw.

Convalida il modello

Prima di eseguire la build, convalida il modello con il seguente comando dopo aver impostato le variabili di ambiente. Sostituiscilo template.pkr.hcl se stai usando un nome diverso per il tuo modello.

packer validate template.pkr.hcl

Crea immagini

Crea le tue immagini con i seguenti comandi e usa il -only flag per specificare la destinazione e il sistema operativo delle tue immagini. Sostituiscilo template.pkr.hcl se stai usando un nome diverso per il tuo modello.

vSphere OVAs

Nota

Se si utilizza RHEL con vSphere, è necessario convertire i file kickstart in un'immagine OEMDRV e passarli come ISO da cui avviare. Per ulteriori informazioni, consulta il Packer Readme nell'archivio EKS Hybrid Nodes. GitHub

Ubuntu 22.04 OVA

packer build -only=general-build.vsphere-iso.ubuntu22 template.pkr.hcl

Ubuntu 24.04 OVA

packer build -only=general-build.vsphere-iso.ubuntu24 template.pkr.hcl

RHEL 8 OVAR

packer build -only=general-build.vsphere-iso.rhel8 template.pkr.hcl

RHEL 9 OVULI

packer build -only=general-build.vsphere-iso.rhel9 template.pkr.hcl

QEMU

Nota

Se stai creando un'immagine per una CPU host specifica che non corrisponde all'host del tuo builder, consulta la documentazione QEMU per il nome che corrisponde alla tua CPU host e usa il -cpu flag con il nome della CPU host quando esegui i seguenti comandi.

Ubuntu 22.04 Qcow2/Raw

packer build -only=general-build.qemu.ubuntu22 template.pkr.hcl

Ubuntu 24.04 Qcow2/Raw

packer build -only=general-build.qemu.ubuntu24 template.pkr.hcl

RHEL 8 Qcow2/Raw

packer build -only=general-build.qemu.rhel8 template.pkr.hcl

RHEL 9 Qcow2/Raw

packer build -only=general-build.qemu.rhel9 template.pkr.hcl

Passa la configurazione nodeadm tramite i dati utente

Puoi trasferire la configurazione ai tuoi dati utente tramite cloud-init per nodeadm configurare e connettere automaticamente i nodi ibridi al cluster EKS all'avvio dell'host. Di seguito è riportato un esempio di come eseguire questa operazione quando si utilizza VMware vSphere come infrastruttura per i nodi ibridi.

  1. Installa la govc CLI seguendo le istruzioni nel readme di govc su. GitHub

  2. Dopo aver eseguito la build di Packer nella sezione precedente e aver effettuato il provisioning del modello, puoi clonare il modello per creare più nodi diversi utilizzando quanto segue. È necessario clonare il modello per ogni nuova macchina virtuale che si sta creando e che verrà utilizzata per i nodi ibridi. Sostituisci le variabili nel comando seguente con i valori per il tuo ambiente. Il VM_NAME comando seguente viene usato come tuo NODE_NAME quando inserisci i nomi per il tuo VMs tramite il tuo metadata.yaml file.

    govc vm.clone -vm "/PATH/TO/TEMPLATE" -ds="YOUR_DATASTORE" \ -on=false -template=false -folder=/FOLDER/TO/SAVE/VM "VM_NAME"
  3. Dopo aver clonato il modello per ognuno dei tuoi nuovi VMs, crea un userdata.yaml e metadata.yaml per il tuo. VMs VMs Puoi condividerli userdata.yaml metadata.yaml e li compilerai per ogni singola macchina virtuale nei passaggi seguenti. La nodeadm configurazione viene creata e definita nella write_files sezione del tuo. userdata.yaml L'esempio seguente utilizza le attivazioni ibride AWS SSM come provider di credenziali locali per i nodi ibridi. Per ulteriori informazioni sulla nodeadm configurazione, vedere. nodeadmRiferimento ai nodi ibridi

    userdata.yaml:

    #cloud-config users: - name: # username for login. Use 'builder' for RHEL or 'ubuntu' for Ubuntu. passwd: # password to login. Default is 'builder' for RHEL. groups: [adm, cdrom, dip, plugdev, lxd, sudo] lock-passwd: false sudo: ALL=(ALL) NOPASSWD:ALL shell: /bin/bash write_files: - path: /usr/local/bin/nodeConfig.yaml permissions: '0644' content: | apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: # Cluster Name region: # AWS region hybrid: ssm: activationCode: # Your ssm activation code activationId: # Your ssm activation id runcmd: - /usr/local/bin/nodeadm init -c file:///usr/local/bin/nodeConfig.yaml >> /var/log/nodeadm-init.log 2>&1

    metadati.yaml:

    Crea un file per il tuo ambiente. metadata.yaml Mantieni il formato della "$NODE_NAME" variabile nel file poiché questo verrà compilato con valori in un passaggio successivo.

    instance-id: "$NODE_NAME" local-hostname: "$NODE_NAME" network: version: 2 ethernets: nics: match: name: ens* dhcp4: yes
  4. Aggiungi i metadata.yaml file userdata.yaml and come gzip+base64 stringhe con i seguenti comandi. I seguenti comandi devono essere eseguiti per ognuno dei comandi VMs che state creando. Sostituisci VM_NAME con il nome della macchina virtuale che stai aggiornando.

    export NODE_NAME="VM_NAME" export USER_DATA=$(gzip -c9 <userdata.yaml | base64) govc vm.change -dc="YOUR_DATASTORE" -vm "$NODE_NAME" -e guestinfo.userdata="${USER_DATA}" govc vm.change -dc="YOUR_DATASTORE" -vm "$NODE_NAME" -e guestinfo.userdata.encoding=gzip+base64 envsubst '$NODE_NAME' < metadata.yaml > metadata.yaml.tmp export METADATA=$(gzip -c9 <metadata.yaml.tmp | base64) govc vm.change -dc="YOUR_DATASTORE" -vm "$NODE_NAME" -e guestinfo.metadata="${METADATA}" govc vm.change -dc="YOUR_DATASTORE" -vm "$NODE_NAME" -e guestinfo.metadata.encoding=gzip+base64
  5. Accendi la tua nuova unità VMs, che dovrebbe connettersi automaticamente al cluster EKS che hai configurato.

    govc vm.power -on "${NODE_NAME}"
PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.