Puede implementar y administrar las funciones de Lambda con la API de Kubernetes mediante los Controladores para Kubernetes (ACK) de AWS
Controladores para Kubernetes (ACK) de AWS
Puede utilizar ACK para implementar y administrar recursos de AWS de la API de Kubernetes. A través de ACK, AWS proporciona controladores personalizados de código abierto para servicios de AWS, como Lambda, Amazon Elastic Container Registry (Amazon ECR), Amazon Simple Storage Service (Amazon S3) y Amazon SageMaker IA. Cada servicio de AWS compatible tiene su propio controlador personalizado. En su clúster de Kubernetes, instale un controlador para cada servicio de AWS que desee utilizar. Luego, cree una Definición de recursos personalizada (CRD)
Se recomienda que utilice Helm 3.8 o posterior
Después de crear el recurso personalizado de ACK, puede utilizarlo como cualquier otro objeto de Kubernetes integrado. Por ejemplo, puede implementar y administrar las funciones de Lambda con las cadenas de herramientas de Kubernetes que prefiera, como kubectl
Estos son algunos ejemplos de casos de uso para el aprovisionamiento de funciones de Lambda a través de ACK:
-
Su organización utiliza el control de acceso basado en roles (RBAC)
y roles de IAM para cuentas de servicio a fin de crear límites de permisos. Con ACK, puede reutilizar este modelo de seguridad para Lambda sin tener que crear políticas ni usuarios nuevos. -
Su organización cuenta con un proceso de DevOps para implementar recursos en un clúster de Amazon Elastic Kubernetes Service (Amazon EKS) mediante manifiestos de Kubernetes. Con ACK, puede utilizar un manifiesto para aprovisionar funciones de Lambda sin tener que crear una infraestructura independiente en forma de plantillas de código.
Para obtener más información sobre el uso de ACK, consulte el Tutorial de Lambda en la documentación de ACK
Crossplane
Crossplane
Con Crossplane, puede implementar y administrar las funciones de Lambda con sus cadenas de herramientas de Kubernetes preferidas, como kubectl
-
Su organización quiere garantizar el cumplimiento de las normas al garantizar que las funciones de Lambda tengan las etiquetas correctas. Los equipos de plataformas pueden utilizar Composiciones de Crossplane
para definir esta política mediante abstracciones de API. Luego, los desarrolladores pueden utilizar estas abstracciones para implementar funciones de Lambda con etiquetas. -
Su proyecto utiliza GitOps con Kubernetes. En este modelo, Kubernetes reconcilia continuamente el repositorio de git (estado deseado) con los recursos que se ejecutan dentro del clúster (estado actual). Si hay diferencias, el proceso de GitOps realiza cambios de forma automática en el clúster. Puede utilizar GitOps con Kubernetes para implementar y administrar las funciones de Lambda a través de Crossplane, mediante herramientas y conceptos conocidos de Kubernetes, como CRD
y Controladores .
Para obtener más información sobre el uso de Crossplane con Lambda, consulte lo siguiente:
-
Esquemas para Crossplane de AWS
: este repositorio incluye ejemplos de cómo utilizar Crossplane para implementar recursos de AWS, incluidas las funciones de Lambda. nota
Los Esquemas para Crossplane de AWS se encuentran en fase de desarrollo activo y no deberían utilizarse en la producción.
-
Implementación de Lambda con Amazon EKS y Crossplane
: en este video se muestra un ejemplo avanzado de implementación de una arquitectura sin servidor de AWS con Crossplane, que explora el diseño desde la perspectiva del desarrollador y de la plataforma.