Варианты использования kubectl attach описаны в kubernetes / выпуск 23335 .
Он может присоединяться к основному процессу, выполняемому контейнером, который не всегда является bash.
В отличие от exec, который позволяет вам выполнять любой процесс внутри контейнера (часто: bash)
# Get output from running pod 123456-7890, using the first container by default
kubectl attach 123456-7890
# Get output from ruby-container from pod 123456-7890
kubectl attach 123456-7890 -c ruby-container
Эта статья предлагает:
В дополнение к интерактивному выполнению команд, теперь вы также можете присоединиться к любому запущенному процессу.Как и kubectl logs
, вы получите данные stderr и stdout, но с присоединением вы также сможете отправлять stdin из вашего терминала в программу.
Потрясающе для интерактивной отладки или даже просто отправки ctrl - c в некорректно работающем приложении.
$> kubectl attach redis -i
Опять же, основное различие заключается в процессе, с которым вы взаимодействуете вконтейнер:
- exec: любой, который вы хотите создать