I have read many links similar to my issue, but none of them were helping me to resolve the issue.
Similar Links:
Problem Description:
I have created a new Kubernetes cluster using Kubespray
. When I wanted to execute some commands in one of containers I faced to the following error:
kubectl exec -it -n rook-ceph rook-ceph-tools-68d847b88d-7kw2v -- sh
OCI runtime exec failed: exec failed: unable to start container process: open /dev/pts/1: operation not permitted: unknown command terminated with exit code 126
I have also logged in to the node, which runs the pod, and try executing the container using docker exec
command, but the error was not changed.
Workarounds:
As I have found, the error code (126) implies that the permissions are insufficient, but I haven't faced this kind of error (like executing sh
) in Docker or Kubernetes.
I have also checked whether SELinux
is enabled or not (as it has been said in the 3rd link).
apt install policycoreutils
sestatus
# Output
SELinux status: disabled
In the 5th link, it was said to check whether you have updated the kernel, and I didn't upgrade anything on the nodes.
id; stat /dev/pts/0
# output
uid=0(root) gid=0(root) groups=0(root)
File: /dev/pts/0
Size: 0 Blocks: 0 IO Block: 1024 character special file
Device: 18h/24d Inode: 3 Links: 1 Device type: 88,0
Access: (0600/crw-------) Uid: ( 0/ root) Gid: ( 5/ tty)
Access: 2022-08-21 12:01:25.409456443 +0000
Modify: 2022-08-21 12:01:25.409456443 +0000
Change: 2022-08-21 11:54:47.474457646 +0000
Birth: -
Also tried /bin/sh
instead of sh
or /bin/bash
, but not worked and the same error occurred.
Can anyone help me to find the root cause of this problem and then solve it?
This issue may relate to docker, first drain your node.
kubectl drain <node-name>
Second, SSH to the node and restart docker service.
systemctl restart docker.service
At the end try to execute your command.