Utilizzo di Lambda con Kubernetes - AWS Lambda

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à.

Utilizzo di Lambda con Kubernetes

Puoi implementare e gestire funzioni Lambda con l'API Kubernetes utilizzando i controller AWS per Kubernetes (ACK) o Crossplane.

Controller AWS per Kubernetes (ACK)

Puoi utilizzare ACK per implementare e gestire risorse AWS dall'API Kubernetes. Tramite ACK, AWS fornisce controller personalizzati open source per AWS servizi come Lambda, Amazon Elastic Container Registry (Amazon ECR), Amazon Simple Storage Service (Amazon S3) e Amazon. SageMaker Ogni servizio AWS supportato ha un proprio controller personalizzato. Nel cluster Kubernetes installa un controller per ogni servizio AWS da utilizzare. Crea, quindi, una definizione risorsa personalizzata (CRD) per definire le risorse AWS.

È preferibile utilizzare Helm 3.8 o versioni successive per installare i controller ACK. Ogni controller ACK è dotato di un proprio grafico Helm, che installa il controller, le CRD e le regole RBAC di Kubernetes. Per ulteriori informazioni, consulta Installare un ACK Controller nella documentazione di ACK.

Dopo aver creato la risorsa personalizzata ACK, puoi utilizzarla come qualunque altro oggetto Kubernetes integrato. Ad esempio, puoi implementare e gestire funzioni Lambda con le tue toolchain Kubernetes preferite, inclusa kubectl.

Di seguito sono riportati alcuni esempi di casi d'uso per il provisioning di funzioni Lambda tramite ACK:

  • La tua organizzazione utilizza il controllo degli accessi basato sui ruoli (RBAC) e ruoli IAM per gli account di servizio per creare limiti delle autorizzazioni. Con ACK puoi riutilizzare questo modello di sicurezza per Lambda senza bisogno di creare nuovi utenti e policy.

  • La tua organizzazione ha un DevOps processo per distribuire le risorse in un cluster Amazon Elastic Kubernetes Service (Amazon EKS) utilizzando i manifesti Kubernetes. Con ACK puoi utilizzare un manifesto per eseguire il provisioning delle funzioni Lambda senza creare un'infrastruttura separata come modelli di codice.

Per ulteriori informazioni sull'utilizzo di ACK, consulta il tutorial Lambda nella documentazione di ACK.

Crossplane

Crossplane è un progetto CNCF (Cloud Native Computing Foundation) che utilizza Kubernetes per gestire risorse dell'infrastruttura cloud. Con Crossplane gli sviluppatori possono richiedere l'infrastruttura senza doverne comprendere le complessità. I team della piattaforma mantengono il controllo sulle modalità di provisioning e gestione dell'infrastruttura.

Utilizzando Crossplane puoi implementare e gestire funzioni Lambda con le tue toolchain Kubernetes preferite, ad esempio kubectl, e qualunque pipeline CI/CD in grado di implementare manifesti su Kubernetes. Di seguito sono riportati alcuni esempi di casi d'uso per il provisioning di funzioni Lambda tramite Crossplane:

Per ulteriori informazioni sull'utilizzo di Crossplane con Lambda, consulta:

  • Schemi AWS per Crossplane: questo repository include esempi di utilizzo di Crossplane per l’implementazione di risorse AWS, incluse le funzioni Lambda.

    Nota

    Gli schemi AWS per Crossplane sono in fase di sviluppo attivo e non devono essere utilizzati in produzione.

  • Deploying Lambda with EKS and Crossplane: questo video mostra un esempio avanzato di implementazione di un’architettura serverless AWS con Crossplane, esplorando la progettazione dal punto di vista dello sviluppatore e della piattaforma.