【发布时间】:2021-12-08 19:29:46
【问题描述】:
我在 AWS 中有一个 3 节点 K8 v1.21 集群,正在寻找 SOLID 配置以使用 cronjob 运行脚本。我在这里看到了很多文档,Google 使用 cronjob 和 hostPath 到 Persistent Volumes/Claims 到使用 ConfigMaps,列表就是一个。
我不断收到“Back-off restarting failed container/CrashLoopBackOff”错误。
非常感谢任何帮助。
我尝试运行的脚本是基本的,仅用于测试
#! /bin/<br/>
kubectl create deployment nginx --image=nginx
仍然遇到同样的错误。
使用 eksctl 创建的 AWS 集群中的这个 hostPath 有效。
apiVersion: v1
kind: Pod
metadata:
name: redis-hostpath
spec:
containers:
- image: redis
name: redis-container
volumeMounts:
- mountPath: /test-mnt
name: test-vol
volumes:
- name: test-vol
hostPath:
path: /test-vol
更新
尝试在新集群上的 GCP 中运行您的配置。我唯一改变的是 /home/script.sh 到 /home/admin/script.sh
您是否在集群上对此进行了测试?
Warning FailedPostStartHook 5m27s kubelet Exec lifecycle hook ([/home/mchung/script.sh]) for Container "busybox" in Pod "dumb-job-1635012900-qphqr_default(305c4ed4-08d1-4585-83e0-37a2bc008487)" failed - error: rpc error: code = Unknown desc = failed to exec in container: failed to create exec "0f9f72ccc6279542f18ebe77f497e8c2a8fd52f8dfad118c723a1ba025b05771": cannot exec in a deleted state: unknown, message: ""
Normal Killing 5m27s kubelet FailedPostStartHook
【问题讨论】:
-
欢迎来到 StackOverflow!请编辑您的问题并添加您要运行的规格。 CrashLoopBackOff 中的 Pod 意味着它正在抛出错误,可能来自它试图执行的脚本。你能发布你的 cronjob 的 yaml 定义吗?
-
就像@AndD 所说,将 YAML 清单附加到您的问题中。还可以通过运行
kubectl logs <pod_name>来提供该失败 pod 的日志,这也很有帮助。您提供的信息越多,调试问题就越容易。 -
是的,刚刚加入并试图弄清楚如何将清单粘贴到此处
-
我还不允许包含嵌入的图像,所以请点击链接
标签: kubernetes kubernetes-cronjob