【发布时间】:2022-09-29 16:42:08
【问题描述】:
我想通过 Cloud Composer 在 Kubernetes pod 中运行一个 docker,为此我遵循了所有提到的步骤here 并验证了绑定,我使用了默认服务帐户以及 Kubernetes pod 的默认命名空间。
我正在尝试访问 Cloud Composer 中的 Form API--> KubernetesPodOperator --> Docker 映像(访问 Google Form API 的应用程序) 这可以提取图像甚至运行它,但是,当它尝试访问表单 API 时, 收到以下错误:
[2022-09-23 16:17:49,839] {pod_manager.py:197} INFO - java.io.IOException: Unexpected Error code 403 trying to get security access token from Compute Engine metadata for the default service account: Missing required header \"Metadata-Flavor\": \"Google\"
[2022-09-23 16:17:49,840] {pod_manager.py:197} INFO -
[2022-09-23 16:17:49,840] {pod_manager.py:197} INFO - at com.google.auth.oauth2.ComputeEngineCredentials.refreshAccessToken(ComputeEngineCredentials.java:75) ~[cli.jar:?]
[2022-09-23 16:17:49,841] {pod_manager.py:197} INFO - at com.google.auth.oauth2.OAuth2Credentials.refresh(OAuth2Credentials.java:76) ~[cli.jar:?]
[2022-09-23 16:17:49,841] {pod_manager.py:197} INFO - at com.google.auth.oauth2.OAuth2Credentials.getRequestMetadata(OAuth2Credentials.java:53) ~[cli.jar:?]
[2022-09-23 16:17:49,841] {pod_manager.py:197} INFO - at com.google.auth.http.HttpCredentialsAdapter.initialize(HttpCredentialsAdapter.java:40) ~[cli.jar:?]
[2022-09-23 16:17:49,842] {pod_manager.py:197} INFO - at com.google.api.client.http.HttpRequestFactory.buildRequest(HttpRequestFactory.java:91) ~[cli.jar:?]
[2022-09-23 16:17:49,842] {pod_manager.py:197} INFO - at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.buildHttpRequest(AbstractGoogleClientRequest.java:415) ~[cli.jar:?]
[2022-09-23 16:17:49,843] {pod_manager.py:197} INFO - at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:525) ~[cli.jar:?]
[2022-09-23 16:17:49,844] {pod_manager.py:197} INFO - at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:466) ~[cli.jar:?]
[2022-09-23 16:17:49,845] {pod_manager.py:197} INFO - at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:576) ~[cli.jar:?]
DAG sn-p:
kubernetes_min_pod = KubernetesPodOperator(
task_id=\'google-form-importer\',
name=\'google-form-importer\',
namespace=\'default\',
service_account_name=\'default\',
image=\'pulling to be pulled\',
arguments=[\"An_argument\"],
get_logs=True,
image_pull_policy=\'Always\',
log_events_on_failure=True,
env_vars= {
\'ALL_ENVS\':\'ItsValue\'
}
)
谢谢您的帮助!
标签: airflow service-accounts docker-container google-cloud-composer kubernetespodoperator