Você pode implantar e gerenciar funções do Lambda com a API do Kubernetes usando o AWS Controllers for Kubernetes (ACK)
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, a AWS fornece controladores personalizados de código aberto para serviços da AWS, como o Lambda, Amazon Elastic Container Registry (Amazon ECR), Amazon Simple Storage Service (Amazon S3) e Amazon SageMaker AI. 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)
Recomendamos que você use Helm 3.8 ou posterior
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 processo de DevOps 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
Usando o Crossplane, você pode implantar e gerenciar funções do Lambda com suas cadeias de ferramentas Kubernetes preferenciais, como kubectl
-
Sua organização deseja impor a conformidade garantindo que as funções do Lambda tenham as tags corretas. As equipes da plataforma podem usar Composições de Crossplane
para definir essa política por meio de abstrações de API. Os desenvolvedores podem então usar essas abstrações para implantar funções do Lambda com tags. -
Seu projeto usa o GitOps com o Kubernetes. Nesse modelo, o Kubernetes reconcilia continuamente o repositório git (estado desejado) com os recursos em execução dentro do cluster (estado atual). Se houver diferenças, o processo do GitOps fará alterações no cluster automaticamente. Você pode usar o GitOps com o Kubernetes para implantar e gerenciar funções do Lambda por meio do Crossplane, usando ferramentas e conceitos familiares do Kubernetes, como CRDs
e Controladores .
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.