添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
将 Lambda 与 Kubernetes 结合使用 - AWS Lambda

将 Lambda 与 Kubernetes 结合使用

您可以使用 AWS Controllers for Kubernetes(ACK) Crossplane 通过 Kubernetes API 部署和管理 Lambda 函数。

AWS Controllers for Kubernetes(ACK)

您可以使用 ACK 部署和管理来自 Kubernetes API 的 AWS 资源。通过ACK,AWS为Lambda、亚马逊弹性容器注册表 (Amazon ECR) Registry、亚马逊简单存储AWS服务 (Amazon S3) Service 和亚马逊等服务提供开源自定义控制器。 SageMaker每个支持的 AWS 服务有自己的自定义控制器。在您的 Kubernetes 集群中,为每个您要使用的 AWS 服务安装控制器。然后,创建 自定义资源定义(CRD) 来定义 AWS 资源。

我们建议您使用 Helm 3.8 或更高版本 安装 ACK 控制器。每个 ACK 控制器都有自己的 Helm 图表,用于安装控制器、CRD 和 Kubernetes RBAC 规则。有关更多信息,请参阅 ACK  文档中的 Install an ACK Controller

创建 ACK 自定义资源后,您可以像使用任何其他内置 Kubernetes 对象一样使用此资源。例如,您可以使用首选的 Kubernetes 工具链(包括 kubectl )部署和管理 Lambda 函数。

以下是通过 ACK 预置 Lambda 函数的示例用例:

您的组织使用 基于角色的访问控制(RBAC) 服务账户的 IAM 角色 来创建权限边界。借助 ACK,您可以为 Lambda 重用此安全模型,而无需创建新用户和策略。

您的组织有一个使用 Kubernetes 清单将资源部署到亚马逊 Elastic Kubernetes Service(Amazon EKS)集群的 DevOps 流程。借助 ACK,您可以使用清单来配置 Lambda 函数,而无需创建单独的基础架构作为代码模板。

有关使用 ACK 的更多信息,请参阅 ACK 文档中的 Lambda 教程

Crossplane

Crossplane 是一个开源云原生计算基金会(CNCF)项目,其使用 Kubernetes 来管理云基础设施资源。借助 Crossplane,开发人员可以请求基础设施,而无需了解其复杂性。平台团队保留对基础设施的预置和管理方式的控制。

借助 Crossplane,您可以使用首选的 Kubernetes 工具链(例如 kubectl )部署和管理 Lambda 函数,以及任何可以将清单部署到 Kubernetes 的 CI/CD 管道。以下是通过 Crossplane 预置 Lambda 函数的示例用例:

您的组织想要通过确保 Lambda 函数具有正确的 标签 来强制实施合规性。平台团队可以使用 Crossplane Compositions 通过 API 抽象来定义此策略。然后,开发人员可以使用这些抽象来部署带标签的 Lambda 函数。

您的项目 GitOps 与 Kubernetes 配合使用。在此模型中,Kubernetes 不断将 git 存储库(所需状态)与集群内运行的资源(当前状态)进行协调。如果存在差异,则该 GitOps 过程会自动对群集进行更改。 您可以使用 GitOps 熟悉的 Kubernetes 工具和概念(例如 CRD 和控制器),通过 Crossplane 部署和管理 Lambda 函数。

要了解将 Crossplane 与 Lambda 结合使用的更多信息,请参阅以下内容: