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

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

kubectl drain

    Огляд

    Очищує вузол для підготовки до обслуговування.

    Зазначений вузол будо позначено, як не придатний для розміщення робочих навантажень для запобігання створенню нових Podʼів на ньому. 'drain' виселяє Podʼи, якщо API сервер підтримує розлади або виселення. В іншому випадку він використовує звичайний DELETE, щоб видалити Podʼи. 'drain' виселяє або видаляє всі Podʼи, окрім дзеркальних Podʼів (які не можна видалити за допомогою API сервера). Якщо це самокерований Pod демона, drain не спрацює, якщо немає --ignore-daemonsets, і Pod не буде видалено, бо такі Podʼи будуть негайно замінені новими контролером DaemonSet, який не звертає уваги на позначку unschedulable. Якщо є якісь Podʼи, які не є дзеркальними Podʼами, і які не керуються контролером реплікації, replica set, daemon set, stateful set, або job то drain не видалить жодного Pod, якщо ви не скористаєтеся опцією --force. --force також дозволить продовжити видалення, якщо відсутній керуючий ресурс одного або декількох Podʼів.

    'drain' чекає на коректне завершення. Ви не повинні працювати на машині, поки команда не завершиться.

    Коли ви будете готові повернути вузол до експлуатації, скористайтеся командою kubectl uncordon, яка зробить вузол знову доступним для планування.

    kubectl drain

    kubectl drain NODE
    

    Приклади

    # Спорожнити вузол "foo", навіть якщо на ньому є Podʼи, які не керуються контролером реплікації, replica set, job, daemon set або stateful set
    kubectl drain foo --force
    
    # Як вище, але перервати, якщо наявні Podʼи, які не керуються контролером реплікації, replica set, job, daemon set або stateful set, і використовувати пільговий період у 15 хвилин
    kubectl drain foo --grace-period=900
    

    Параметри

    --chunk-size int     Типово: 500

    Повертати великі списки частинами, а не всі одразу. Для вимкнення задайте 0. Цей прапорець є бета-версією і може змінюватися в майбутньому.

    --delete-emptydir-data

    Продовжувати, навіть якщо є Podʼи, що використовують emptyDir (локальні дані, які буде видалено, коли вузол буде спорожнено).

    --disable-eviction

    Примусово виводити ресурси за допомогою delete, навіть якщо підтримується виселення. Це дозволить обійти перевірку PodDisruptionBudgets, використовуйте з обережністю.

    --dry-run string[="unchanged"]     Типово: "none"

    Має бути "none", "server" або "client". Якщо це стратегія client, вивести лише обʼєкт, який міг би бути надісланим, не надсилаючи його. Якщо це стратегія server, надіслати запит на стороні сервера без збереження ресурсу.

    --force

    Продовжувати, навіть якщо є Podʼи, які не задекларували контролер.

    --grace-period int     Типово: -1

    Період часу в секундах, який дається ресурсу для належного завершення роботи. Якщо значення відʼємне, то буде використано стандартне значення, вказане у Pod.

    -h, --help

    Довідка drain

    --ignore-daemonsets

    Ігнорувати Podʼи керовані DaemonSet.

    --pod-selector string

    Селектор міток для фільтрування Podʼів на вузлі

    -l, --selector string

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

    --skip-wait-for-delete-timeout int

    Якщо хначення DeletionTimestamp Podʼа старіще за N секунд, пропускати очікування Podʼа. Значення секунд має бути більще за 0, щоб його оминути.

    --timeout duration

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

    Параметри батьківських команд

    --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, який слід використовувати

    --default-not-ready-toleration-seconds int     Типово: 300

    Вказує tolerationSeconds для toleration notReady:NoExecute, який типово додається до кожного Pod, який ще не має такої толерантності.

    --default-unreachable-toleration-seconds int     Типово: 300

    Вказує tolerationSeconds для toleration unreachable:NoExecute, який типово додається до кожного Pod, який ще не має такої толерантності.

    --disable-compression

    Якщо true, відмовляється від стиснення відповіді для всіх запитів до сервера

    --insecure-skip-tls-verify

    Якщо true, сертифікат сервера не буде перевірятися на дійсність. Це зробить ваші HTTPS-зʼєднання небезпечними

    --kubeconfig string

    Шлях до файлу kubeconfig, який слід використовувати для CLI-запитів.

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