Огляд
Виконує команду в контейнері.
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, який використовується для операції. |
|
| --as-user-extra strings | |
Додаткові параметри користувача, які слід використовувати для операції. Цей прапорець можна повторювати, щоб вказати кілька значень для одного і того ж ключа. |
|
| --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|trace) |
|
| --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