Давайте разберемся что это за новая фича, появившееся в Kubernetes v1.25.
Эфимерные контейнеры позволяют нам запускать контейнер с указанным образом в контексте уже запущенного Pod. Это очень полезно для отладки или поиска проблем в образах в которых нехватает нужных для этого утилит, таких как curl или tcpdump.
$ kubectl exec -it some-deployment -- sh
$ tcpdump
sh: 1: tcpdump: not found
Но если вы присоедините эфимерный контейнер к pod:
$ kubectl debug -it some-deployment --image busybox
Так как у нас есть доступ к сетевому пространству имен данного Pod, мы можем отправить GET запрос используя curl/wget, что было бы невозможным в легковесном образе:
$ wget localhost:80
Connecting to localhost:80 (127.0.0.1:80)
saving to 'index.html'
index.html 100%
Эфимерные контейнеры используют те же самые cgrpup, ipc, net, user и utc пространства имен. Хотя был бы смысл не разделять mnt пространство, так как файловая система эфимерного и основного контейнера не пересекается. Пространство pid (процессоры) может быть доступна созданием копии pod (описано в документации).
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев