Це багатосторінкова версія цього розділу для друку. Натисніть тут, щоб надрукувати.

Повернутися до звичайного перегляду сторінки.

kubectl wait

Очікувати на певний стан одного чи кількох ресурсів

    Огляд

    Очікувати на певний стан одного чи кількох ресурсів.

    Команда бере кілька ресурсів і чекає, доки у полі стану кожного з них не зʼявиться вказана умова.

    Крім того, команда може чекати на створення або видалення заданого набору ресурсів, вказавши ключове слово "create" чи "delete" як значення прапорця --for.

    Успішне повідомлення буде виведено у stdout із зазначенням того, що вказану умову було виконано. Ви можете скористатися опцією -o, щоб змінити місце виведення.

    kubectl wait ([-f FILENAME] | resource.group/resource.name | resource.group [(-l label | --all)]) [--for=create|--for=delete|--for condition=available|--for=jsonpath='{}'[=value]]
    

    Приклади

    # Очікувати, поки Pod "busybox1" не міститиме умови статусу типу "Ready"
    kubectl wait --for=condition=Ready pod/busybox1
    
    # Типове значення умови статусу є true; ви можете очікувати на інші значення після знаку рівності (порівнюється після простого складання Unicode, яке є загальнішою формою нечутливості до регістру)
    kubectl wait --for=condition=Ready=false pod/busybox1
    
    # Очікувати, поки Pod "busybox1" не міститиме фази статусу "Running"
    kubectl wait --for=jsonpath='{.status.phase}'=Running pod/busybox1
    
    # Очікувати, поки Pod "busybox1" не буде в стані Ready
    kubectl wait --for='jsonpath={.status.conditions[?(@.type=="Ready")].status}=True' pod/busybox1
    
    # Очікувати, поки сервіс "loadbalancer" не матиме ingress
    kubectl wait --for=jsonpath='{.status.loadBalancer.ingress}' service/loadbalancer
    
    # Очікувати створення секретного "busybox1" з таймаутом у 30с
    kubectl create secret generic busybox1
    kubectl wait --for=create secret/busybox1 --timeout=30s
    
    # Очікувати, поки Pod "busybox1" не буде видалено, з таймаутом 60с, після виконання команди "delete"
    kubectl delete pod/busybox1
    kubectl wait --for=delete pod/busybox1 --timeout=60s
    

    Параметри

    --all

    Якщо true, вибрати всі ресурси в просторі імен вказаних типів ресурсів

    -A, --all-namespaces

    Якщо вказано, вивести перелік запитуваних обʼєктів у всіх просторах імен. Простір імен у поточному контексті ігнорується, навіть якщо вказано --namespace.

    --allow-missing-template-keys     Типово: true

    Якщо true, ігнорувати будь-які помилки в шаблонах, коли в шаблоні відсутнє поле або ключ map. Застосовується лише до форматів виводу golang та jsonpath.

    --field-selector string

    Селектор (запит поля) для фільтрації підтримує '=', '==' і '!=' (наприклад, --field-selector key1=value1,key2=value2). Сервер підтримує лише обмежену кількість запитів до полів кожного типу.

    -f, --filename strings

    Імʼя файлу, теки або URL до файлів, що ідентифікують ресурси.

    --for string

    Умова для очікування: [create|delete|condition=condition-name[=condition-value]|jsonpath='{JSONPath expression}'=[JSONPath value]]. Стандартне значення condition-value дорівнює true. Значення умови порівнюються після простого згортання регістру Unicode, що є більш загальною формою нечутливості до регістру.

    -h, --help

    Довідка wait

    --local

    Якщо значення true, НЕ звʼязуватиметься з api-сервером, а виконуватиметься локально.

    -o, --output string

    Формат виводу. Один з: (json, yaml, kyaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).

    -R, --recursive

    Рекурсивно обробити теку, вказану у -f, --filename. Корисно, якщо ви хочете керувати повʼязаними маніфестами, організованими в одній теці.

    -l, --selector string

    Селектор (запит на мітки) для фільтрації, що підтримує '=', '==' і '!=' (наприклад, -l key1=value1,key2=value2). Обʼєкти, щоб мати збіг, повинні задовольняти усім зазначеним обмеженням міток.

    --show-managed-fields

    Якщо true, зберігати managedFields при виводі обʼєктів у форматі JSON або YAML.

    --template string

    Рядок шаблону або шлях до файлу шаблону для використання з -o=go-template, -o=go-template-file. Формат шаблону — golang-шаблони [http://golang.org/pkg/text/template/#pkg-overview].

    --timeout duration     Типово: 30s

    Час очікування перед прийнятям рішення про відмову видалення, нуль означає визначення тайм-ауту за розміром обʼєкту

    Успадковані батьківські параметри

    --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