Come posso utilizzare l'AMI Bottlerocket per creare un gruppo di nodi gestiti in Amazon EKS?
Desidero utilizzare l'AMI Bottlerocket per creare un gruppo di nodi gestiti in Amazon Elastic Kubernetes Service (Amazon EKS).
Risoluzione
Per creare un gruppo di nodi gestiti da Bottlerocket, puoi utilizzare eksctl con un file di configurazione.
Prerequisiti
- eksctl versione 0.124.0 o successiva
- Un cluster Amazon EKS esistente
- Se desideri l'accesso SSH ai nodi, hai bisogno di una coppia di chiavi SSH di Amazon Elastic Compute Cloud (Amazon EC2)
Per creare un gruppo di nodi gestiti utilizzando l'AMI Bottlerocket, completa i seguenti passaggi:
Verifica la versione di eksctl
Per verificare la versione di eksctl, esegui questo comando:
eksctl version
Se devi installare o aggiornare eksctl, consulta Opzioni di installazione per eksctl.
Crea il file di configurazione
Importante: Bottlerocket supporta tipi di istanza per uso generico, ottimizzati per il calcolo, ottimizzati per la memoria e ottimizzati per lo storage. Bottlerocket non supporta le istanze a calcolo accelerato.
Crea un file chiamato bottlerocket.yaml con la seguente configurazione:
--- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: mybottlerocket-cluster region: your-region version: '1.31' iam: withOIDC: true nodeGroups: - name: ng-bottlerocket instanceType: m5.large desiredCapacity: 3 amiFamily: Bottlerocket ami: auto-ssm 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: your-ec2-keypair-name
Nota: sostituisci mybottlerocket-cluster con il nome del tuo cluster. Sostituisci your-region con la tua Regione AWS. Sostituisci your-ec2-keypair-name con il nome della tua coppia di chiavi SSH di Amazon EC2. Se non disponi di una coppia di chiavi di Amazon EC2, consulta Creazione di una coppia di chiavi per l'istanza Amazon EC2.
Crea il gruppo di nodi gestiti
Per creare il gruppo di nodi gestiti, esegui questo comando:
eksctl create nodegroup --config-file=bottlerocket.yaml
Il comando crea il gruppo di nodi e registra i nodi nel cluster. Il completamento di questo processo richiede alcuni minuti.
Verifica i nodi
Per verificare che i nodi siano in esecuzione, esegui questo comando:
kubectl get nodes -o wide
L'output mostra i nodi Bottlerocket con il loro stato, la versione di Kubernetes e le informazioni sul sistema operativo.
Esempio di output:
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME ip-[IP_ADDRESS].us-west-2.compute.internal Ready <none> 5m v1.31.0 [IP_ADDRESS] <none> Bottlerocket OS 1.20.0 (aws-k8s-1.31) 5.15.0 containerd://1.7.11
Connettiti ai nodi Bottlerocket
I nodi Bottlerocket non includono un server o una shell SSH per impostazione predefinita. Per connetterti ai nodi Bottlerocket per la risoluzione dei problemi, utilizza Gestione sessione di AWS Systems Manager.
Per connetterti a un nodo Bottlerocket, completa i seguenti passaggi:
-
Recupera l'ID dell'istanza del nodo Bottlerocket dalla console Amazon EC2 o eseguendo questo comando:
kubectl get nodes -o wide -
Utilizza l'ID dell'istanza per avviare una sessione di Gestione sessione. Per ulteriori informazioni sull'avvio di una sessione, consulta Avvio di una sessione (console Systems Manager).
Nota: la policy IAM AmazonSSMManagedInstanceCore nella configurazione del gruppo di nodi consente a Gestione sessione di accedere ai nodi Bottlerocket.
Informazioni correlate
Crea nodi Bottlerocket self-managed
Semplifica il ciclo di vita dei nodi con gruppi di nodi gestiti
Using a Bottlerocket AMI with Amazon EKS (Utilizzo di un'AMI Bottlerocket con Amazon EKS) sul sito web GitHub
- Argomenti
- Containers
- Lingua
- Italiano
