如何在Google Cloud Composer工作节点上更新gcloud



这里有一个类似的问题,但从2018年开始,解决方案需要更改工人的基本映像。另一个建议是将ssh安装到每个节点中,并在那里进行apt-get安装。这似乎并不有用,因为当自动缩放生成新节点时,您需要一次又一次地执行。

无论如何,有没有合理的方法在2020年末升级基础gcloud?

由于任务实例在共享执行环境中运行,因此通常不建议在Composer Airflow任务中使用gcloud CLI(如果可能(,以避免状态或版本冲突。例如,如果有多个用户使用同一个Cloud Composer环境,并且其中一个用户更改了gcloud使用的活动凭据,那么他们可能会在不知不觉中破坏另一个用户的工作流。

相反,可以考虑使用Cloud SDK Python库以编程方式执行您需要执行的操作,或者使用airflow.providers.google.cloud运算符,后者可能已经具备了您需要的功能。

如果确实需要使用gcloud CLI并且不共享环境,则可以使用带有安装/升级脚本的BashOperator为任何需要使用CLI的任务创建先决条件。或者,您可以在安装了gcloud的情况下构建一个自定义Docker映像,并使用GKEPodOperatorKubernetesPodOperator运行Kubernetes pod来运行CLI命令。这将比每次验证依赖关系更慢,但更可靠。

最新更新