Utilisation de Lambda avec Kubernetes - AWS Lambda

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de Lambda avec Kubernetes

Vous pouvez déployer et gérer des fonctions Lambda avec l'API Kubernetes à l'aide d’AWS Controllers for Kubernetes (ACK) ou Crossplane.

AWS Controllers for Kubernetes (ACK)

Vous pouvez utiliser ACK pour déployer et gérer des ressources AWS de l'API Kubernetes. Grâce à ACK, AWS fournit des contrôleurs personnalisés open source pour AWS des services tels que Lambda, Amazon Elastic Container Registry (Amazon ECR), Amazon Simple Storage Service (Amazon S3) et Amazon. SageMaker Chaque service AWS pris en charge possède son propre contrôleur personnalisé. Dans votre cluster Kubernetes, installez un contrôleur pour chaque service AWS que vous souhaitez utiliser. Créez ensuite une définition de ressource personnalisée (Custom Resource Definition, CRD) pour définir les ressources AWS.

Nous vous recommandons d'utiliser Helm 3.8 ou version ultérieure pour installer les contrôleurs ACK. Chaque contrôleur ACK est doté de ses propres Charts de Helm, qui installent le contrôleur, les CRD et les règles RBAC de Kubernetes. Pour plus d'informations, consultez Installer un contrôleur ACK dans la documentation ACK.

Après avoir créé la ressource personnalisée ACK, vous pouvez l'utiliser comme n'importe quel autre objet Kubernetes intégré. Par exemple, vous pouvez déployer et gérer des fonctions Lambda avec vos chaînes d'outils Kubernetes préférées, notamment kubectl.

Voici quelques exemples de cas d'utilisation pour le provisionnement de fonctions Lambda via ACK :

  • Votre organisation utilise le contrôle d'accès basé sur les rôles (RBAC) et des rôles IAM pour les comptes de service afin de créer les limites des autorisations. Avec ACK, vous pouvez réutiliser ce modèle de sécurité pour Lambda sans avoir à créer d'autres utilisateurs et stratégies.

  • Votre organisation dispose d'un DevOps processus pour déployer des ressources dans un cluster Amazon Elastic Kubernetes Service (Amazon EKS) à l'aide de manifestes Kubernetes. Avec ACK, vous pouvez utiliser un manifeste pour provisionner des fonctions Lambda sans créer d'infrastructure distincte sous forme de modèles de code.

Pour plus d'informations sur l'utilisation d'ACK, consultez le didacticiel Lambda dans la documentation ACK.

Crossplane

Crossplane est un projet open source de la Cloud Native Computing Foundation (CNCF) qui utilise Kubernetes pour gérer les ressources de l'infrastructure cloud. Avec Crossplane, les développeurs peuvent demander une infrastructure sans avoir à en comprendre la complexité. Les équipes chargées de la plateforme gardent le contrôle de la manière dont l'infrastructure est provisionnée et gérée.

À l'aide de Crossplane, vous pouvez déployer et gérer des fonctions Lambda avec vos chaînes d'outils Kubernetes préférées, telles que kubectl, et tout pipeline CI/CD capable de déployer des manifestes sur Kubernetes. Voici quelques exemples de cas d'utilisation pour le provisionnement de fonctions Lambda via Crossplane :

Pour en savoir plus sur l'utilisation de Crossplane avec Lambda, consultez les rubriques suivantes :

  • Plans AWS pour Crossplane : ce référentiel inclut des exemples d'utilisation de Crossplane pour déployer des ressources AWS, y compris les fonctions Lambda.

    Note

    Les plans AWS pour Crossplane sont en cours de développement et ne devraient pas être utilisés en production.

  • Déploiement de Lambda avec Amazon EKS et Crossplane : cette vidéo montre un exemple avancé de déploiement d'une architecture sans serveur AWS avec Crossplane, explorant la conception du point de vue du développeur et de la plateforme.