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\".

Avvio rapido: distribuisci un'app Web e archivia i dati

Modalità Focus
Avvio rapido: distribuisci un'app Web e archivia i dati - 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à.

Implementa un'applicazione di gioco e conserva i relativi dati su Amazon EKS

Questo tutorial di avvio rapido mostra i passaggi per distribuire l'applicazione di esempio di gioco 2048 e mantenere i suoi dati su un cluster Amazon EKS Auto Mode utilizzando eksctl. La modalità automatica di Amazon EKS automatizza le attività di routine per lo storage a blocchi di cluster, il networking, il bilanciamento del carico e la scalabilità automatica dell'elaborazione.

Man mano che procediamo, ti guideremo attraverso il processo di configurazione del cluster. La modalità automatica di Amazon EKS automatizzerà le attività per la creazione di un nodo utilizzando un'istanza EC2 gestita, la creazione di un sistema di bilanciamento del carico delle applicazioni e la creazione di un volume EBS.

Nel complesso, distribuirai un carico di lavoro di esempio con le annotazioni personalizzate necessarie per l'integrazione completa con i servizi. AWS

In questo tutorial

Utilizzando il modello di eksctl cluster che segue, creerai un cluster con EKS Auto Mode per il provisioning automatico dei nodi.

Configurazione VPC Quando si utilizza il modello di cluster eksctl che segue, eksctl crea automaticamente un Virtual Private Cloud ( IPv4 VPC) per il cluster. Per impostazione predefinita, eksctl configura un VPC che soddisfa tutti i requisiti di rete, oltre a creare endpoint pubblici e privati.

Instance Management EKS Auto Mode aggiunge o rimuove dinamicamente i nodi nel cluster EKS in base alle esigenze delle applicazioni Kubernetes.

Persistenza dei dati Utilizzate la funzionalità di archiviazione a blocchi di EKS Auto Mode per garantire la persistenza dei dati delle applicazioni, anche in scenari che prevedono riavvii o guasti dei pod.

Accesso esterno alle app Utilizza la funzionalità di bilanciamento del carico di EKS Auto Mode per effettuare il provisioning dinamico di un Application Load Balancer (ALB).

Prerequisiti

Prima di iniziare, assicurati di avere i seguenti prerequisiti configurati per utilizzare Amazon EKS:

  • Configura la AWS CLI e configura le credenziali

  • Installa eksctl

  • Installa kubectl

Per ulteriori informazioni, consulta Configurazione per l'utilizzo di Amazon EKS.

Configura il cluster

In questa sezione, creerai un cluster utilizzando EKS Auto Mode per il provisioning dinamico dei nodi.

Crea un cluster-config.yaml file e incolla i seguenti contenuti al suo interno. Sostituisci region-code con una regione valida, ad esempious-east-1:

apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: web-quickstart region: <region-code> autoModeConfig: enabled: true

Ora siamo pronti per creare il cluster.

Crea il cluster Amazon EKS:

eksctl create cluster -f cluster-config.yaml
Importante

Se non usi eksctl per creare il cluster, devi etichettare manualmente le sottoreti VPC.

Crea IngressClass

Crea un Kubernetes IngressClass per la modalità automatica EKS. IngressClass Definisce come EKS Auto Mode gestisce le risorse di Ingress. Questo passaggio configura la capacità di bilanciamento del carico di EKS Auto Mode. Quando crei risorse Ingress per le tue applicazioni, EKS Auto Mode le utilizza per fornire e IngressClass gestire automaticamente i sistemi di bilanciamento del carico, integrando le tue applicazioni Kubernetes con i servizi di bilanciamento del carico. AWS

Salva ingressclass.yaml il seguente file yaml come:

apiVersion: networking.k8s.io/v1 kind: IngressClass metadata: name: alb annotations: ingressclass.kubernetes.io/is-default-class: "true" spec: controller: eks.amazonaws.com/alb

Applica il IngressClass al tuo cluster:

kubectl apply -f ingressclass.yaml

Implementa l'applicazione di esempio del gioco 2048

In questa sezione, ti illustreremo i passaggi per implementare il popolare «gioco 2048" come applicazione di esempio all'interno del cluster. Il manifesto fornito include annotazioni personalizzate per Application Load Balancer (ALB). Queste annotazioni si integrano e indicano a EKS di gestire il traffico HTTP in entrata come «rivolto a Internet» e di indirizzarlo al servizio appropriato nel namespace utilizzando il tipo di destinazione «ip». game-2048

Nota

L'docker-2048immagine nell'esempio è un'immagine di x86_64 contenitore e non verrà eseguita su altre architetture.

  1. Crea uno spazio dei nomi Kubernetes chiamato con il flag. game-2048 --save-config

    kubectl create namespace game-2048 --save-config

    Dovresti vedere il seguente messaggio di risposta:

    namespace/game-2048 created
  2. Distribuisci l'applicazione 2048 Game Sample.

    kubectl apply -n game-2048 -f https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.8.0/docs/examples/2048/2048_full.yaml

    Questo manifest configura Kubernetes Deployment, Service e Ingress per il game-2048 namespace, creando le risorse necessarie per distribuire ed esporre l'applicazione all'interno del cluster. game-2048 Include la creazione di un servizio denominato service-2048 che espone la distribuzione sulla porta 80 e una risorsa Ingress denominata ingress-2048 che definisce le regole di routing per il traffico HTTP in entrata e le annotazioni per un Application Load Balancer (ALB) con accesso a Internet. Dovresti vedere il seguente messaggio di risposta:

    namespace/game-2048 configured deployment.apps/deployment-2048 created service/service-2048 created ingress.networking.k8s.io/ingress-2048 created
  3. Eseguite il comando seguente per ottenere la risorsa Ingress per il namespace. game-2048

    kubectl get ingress -n game-2048

    Dovresti vedere il seguente messaggio di risposta:

    NAME CLASS HOSTS ADDRESS PORTS AGE ingress-2048 alb * k8s-game2048-ingress2-eb379a0f83-378466616.region-code.elb.amazonaws.com 80 31s

    Dovrai attendere alcuni minuti per il provisioning dell'Application Load Balancer (ALB) prima di iniziare i passaggi seguenti.

  4. Apri un browser Web e inserisci il ADDRESS passaggio precedente per accedere all'applicazione Web. Per esempio:

    k8s-game2048-ingress2-eb379a0f83-378466616.region-code.elb.amazonaws.com

    Dovresti vedere il gioco 2048 nel tuo browser. Gioca!

    Gioca al gioco 2048

Dati persistenti utilizzando la modalità automatica di Amazon EKS

Ora che il gioco 2048 è attivo e funzionante sul tuo cluster Amazon EKS, è il momento di garantire che i tuoi dati di gioco siano conservati in modo sicuro utilizzando la funzionalità di storage a blocchi di Amazon EKS Auto Mode.

  1. Creare un file denominato storage-class.yaml:

    apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: auto-ebs-sc annotations: storageclass.kubernetes.io/is-default-class: "true" provisioner: ebs.csi.eks.amazonaws.com volumeBindingMode: WaitForFirstConsumer parameters: type: gp3 encrypted: "true"
  2. Applica: StorageClass

    kubectl apply -f storage-class.yaml
  3. Crea un Persistent Volume Claim (PVC) per richiedere lo spazio di archiviazione per i tuoi dati di gioco. Crea un file denominato ebs-pvc.yaml e aggiungi il seguente contenuto:

    apiVersion: v1 kind: PersistentVolumeClaim metadata: name: game-data-pvc namespace: game-2048 spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: auto-ebs-sc
  4. Applica il PVC al tuo cluster:

    kubectl apply -f ebs-pvc.yaml

    Dovresti vedere il seguente messaggio di risposta:

    persistentvolumeclaim/game-data-pvc created
  5. Ora devi aggiornare la distribuzione del gioco 2048 per utilizzare questo PVC per archiviare i dati. La seguente distribuzione è configurata per utilizzare il PVC per l'archiviazione dei dati di gioco. Crea un file denominato ebs-deployment.yaml e aggiungi i seguenti contenuti:

    apiVersion: apps/v1 kind: Deployment metadata: namespace: game-2048 name: deployment-2048 spec: replicas: 3 # Adjust the number of replicas as needed selector: matchLabels: app.kubernetes.io/name: app-2048 template: metadata: labels: app.kubernetes.io/name: app-2048 spec: containers: - name: app-2048 image: public.ecr.aws/l6m2t8p7/docker-2048:latest imagePullPolicy: Always ports: - containerPort: 80 volumeMounts: - name: game-data mountPath: /var/lib/2048 volumes: - name: game-data persistentVolumeClaim: claimName: game-data-pvc
  6. Applica la distribuzione aggiornata:

    kubectl apply -f ebs-deployment.yaml

    Dovresti vedere il seguente messaggio di risposta:

    deployment.apps/deployment-2048 configured

Con questi passaggi, il gioco 2048 sul cluster è ora configurato per rendere persistenti i dati utilizzando la funzionalità di storage a blocchi di Amazon EKS Auto Mode. Ciò garantisce che i progressi e i dati di gioco siano al sicuro anche in caso di guasti ai pod o ai nodi.

Se ti è piaciuto questo tutorial, faccelo sapere fornendo un feedback, così saremo in grado di fornirti altri tutorial rapidi di utilizzo specifici per ogni caso, come questo.

Elimina il cluster e i nodi

Dopo aver finito con il cluster che hai creato per questo tutorial, dovresti ripulirlo eliminando con il seguente comando. Se vuoi fare di più con questo cluster prima di ripulirlo, vedi Passaggi successivi.

eksctl delete cluster -f ./cluster-config.yaml

EKS pulirà automaticamente tutti i nodi a cui ha fornito il provisioning quando il cluster viene eliminato.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.