Огляд
Виконує команду в контейнері.
kubectl exec (POD | TYPE/NAME) [-c CONTAINER] [flags] -- COMMAND [args...]
Приклади
# Отримати вивід від виконання команди 'date' з Pod mypod, використовуючи типово перший контейнер
kubectl exec mypod -- date
# Отримати вивід команди 'date' у ruby-контейнері з Pod mypod
kubectl exec mypod -c ruby-container -- date
# Перехід у режим необробленого терміналу; надсилає stdin до 'bash' у ruby-контейнері з Pod mypod
# і надсилає stdout/stderr з 'bash' назад клієнту
kubectl exec mypod -c ruby-container -i -t -- bash -il
# Вивести вміст /usr з першого контейнера Pod mypod і відсортувати за часом модифікації
# Якщо команда, яку ви хочете виконати в Pod, має спільні прапорці (наприклад, -i),
# ви повинні використовувати два тире (--), щоб відокремити прапорці/аргументи вашої команди.
# Також зауважте, що не слід брати команду та її прапорці/аргументи у лапки
# якщо тільки ви не виконуватимете її так у звичайному режимі (тобто, виконайте ls -t /usr, а не "ls -t /usr").
kubectl exec mypod -i -t -- ls -t /usr
# Отримання результатів виконання команди 'date' з першого Pod deployment mydeployment, з використанням стандартно першого контейнера
kubectl exec deploy/mydeployment -- date
# Отримати вивід команди 'date' з першого Pod сервісу myservice, використовуючи стандартно перший контейнер
kubectl exec svc/myservice -- date
Параметри
| -c, --container string | |
Назва контейнера. Якщо не вказано, використовуйте анотацію kubectl.kubernetes.io/default-container для вибору контейнера, який буде приєднано, інакше буде обрано перший контейнер у pod | |
| -f, --filename strings | |
Імʼя файлу, теки або URL до файлів, для виконання ресурсів | |
| -h, --help | |
Довідка exec | |
| --pod-running-timeout duration Типово: 1m0s | |
Тривалість часу (наприклад, 5s, 2m або 3h, більше нуля) для очікування, поки не запрацює хоча б один Pod | |
| -q, --quiet | |
Виводити лише дані, отримані під час віддаленого сеансу | |
| -i, --stdin | |
Передати stdin до контейнера | |
| -t, --tty | |
Stdin є TTY | |
Успадковані батьківські параметри
| --as string | |
Імʼя користувача, яке використовується для виконання операції. Користувач може бути звичайним користувачем або службовим обліковим записом в просторі імен. | |
| --as-group strings | |
Група, яка використовується для операції; цей прапорець можна повторити для вказівки декількох груп. | |
| --as-uid string | |
UID, який використовується для операції. | |
| --cache-dir string Типово: "$HOME/.kube/cache" | |
Типове розташування теки кешу | |
| --certificate-authority string | |
Шлях до файлу сертифіката для центра сертифікації | |
| --client-certificate string | |
Шлях до файлу клієнтського сертифіката для TLS | |
| --client-key string | |
Шлях до файлу ключа клієнта для TLS | |
| --cluster string | |
Назва файлу kubeconfig кластера, який слід використовувати | |
| --context string | |
Назва контексту kubeconfig, який слід використовувати | |
| --disable-compression | |
Якщо true, відмовляється від стиснення відповіді для всіх запитів до сервера | |
| --insecure-skip-tls-verify | |
Якщо true, сертифікат сервера не буде перевірятися на дійсність. Це зробить ваші HTTPS-зʼєднання небезпечними | |
| --kubeconfig string | |
Шлях до файлу kubeconfig, який слід використовувати для CLI-запитів. | |
| --kuberc string | |
Шлях до файлу kuberc, який буде використовуватися для налаштувань. Цю функцію можна вимкнути, експортувавши функцію KUBECTL_KUBERC=false або вимкнувши функцію KUBERC=off. | |
| --match-server-version | |
Вимагає, щоб версія сервера відповідала версії клієнта | |
| -n, --namespace string | |
Якщо присутній, простір імен для цього CLI-запиту | |
| --password string | |
Пароль для базової автентифікації на API-сервері | |
| --profile string Типово: "none" | |
Імʼя профілю для захоплення. Одне із (none|cpu|heap|goroutine|threadcreate|block|mutex) | |
| --profile-output string Типово: "profile.pprof" | |
Імʼя файлу, в який записується профіль | |
| --request-timeout string Типово: "0" | |
Час очікування перед відмовою у виконанні окремого запиту до сервера. Ненульові значення повинні містити відповідну одиницю часу (наприклад, 1s, 2m, 3h). Значення нуль означає відсутність тайм-ауту запитів. | |
| -s, --server string | |
Адреса та порт сервера API Kubernetes | |
| --storage-driver-buffer-duration duration Типово: 1m0s | |
Записи в драйвері зберігання будуть буферизовані на цей час і збережені в бекендах без памʼяті як одна транзакція | |
| --storage-driver-db string Типово: "cadvisor" | |
Назва бази даних | |
| --storage-driver-host string Типово: "localhost:8086" | |
Хост:порт бази даних | |
| --storage-driver-password string Типово: "root" | |
Пароль бази даних | |
| --storage-driver-secure | |
використовувати захищене зʼєднання з базою даних | |
| --storage-driver-table string Типово: "stats" | |
Назва таблиці | |
| --storage-driver-user string Типово: "root" | |
Імʼя користувача бази даних | |
| --tls-server-name string | |
Імʼя сервера, яке використовується для перевірки дійсності сертифіката сервера. Якщо воно не надане, використовується імʼя хоста, яке використовується для звʼязку з сервером | |
| --token string | |
Токен на предʼявника для автентифікації на API-сервері | |
| --user string | |
Імʼя користувача kubeconfig, яке слід використовувати | |
| --username string | |
Імʼя користувача для базової автентифікації на API-сервері | |
| --version version[=true] | |
--version, --version=raw виводить інформацію про версію та завершує роботу; --version=vX.Y.Z... задає відповідну версію | |
| --warnings-as-errors | |
Трактувати попередження, отримані від сервера, як помилки і виходити з ненульовим кодом виходу | |
Дивіться також
- kubectl — kubectl керує менеджером кластерів Kubernetes