Airflow Helm Chart 工作节点错误 - CrashLoopBackOff
Airflow Helm Chart Worker Node Error - CrashLoopBackOff
我正在使用官方 Helm chart 进行气流处理。除了 Worker 节点 .
,每个 Pod 都正常工作
即使在该工作节点中,2 个容器(git-sync 和 worker-log-groomer)也能正常工作。
错误发生在 CrashLoopBackOff 的第 3 个容器(worker)中。退出代码状态为 137 OOMkilled。
在我的 openshift 中,内存使用率显示为 70%。
虽然这个错误是由于内存泄漏引起的。对于这一个,情况并非如此。请帮助,我已经进行了一个星期了。
Kubectl 描述 pod airflow-worker-0 ->
worker:
Container ID: <>
Image: <>
Image ID: <>
Port: <>
Host Port: <>
Args:
bash
-c
exec \
airflow celery worker
State: Running
Started: <>
Last State: Terminated
Reason: OOMKilled
Exit Code: 137
Started: <>
Finished: <>
Ready: True
Restart Count: 3
Limits:
ephemeral-storage: 30G
memory: 1Gi
Requests:
cpu: 50m
ephemeral-storage: 100M
memory: 409Mi
Environment:
DUMB_INIT_SETSID: 0
AIRFLOW__CORE__FERNET_KEY: <> Optional: false
Mounts:
<>
git-sync:
Container ID: <>
Image: <>
Image ID: <>
Port: <none>
Host Port: <none>
State: Running
Started: <>
Ready: True
Restart Count: 0
Limits:
ephemeral-storage: 30G
memory: 1Gi
Requests:
cpu: 50m
ephemeral-storage: 100M
memory: 409Mi
Environment:
GIT_SYNC_REV: HEAD
Mounts:
<>
worker-log-groomer:
Container ID: <>
Image: <>
Image ID: <>
Port: <none>
Host Port: <none>
Args:
bash
/clean-logs
State: Running
Started: <>
Ready: True
Restart Count: 0
Limits:
ephemeral-storage: 30G
memory: 1Gi
Requests:
cpu: 50m
ephemeral-storage: 100M
memory: 409Mi
Environment:
AIRFLOW__LOG_RETENTION_DAYS: 5
Mounts:
<>
我很确定你知道答案。阅读你所有关于气流的文章。谢谢 :)
https://whosebug.com/users/1376561/marc-lamberti
由于在 helm chart 下的“resources”中放置了 limit - values.yaml pods.
按默认是-
resources: {}
但这会导致问题,因为 pods 可以根据需要访问无限内存。
通过将其更改为 -
resources:
limits:
cpu: 200m
memory: 2Gi
requests:
cpu: 100m
memory: 512Mi
它让 pod 清楚它可以访问和请求多少。
这解决了我的问题。
我正在使用官方 Helm chart 进行气流处理。除了 Worker 节点 .
,每个 Pod 都正常工作即使在该工作节点中,2 个容器(git-sync 和 worker-log-groomer)也能正常工作。
错误发生在 CrashLoopBackOff 的第 3 个容器(worker)中。退出代码状态为 137 OOMkilled。
在我的 openshift 中,内存使用率显示为 70%。
虽然这个错误是由于内存泄漏引起的。对于这一个,情况并非如此。请帮助,我已经进行了一个星期了。
Kubectl 描述 pod airflow-worker-0 ->
worker:
Container ID: <>
Image: <>
Image ID: <>
Port: <>
Host Port: <>
Args:
bash
-c
exec \
airflow celery worker
State: Running
Started: <>
Last State: Terminated
Reason: OOMKilled
Exit Code: 137
Started: <>
Finished: <>
Ready: True
Restart Count: 3
Limits:
ephemeral-storage: 30G
memory: 1Gi
Requests:
cpu: 50m
ephemeral-storage: 100M
memory: 409Mi
Environment:
DUMB_INIT_SETSID: 0
AIRFLOW__CORE__FERNET_KEY: <> Optional: false
Mounts:
<>
git-sync:
Container ID: <>
Image: <>
Image ID: <>
Port: <none>
Host Port: <none>
State: Running
Started: <>
Ready: True
Restart Count: 0
Limits:
ephemeral-storage: 30G
memory: 1Gi
Requests:
cpu: 50m
ephemeral-storage: 100M
memory: 409Mi
Environment:
GIT_SYNC_REV: HEAD
Mounts:
<>
worker-log-groomer:
Container ID: <>
Image: <>
Image ID: <>
Port: <none>
Host Port: <none>
Args:
bash
/clean-logs
State: Running
Started: <>
Ready: True
Restart Count: 0
Limits:
ephemeral-storage: 30G
memory: 1Gi
Requests:
cpu: 50m
ephemeral-storage: 100M
memory: 409Mi
Environment:
AIRFLOW__LOG_RETENTION_DAYS: 5
Mounts:
<>
我很确定你知道答案。阅读你所有关于气流的文章。谢谢 :) https://whosebug.com/users/1376561/marc-lamberti
由于在 helm chart 下的“resources”中放置了 limit - values.yaml pods.
按默认是-
resources: {}
但这会导致问题,因为 pods 可以根据需要访问无限内存。
通过将其更改为 -
resources:
limits:
cpu: 200m
memory: 2Gi
requests:
cpu: 100m
memory: 512Mi
它让 pod 清楚它可以访问和请求多少。 这解决了我的问题。