如何进入容器的目录?

如何进入容器的目录?

如何从执行容器的节点访问容器的目录?

我拥有主节点的 root 访问权限。现在我想查看pod/容器/etc的目录。etcd

kubectl exec没有帮助,因为它是一个无发行版图像,缺少常见的 shell 工具,如lstar

我用containerd

答案1

我在本地设置中使用 containerd,并使用远程 etcd 服务器。但下面解释的想法可以用于本地 etcd。

  1. [可选步骤] ssh 到 etcd 节点。如果在主节点中使用本地 etcd,则忽略此步骤。
  2. 首先找到 etcd 容器的进程 IDps -aux | grep -i etcd

在此处输入图片描述

  1. 现在让我们到神奇的/proc目录中去寻找etcd DB location

sudo ls /proc/9591/root/var/lib/etcd

在此处输入图片描述

  1. 导航到 etcd 目录 sudo ls /proc/9591/root/etc/kubernetes

在此处输入图片描述

  1. 让我们检查一下 etcd 证书: sudo ls /proc/9591/root/etc/kubernetes/pki/etcd/

在此处输入图片描述

答案2

您可以使用以下命令(操作时请小心):

nsenter -p -m  -t <processid>

基本上跟踪您想要进入的容器内应用程序的 pid,并将其替换为其进程 id

相关内容