0

root 以外のユーザーとして crictl を実行する方法。

私のユーザーは docker グループに追加されているため、私の docker コマンドは root 以外のユーザーでも機能します。

id
uid=1002(kube) gid=100(users) groups=100(users),10(wheel),1001(dockerroot),1002(docker)

containerd と runc をランタイムとして使用する dockerD デーモンを実行しています。

以下のように、crictl バイナリをインストールし、構成ファイルを使用して既存の dockershim ソケットに接続するように指定しました。

cat /etc/crictl.yaml
runtime-endpoint: unix:///var/run/dockershim.sock
image-endpoint: unix:///var/run/dockershim.sock
timeout: 2
debug: false
pull-image-on-create: false

crictl は sudo で正常に動作しますが、sudo がないとこのように失敗します。

[user@hostname~]$ crictl ps
FATA[0002] connect: connect endpoint 'unix:///var/run/dockershim.sock', make sure you are running as root and the endpoint has been started: context deadline exceeded

また、docker.sock のグループを「root」から「docker」に変更しようとしましたが、docker.sock が試したのと同じです。

srwxr-xr-x 1 root docker 0 Jan  2 23:36 /var/run/dockershim.sock
srw-rw---- 1 root docker 0 Jan  2 23:33 /var/run/docker.sock
4

0 に答える 0