Usar o Lambda com o Kubernetes - AWS Lambda

Usar o Lambda com o Kubernetes

Você pode implantar e gerenciar funções do Lambda com a API do Kubernetes usando o AWS Controllers for Kubernetes (ACK) ou o Crossplane.

AWS Controlllers for Kubernetes (ACK)

Você pode usar o ACK para implantar e gerenciar recursos da AWS da API do Kubernetes. Por meio do ACK, AWS fornece controladores personalizados de código aberto para AWS serviços como Lambda, Amazon Elastic Container Registry (Amazon ECR), Amazon Simple Storage Service (Amazon S3) e Amazon. SageMaker Cada serviço da AWS compatível tem seu próprio controlador personalizado. Em seu cluster do Kubernetes, instale um controlador para cada serviço da AWS que você deseja usar. Em seguida, crie uma Definição de recursos personalizados (CRD) para definir os recursos da AWS.

Recomendamos que você use Helm 3.8 ou posterior para instalar controladores ACK. Todo controlador do ACK vem com seu próprio chart do Helm, que instala o controlador, os CRDs e as regras RBAC do Kubernetes. Para obter mais informações, consulte Install an ACK Controller na documentação do ACK.

Depois de criar o recurso do ACK personalizado, você pode usá-lo como qualquer outro objeto incorporado do Kubernetes. Por exemplo, você pode implantar e gerenciar funções do Lambda com suas cadeias de ferramentas do Kubernetes preferenciais, incluindo kubectl.

Aqui estão alguns exemplos de casos de uso para provisionar funções do Lambda por meio do ACK:

  • Sua organização usa controle de acesso baseado em funções (RBAC) e perfis do IAM para contas de serviço para criar limites de permissões. Com o ACK, você pode reutilizar esse modelo de segurança para o Lambda sem precisar criar novos usuários e políticas.

  • Sua organização tem um DevOps processo para implantar recursos em um cluster do Amazon Elastic Kubernetes Service (Amazon EKS) usando manifestos do Kubernetes. Com o ACK, você pode usar um manifesto para provisionar funções do Lambda sem criar uma infraestrutura separada como modelos de código.

Para obter mais informações sobre o uso do ACK, consulte Lambda tutorial in the ACK documentation.

Crossplane

Crossplane é um projeto de código aberto da Cloud Native Computing Foundation (CNCF) que usa o Kubernetes para gerenciar recursos de infraestrutura em nuvem. Com o Crossplane, os desenvolvedores podem solicitar infraestrutura sem precisar entender suas complexidades. As equipes da plataforma retêm o controle sobre como a infraestrutura é provisionada e gerenciada.

Usando o Crossplane, você pode implantar e gerenciar funções do Lambda com suas cadeias de ferramentas Kubernetes preferenciais, como kubectl, e qualquer pipeline de CI/CD que possa implantar manifestos no Kubernetes. Aqui estão alguns exemplos de casos de uso para provisionar funções do Lambda por meio do Crossplane:

Para obter mais informações sobre como usar o Crossplane com o Lambda, veja o seguinte:

  • Esquemas para Crossplane da AWS: este repositório inclui exemplos de como usar o Crossplane para implantar recursos da AWS, incluindo funções do Lambda.

    nota

    Os esquemas para Crossplane da AWS estão em desenvolvimento ativo e não devem ser usados na produção.

  • Deploying Lambda with Amazon EKS and Crossplane: este vídeo demonstra um exemplo avançado de implantação de um arquitetura sem servidor da AWS com Crossplane, explorando o design tanto da perspectiva do desenvolvedor quanto da plataforma.