Pod not starting - OCI runtime create failed: runc create fa



可能我遗漏了一些基本的东西。我的pod无法执行shell命令

apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: redis-rs01
labels:
name: redis-rs01
run: redis-rs01
app: redis
spec:
replicas: 3
selector:
matchLabels:
app: redis
template:
metadata:
name: redis
labels:
app: redis
spec:
volumes:
- name: vol001
emptyDir: {}
containers:
- name: redis
image: redis
ports:
- containerPort: 6739
env:
- name: MY_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
volumeMounts:
- name: vol001
mountPath: /tmp
command: ["/bin/sh -c 'mkdir /tmp && touch /tmp/date.log'"]

describe我得到的错误如下

Warning  Failed     14s (x3 over 32s)  kubelet            
Error: failed to create containerd task: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: 
exec: "/bin/sh -c 'mkdir /tmp && touch /tmp/date.log'": stat /bin/sh -c 'mkdir /tmp && touch /tmp/date.log': no such file or directory: unknown

如有任何建议,不胜感激。

谢谢。

您需要格式化您的命令以正确分隔参数,现在您的整个shell命令被认为是一个"shell脚本"文件。使用"sh -c"命令执行。由于没有名为mkdir /tmp && touch /tmp/date.log的文件,shell返回一个错误。

你可以这样修改:

command: ["/bin/sh", "-c", "mkdir /tmp && touch /tmp/date.log"]

您需要传递bin/sh &-c作为命令列表中的单独值,如下所示:

command: ["/bin/sh", "-c", "mkdir /tmp && touch /tmp/date.log"]

相关内容

最新更新