如何设置 Google Cloud Composer 以便能够在 GKE Autopilot 集群上启动 pods
How to setup Google Cloud Composer to be able to launch pods on a GKE Autopilot cluster
我希望能够使用 Google Cloud Composer 集群将 kubernetes pods 从其 DAG 启动到单独的 GKE Autopilot 集群,而不是 Cloud Composer 的 GKE 集群。
我创建了一个 GKE autopilot 集群,“控制平面全局访问”设置为禁用,并且只允许某些授权网络连接到控制平面。 (基于 documentation 中推荐的安全最佳实践)
我的 pods 都无法启动,并显示以下错误消息:
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='3X.XXX.XXX.XX6', port=443): Max retries exceeded with url: /api/v1/namespaces/sink/pods?labelSelector=dag_id%3Dtest_dag%2Cexecution_date%3D2021-03-17T212059.4745700000-f0b251c80%2Ctask_id%3Dtest_sync (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f0f3f6a4e80>: Failed to establish a new connection: [Errno 110] Connection timed out',)
我正在使用 GKEStartPodOperator,它之前能够在自我管理(非自动驾驶)且未禁用“控制平面全局访问”的 GKE 集群上启动 pods。
是否有关于如何设置 Composer 以连接到不向控制平面公开全局访问权限的 GKE 自动驾驶集群并启动的文档pods?
即使使用 GKE Autopilot,您也可以使用最初为普通 GKE 集群编写的同一组运算符,例如 GKEStartPodOperator
。由于您看到的错误是 Kubernetes 控制平面超时,因此您的 authorized networks 设置很可能不包括 Cloud Composer 环境的工作人员使用的地址。
如果您使用的是标准 Composer 环境(非私有 IP),您将需要确保 GCP 范围包含在您的授权网络中(因为您环境的节点被分配了临时的 public 地址) .
如果您使用私有 IP 环境,则可以使用私有连接访问 Kubernetes 控制平面,或者,您可以配置 Cloud NAT 以允许您的环境使用静态 IP 地址访问网络资源。在后一种情况下,NAT 的 IP 地址需要包含在您的授权网络设置中。
我希望能够使用 Google Cloud Composer 集群将 kubernetes pods 从其 DAG 启动到单独的 GKE Autopilot 集群,而不是 Cloud Composer 的 GKE 集群。
我创建了一个 GKE autopilot 集群,“控制平面全局访问”设置为禁用,并且只允许某些授权网络连接到控制平面。 (基于 documentation 中推荐的安全最佳实践)
我的 pods 都无法启动,并显示以下错误消息:
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='3X.XXX.XXX.XX6', port=443): Max retries exceeded with url: /api/v1/namespaces/sink/pods?labelSelector=dag_id%3Dtest_dag%2Cexecution_date%3D2021-03-17T212059.4745700000-f0b251c80%2Ctask_id%3Dtest_sync (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f0f3f6a4e80>: Failed to establish a new connection: [Errno 110] Connection timed out',)
我正在使用 GKEStartPodOperator,它之前能够在自我管理(非自动驾驶)且未禁用“控制平面全局访问”的 GKE 集群上启动 pods。
是否有关于如何设置 Composer 以连接到不向控制平面公开全局访问权限的 GKE 自动驾驶集群并启动的文档pods?
即使使用 GKE Autopilot,您也可以使用最初为普通 GKE 集群编写的同一组运算符,例如 GKEStartPodOperator
。由于您看到的错误是 Kubernetes 控制平面超时,因此您的 authorized networks 设置很可能不包括 Cloud Composer 环境的工作人员使用的地址。
如果您使用的是标准 Composer 环境(非私有 IP),您将需要确保 GCP 范围包含在您的授权网络中(因为您环境的节点被分配了临时的 public 地址) .
如果您使用私有 IP 环境,则可以使用私有连接访问 Kubernetes 控制平面,或者,您可以配置 Cloud NAT 以允许您的环境使用静态 IP 地址访问网络资源。在后一种情况下,NAT 的 IP 地址需要包含在您的授权网络设置中。