我在
eks
上托管了一个气流,我正在尝试使用 EksPodOperator
运行任务,例如:
task = EksPodOperator(
dag=dag,
task_id="start_pod",
pod_name="test_pod",
cluster_name="cluster-name",
image="amazon/aws-cli:latest",
cmds=["sh", "-c", "echo Test Airflow; date"],
labels={"demo": "hello_world"},
get_logs=True,
is_delete_operator_pod=True,
kubernetes_conn_id="kubernetes_cluster",
annotations={"kubernetes.io/config.mirror": ""},
affinity=k8s.V1Affinity(
node_affinity=k8s.V1NodeAffinity(
required_during_scheduling_ignored_during_execution=k8s.V1NodeSelector(
node_selector_terms=[
k8s.V1NodeSelectorTerm(
match_expressions=[
k8s.V1NodeSelectorRequirement(
key="alpha.eksctl.io/nodegroup-name",
operator="In",
values=["worker-uat"],
)
]
)
]
)
)
),
)
但是,即使尝试了多种方法,我仍然不断收到错误消息:
Reason: Forbidden
HTTP response headers: HTTPHeaderDict({'Audit-Id': 'XXXXXXXXXXX', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'X-Kubernetes-Pf-Flowschema-Uid': 'XXXXXXXXX', 'X-Kubernetes-Pf-Prioritylevel-Uid': 'XXXXXX', 'Date': 'Wed, 26 Apr 2023 07:16:40 GMT', 'Content-Length': '313'})
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"pods \"test-pod-387fpfvu\" is forbidden: node \"ip-XXXXXXXXXXus-west-2.compute.internal\" can only create pods with spec.nodeName set to itself","reason":"Forbidden","details":{"name":"test-pod-387fpfvu","kind":"pods"},"code":403}
我不知道我到底错过了什么