Как войти в каталог контейнера?
Как я могу получить доступ к каталогам контейнера с узла, который выполняет контейнер?
У меня есть root-доступ к мастер-ноде. Теперь я хотел бы взглянуть на/etc
каталогetcd
капсула/контейнер.
kubectl exec
не помогает, так как это образ без дистрибутива, в котором отсутствуют обычные инструменты оболочки, такие какls
иtar
.
я используюcontainerd
2 ответа
Я использую контейнер в своей локальной настройке и удаленный сервер etcd. Но идею, описанную ниже, можно использовать для локального etcd.
- [Необязательный шаг] ssh к узлу etcd. Если вы используете локальный etcd в master, проигнорируйте этот шаг.
- Сначала найдите идентификатор процесса для контейнера etcd.
ps -aux | grep -i etcd
- Теперь давайте волшебство
/proc
каталог, чтобы найтиetcd DB location
.
sudo ls /proc/9591/root/var/lib/etcd
- Перейдите в каталог etcd
sudo ls /proc/9591/root/etc/kubernetes
- Давайте проверим сертификаты etcd:
sudo ls /proc/9591/root/etc/kubernetes/pki/etcd/
вы можете использовать следующую команду (будьте осторожны при выполнении операций):
nsenter -p -m -t <processid>
в основном отслеживайте pid приложения внутри контейнера, в который вы хотите войти, и заменяйте его идентификатором процесса