View a markdown version of this page

Connessione di nodi ibridi - Amazon EKS

Contribuisci 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 su che si trova 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à.

Connessione di nodi ibridi

Nota

I seguenti passaggi si applicano ai nodi ibridi che eseguono sistemi operativi compatibili ad eccezione di Bottlerocket. Per i passaggi per connettere un nodo ibrido che esegue Bottlerocket, consultare Connessione dei nodi ibridi con Bottlerocket.

In questo argomento viene descritto come connettere nodi ibridi a un cluster Amazon EKS. Una volta entrati nel cluster, i nodi ibridi appariranno con lo stato Non pronti nella console Amazon EKS e in Kubernetes-compatible strumenti come kubectl. Dopo aver completato i passaggi in questa pagina, procedi su Configurazione della CNI per nodi ibridi per preparare i nodi ibridi per l’esecuzione delle applicazioni.

Prerequisiti

Prima di connettere i nodi ibridi al cluster Amazon EKS, assicurati di aver completato tutti i passaggi relativi ai prerequisiti.

Versione nodeadm richiesta per il provider di credenziali SSM

Se si utilizza AWS Systems Manager (SSM) come provider di credenziali per i nodi ibridi, è necessario utilizzare la nodeadm versione 1.0.19 o successiva per le nuove installazioni e gli aggiornamenti. Le versioni precedenti di nodeadm contengono una chiave di firma SSM obsoleta e hanno esito negativo durante nodeadm install e nodeadm upgrade con il seguente errore di verifica della firma:

"msg":"Command failed","error":"failed to install ssm installer: validating ssm-setup-cli signature: Signature Verification Error: No matching signature"

Per risolvere questo errore, scarica la versione più recente di nodeadm prima di eseguire nodeadm install o. nodeadm upgrade

Passaggio 1: installare la CLI dei nodi ibridi (nodeadm) su ogni host locale

Se si include la CLI Amazon EKS Hybrid Nodes (nodeadm) nelle immagini predefinite del sistema operativo, è possibile saltare questo passaggio. Per maggiori informazioni sulla versione per nodi ibridi del nodeadm, consultare Nodi ibridi di riferimento nodeadm.

La versione dei nodi ibridi di nodeadm è ospitata in Amazon S3 gestita da Amazon. CloudFront Per installare nodeadm su ciascun host on-premises, puoi eseguire il seguente comando dagli host on-premises.

Per host x86_64:

curl -OL 'https://hybrid-assets.eks.amazonaws.com/releases/latest/bin/linux/amd64/nodeadm'

Per host ARM

curl -OL 'https://hybrid-assets.eks.amazonaws.com/releases/latest/bin/linux/arm64/nodeadm'

Aggiungi l’autorizzazione per i file eseguibili al file binario scaricato su ciascun host.

chmod +x nodeadm

Passaggio 2: installa le dipendenze dei nodi ibridi con nodeadm

Se si stanno installando le dipendenze dei nodi ibridi in immagini del sistema operativo predefinite, è possibile ignorare questo passaggio. Il comando nodeadm install può essere utilizzato per installare tutte le dipendenze richieste per i nodi ibridi. Le dipendenze dei nodi ibridi includono i componenti containerd, kubelet, kubectl e SSM o IAM Roles Anywhere. AWS AWS Consultare Nodi ibridi di riferimento nodeadm per ulteriori informazioni sui componenti e le posizioni dei file installati da nodeadm install. Consultare la sezione Preparazione della rete per i nodi ibridi dedicata ai nodi ibridi per ulteriori informazioni sui domini che devono essere consentiti nel firewall on-premises per il processo nodeadm install.

Eseguire il comando seguente per installare le dipendenze dei nodi ibridi sull’host on-premises. Il comando seguente deve essere eseguito con un utente che ha accesso al tuo host. sudo/root

Importante

La CLI (nodeadm) dei nodi ibridi deve essere eseguita con un utente che ha sudo/root accesso sull'host.

  • Sostituire K8S_VERSION con la versione secondaria Kubernetes del cluster Amazon EKS, ad esempio 1.31. Consultare Amazon EKS supported versions per un elenco delle versioni Kubernetes supportate.

  • Sostituire CREDS_PROVIDER con il provider di credenziali on-premises che si sta utilizzando. I valori validi sono ssm per AWS SSM e iam-ra per AWS IAM Roles Anywhere.

nodeadm install K8S_VERSION --credential-provider CREDS_PROVIDER

Passaggio 3: connessione dei nodi ibridi al cluster

Prima di connettere i nodi ibridi al cluster, assicurati di aver consentito l'accesso richiesto nel firewall locale e nel gruppo di sicurezza del cluster per la comunicazione tra nodi to/from ibridi del piano di controllo Amazon EKS. La maggior parte dei problemi in questa Passaggio riguarda la configurazione del firewall, la configurazione del gruppo di sicurezza o la configurazione del ruolo IAM dei nodi ibridi.

Importante

La CLI (nodeadm) dei nodi ibridi deve essere eseguita con un utente che ha sudo/root accesso sul tuo host.

  1. Crea un file nodeConfig.yaml su ogni host con i valori per la tua implementazione. Per una descrizione completa delle impostazioni di configurazione disponibili, consulta Nodi ibridi di riferimento nodeadm. Se il ruolo IAM dei nodi ibridi non dispone dell’autorizzazione per l’azione eks:DescribeCluster, devi passare l’endpoint dell’API Kubernetes, il cluster CA bundle e il servizio Kubernetes IPv4 CIDR nella sezione cluster del tuo nodeConfig.yaml.

    1. Utilizza l'nodeConfig.yamlesempio seguente se utilizzi attivazioni ibride AWS SSM per il tuo provider di credenziali locale.

      1. Sostituisci CLUSTER_NAME con il nome del cluster.

      2. Sostituiscilo AWS_REGION con la AWS regione che ospita il tuo cluster. Ad esempio, us-west-2.

      3. Sostituiscilo ACTIVATION_CODE con il codice di attivazione che hai ricevuto durante la creazione dell'attivazione ibrida AWS SSM. Per ulteriori informazioni, consulta Preparazione delle credenziali per i nodi ibridi.

      4. Sostituiscilo ACTIVATION_ID con l'ID di attivazione che hai ricevuto durante la creazione dell'attivazione ibrida AWS SSM. È possibile recuperare queste informazioni dalla console di AWS Systems Manager o dal comando AWS aws ssm describe-activations CLI.

        apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: CLUSTER_NAME region: AWS_REGION hybrid: ssm: activationCode: ACTIVATION_CODE activationId: ACTIVATION_ID
    2. Usa l'nodeConfig.yamlesempio seguente se stai usando AWS IAM Roles Anywhere per il tuo provider di credenziali locale.

      1. Sostituisci CLUSTER_NAME con il nome del cluster.

      2. Sostituiscilo AWS_REGION con la AWS regione che ospita il tuo cluster. Ad esempio, us-west-2.

      3. Sostituisci NODE_NAME con il nome del ruolo del nodo. Il nome del nodo deve corrispondere al CN del certificato sull’host se hai configurato la policy di attendibilità del ruolo IAM di Hybrid Nodes con la condizione della risorsa "sts:RoleSessionName": "${aws:PrincipalTag/x509Subject/CN}". Il nodeName che usi non deve superare i 64 caratteri.

      4. Sostituisci TRUST_ANCHOR_ARN con l’ARN dell’ancora di fiducia che hai configurato nei passaggi per Preparare le credenziali per i nodi ibridi.

      5. Sostituisci PROFILE_ARN con l’ARN dell’ancora di fiducia che hai configurato nei passaggi per Preparazione delle credenziali per i nodi ibridi.

      6. Sostituisci ROLE_ARN con l’ARN del ruolo IAM dei nodi ibridi.

      7. Sostituisci CERTIFICATE_PATH con il percorso su disco del certificato del tuo nodo. Se non lo specifichi, il valore predefinito è /etc/iam/pki/server.pem.

      8. Sostituisci KEY_PATH con il percorso su disco della chiave privata del certificato. Se non lo specifichi, il valore predefinito è /etc/iam/pki/server.key.

        apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: CLUSTER_NAME region: AWS_REGION hybrid: iamRolesAnywhere: nodeName: NODE_NAME trustAnchorArn: TRUST_ANCHOR_ARN profileArn: PROFILE_ARN roleArn: ROLE_ARN certificatePath: CERTIFICATE_PATH privateKeyPath: KEY_PATH
  2. Esegui il comando nodeadm init con il tuo nodeConfig.yaml per connettere i nodi ibridi al cluster Amazon EKS.

    nodeadm init -c file://nodeConfig.yaml

Se il comando precedente viene effettuato correttamente, il nodo ibrido si unisce al cluster Amazon EKS. Puoi verificarlo nella console Amazon EKS accedendo alla scheda Calcolo del tuo cluster (assicurati che il principale IAM disponga delle autorizzazioni per la visualizzazione) o con kubectl get nodes.

Importante

I nodi avranno lo stato Not Ready previsto, dovuto alla mancanza di una CNI in esecuzione sui nodi ibridi. Se i tuoi nodi non si sono uniti al cluster, consulta Risoluzione dei problemi relativi ai nodi ibridi.

Passaggio 4: configurazione di una CNI per i nodi ibridi

Per preparare i nodi ibridi all’esecuzione delle applicazioni, continua con i passaggi su Configurazione della CNI per nodi ibridi.