- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Airflow 在 AWS EKS 上运行 KubernetesPodOperator
获取 kubernetes.client.rest.ApiException: (400),指出版本\"v1\"中的 Pod 不能作为 Pod 处理:v1.Pod.Spec。
aws-eks 不支持这种类型的 pod 创建吗?
这是完整的日志
[2019-03-13 01:13:47,991] {models.py:1593} INFO - Executing
<Task(KubernetesPodOperator): failing-task> on 2019-03-
13T01:12:33.980710+00:00
[2019-03-13 01:13:47,991] {base_task_runner.py:118} INFO - Running:
['bash', '-c', 'airflow run testkuberete2 failing-task 2019-03-
13T01:12:33.980710+00:00 --job_id 20 --raw -sd DAGS_FOLDER/test-
kubepodopptest5.py --cfg_path /tmp/tmpmwb4uzk0']
[2019-03-13 01:13:48,415] {base_task_runner.py:101} INFO - Job 20:
Subtask failing-task [2019-03-13 01:13:48,415] {settings.py:174} INFO -
settings.configure_orm(): Using pool settings. pool_size=5,
pool_recycle=3600, pid=408
[2019-03-13 01:13:48,864] {base_task_runner.py:101} INFO - Job 20:
Subtask failing-task [2019-03-13 01:13:48,863] {__init__.py:51} INFO -
Using executor CeleryExecutor
[2019-03-13 01:13:49,115] {base_task_runner.py:101} INFO - Job 20:
Subtask failing-task [2019-03-13 01:13:49,114] {models.py:273} INFO -
Filling up the DagBag from /usr/local/airflow/dags/test-
kubepodopptest5.py
[2019-03-13 01:13:49,473] {base_task_runner.py:101} INFO - Job 20:
Subtask failing-task [2019-03-13 01:13:49,473] {cli.py:520} INFO -
Running <TaskInstance: testkuberete2.failing-task 2019-03-
13T01:12:33.980710+00:00 [running]> on host airflow-worker-1.airflow-
worker.rguonew.svc.cluster.local
[2019-03-13 01:13:49,782] {logging_mixin.py:95} INFO - [2019-03-13
01:13:49,781] {api_client.py:117} ERROR - header_params {Accept
application/json}
[2019-03-13 01:13:49,782] {logging_mixin.py:95} INFO - [2019-03-13
01:13:49,782] {api_client.py:117} ERROR - header_params {Content-Type
application/json}
[2019-03-13 01:13:49,782] {logging_mixin.py:95} INFO - [2019-03-13
01:13:49,782] {api_client.py:117} ERROR - header_params {User-Agent
Swagger-Codegen/8.0.1/python}
[2019-03-13 01:13:49,782] {logging_mixin.py:95} INFO - [2019-03-13
01:13:49,782] {api_client.py:128} ERROR - resource_path {namespace
rguonew}
[2019-03-13 01:13:49,782] {logging_mixin.py:95} INFO - [2019-03-13
01:13:49,782] {api_client.py:151} ERROR - body {{'apiVersion': 'v1',
'kind': 'Pod', 'metadata': {'name': 'fail-422f98fc', 'labels': {},
'annotations': {}}, 'spec': {'containers': [{'name': 'base',
'image':
'python:3.6.6-stretch', 'command': 'echo', 'imagePullPolicy':
'IfNotPresent', 'args': '10'}], 'restartPolicy': 'Never',
'nodeSelector': {}, 'volumes': [], 'serviceAccountName': 'default',
'affinity': {}}}}
[2019-03-13 01:13:49,782] {logging_mixin.py:95} INFO - [2019-03-13
01:13:49,782] {api_client.py:155} ERROR - url
{https://xxxxxxxxxxxx.xxxx.us-east-
1.eks.amazonaws.com/api/v1/namespaces/rguonew/pods}
[2019-03-13 01:13:49,838] {logging_mixin.py:95} INFO - [2019-03-13
01:13:49,823] {pod_launcher.py:58} ERROR - Exception when attempting to
create Namespaced Pod.
Traceback
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-
packages/airflow/contrib/kubernetes/pod_launcher.py", line 55, in
run_pod_async
resp = self._client.create_namespaced_pod(body=req,
namespace=pod.namespace)
File "/usr/local/lib/python3.6/site-
packages/kubernetes/client/apis/core_v1_api.py", line 6115, in
create_namespaced_pod
(data) = self.create_namespaced_pod_with_http_info(namespace, body,
**kwargs)
File "/usr/local/lib/python3.6/site-
packages/kubernetes/client/apis/core_v1_api.py", line 6206, in
create_namespaced_pod_with_http_info
collection_formats=collection_formats)
File "/usr/local/lib/python3.6/site-
packages/kubernetes/client/api_client.py", line 329, in call_api
_return_http_data_only, collection_formats, _preload_content,
_request_timeout)
File "/usr/local/lib/python3.6/site-packages/kubernetes/client/ap
i_client.py", line 163, in __call_api
_request_timeout=_request_timeout)
File "/usr/local/lib/python3.6/site-
packages/kubernetes/client/api_client.py", line 372, in request
body=body)
File "/usr/local/lib/python3.6/site-
packages/kubernetes/client/rest.py", line 266, in POST
body=body)
File "/usr/local/lib/python3.6/site-
packages/kubernetes/client/rest.py", line 222, in request
raise ApiException(http_resp=r)
kubernetes.client.rest.ApiException: (400)
Reason: Bad Request
HTTP response headers: HTTPHeaderDict({'Audit-Id': '96f8ffee-3e65-47a7-
bb3c-fe519281ee45', 'Content-Type': 'application/json', 'Date': 'Wed,
13 Mar 2019 01:13:49 GMT', 'Content-Length': '491'})
HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":
{},"status":"Failure","message":"Pod in version \"v1\" cannot be
handled as a Pod: v1.Pod.Spec: v1.PodSpec.Containers: []v1.Container:
v1.Container.Command: []string: decode slice: expect [ or n, but found
\", error found in #10 byte of ...|ommand\": \"echo\", \"im|..., bigger
context ...|se\", \"image\": \"python:3.6.6-stretch\", \"command\":
\"echo\", \"imagePullPolicy\": \"IfNotPresent\", \"args\":
|...","reason":"BadRequest","code":400}
[2019-03-13 01:13:49,838] {logging_mixin.py:95} INFO -
最佳答案
啊,很高兴找到另一个在 EKS 上使用 Airflow 的人!!
我也在运行类似的 Airflow 工作负载,可以确认 AWS EKS 支持 KubernetesPodOperator。
查看响应,我认为在实例化 KubernetesPodOperator 时,用于创建 pod 的 API 调用可能被破坏,或者您的 Python 代码包含不正确的参数类型。
我解码了您的 pod 定义(如果有误,请纠正我):
---
apiVersion: v1
kind: Pod
metadata:
name: fail-422f98fc
labels: {}
annotations: {}
spec:
containers:
- name: base
image: python:3.6.6-stretch
command: echo
imagePullPolicy: IfNotPresent
args: '10'
restartPolicy: Never
nodeSelector: {}
volumes: []
serviceAccountName: default
affinity: {}
---
apiVersion: v1
kind: Pod
metadata:
name: fail-422f98fc
labels: {}
annotations: {}
spec:
containers:
- name: base
image: python:3.6.6-stretch
command: ['echo']
imagePullPolicy: IfNotPresent
args: ['10']
restartPolicy: Never
nodeSelector: {}
volumes: []
serviceAccountName: default
affinity: {}
关于版本\"v1\"中的 KubernetesPodOperator Pod 不能作为 Pod : v1. Pod.Spec 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55149113/
我在 Kubernetes 上运行 Airflow 并使用 “Kubernetes 运营商” . 当我运行 BashOperator 或 Python运算符(operator)它有效很好 使用: ex
我正在尝试使用 KubernetesPodOperator 在开发 iMac (10.15.6) 机器上进行测试。用于 minikube 和 kubectl 的版本如下所示。使用的 Airflow 版
我在 Airflow 中使用来自 KubernetesPodOperator() 的 ffmpeg docker 图像从视频中提取帧。 它工作正常,但我无法检索存储的帧:如何将 Pod 生成的帧直接存
我在 Google 的 Cloud Composer 上运行 Airflow。我正在使用 KubernetesPodOperator并希望通过 gcsfuse 将谷歌存储桶挂载到 pod 中的目录中.
我希望在使用 KubernetesPodOperator 时创建一个 sidecar 容器。我看到使用 pod_mutation_hook 创建 init 容器 的选项,但没有看到创建 sidecar
我正尝试按照此处的文档在我的 Composer 环境中运行一个简单的 KubernetesPodOperator。 由于用户“默认”权限不足, Airflow 运行时失败。 也就是说,如何正确创建环境
Executor 会自动向 Pod 发送任务,还是需要运算符(operator)来做? 每个运算符(operator)都有“executor_config”参数,所以我不确定何时使用。 最佳答案 它们
我正在编写一个 Airflow DAG 来从 API 中提取数据并将其存储在我拥有的数据库中。遵循 We're All Using Airflow Wrong 中概述的最佳实践,我将 DAG 编写为一
我开始使用 Airflow 并尝试使用 KubernetesPodOperator,但我无法从私有(private)注册表下载图像。我做了一些研究,但我找不到我的问题的答案。 简单地说:我可以将来自
我们有一些使用 KubernetesPodOperator 启动 pod 的 dag,我正在尝试获取 pod 内的一些信息,例如 dag_id、task_id、try_number、环境等。 我知道我
我正在 Google Cloud Composer 上设置 Airflow 环境以进行测试。我在我的命名空间中添加了一些 secret ,它们显示得很好: $ kubectl describe sec
我最近开始了一项概念验证,以扩展我们的 Airflow,以使用 KubernetesPodOperator 在我们的 kubernetes 环境中启动一个 pod,该 pod 也托管我们的 Airfl
在 kubernetes 集群中放置了一个 Apache Airflow 实例:网络服务器、调度程序和 postgresql。使用基于 bitnami 构建的自定义 helm 图表并进行一些更改。 A
我想在使用airflow的任务中使用connections saved in KubernetesPodOperator 。 在开发镜像时,我使用环境变量将数据库连接信息向下传递到容器,但是生产环境将
使用 Airflow 在 AWS EKS 上运行 KubernetesPodOperator 获取 kubernetes.client.rest.ApiException: (400),指出版本\"v
我正在运行带有通过microk8s导入的自定义docker镜像的KubernetesPodOperator。在气流中运行DAG时,我会看到以下日志,直到收到超时消息AirflowException('
我是一名优秀的程序员,十分优秀!