将 kubernetes-secrets 与 Google Composer 结合使用

Using kubernetes-secrets with Google Composer

是否可以将 kubernetes-secrets 与 Google Composer 一起使用,以便从 Airflow worker 访问机密?

我们正在将 k8s 秘密与我们现有的独立 k8s Airflow 集群一起使用,并希望我们可以通过 Google Composer 实现相同的目标。

Airflow 工作人员可以使用 Kubernetes 秘密。您可以为您希望在 Airflow 中本地工作的任何 API 贡献组件,以便凭据可以作为连接存储在 Airflow 的元数据数据库中,该数据库是静态加密的。使用 Airflow connection involves storing the secret key in GCS with an appropriate ACL, and setting up Composer to secure the connection.

您可以编写自己的自定义操作符来访问 Kubernetes 中的秘密并使用它。查看 SimpleHttpOperator - 此模式可应用于任何任意秘密管理方案。这适用于访问 Airflow Connections、Hooks 和 Operators 未明确支持的外部服务的场景。

希望对您有所帮助。

默认情况下,Kubernetes 机密不会暴露给 Cloud Composer 部署的 Airflow 工作人员。您可以修补部署以添加它们(airflow-workerairflow-scheduler),但如果您对环境执行更新(例如配置更新或在-地方升级)。

使用 Airflow 连接(使用 Fernet 在元数据数据库中加密)或使用 KubernetesPodOperator 启动 new pods 可能是最简单的/GKEPodOperator 并在 pod 启动时将相关的秘密安装到 pod 中。