使用 ekspodoperator 时出现错误只能创建 spec.nodeName 设置为自身的 pod

问题描述 投票:0回答:0

我在

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}

我不知道我到底错过了什么

amazon-web-services kubernetes airflow kubectl amazon-eks
© www.soinside.com 2019 - 2024. All rights reserved.