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

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

kubectl debug

    Огляд

    Налагодження ресурсів кластера за допомогою інтерактивних контейнерів налагодження.

    'debug' автоматизує виконання поширених завдань налагодження для обʼєктів кластера, ідентифікованих за ресурсом та імʼям. Типово будуть використовуватися Podʼи, якщо ресурс не вказано.

    Дія, яку виконує 'debug', залежить від вказаного ресурсу. Підтримувані дії включають:

    • Workload: Створити копію поточного Podʼа зі зміненими атрибутами, наприклад, змінити теґ образу на нову версію.
    • Workload: Додати ефемерний контейнер до вже працюючого Podʼа, наприклад, щоб додати утиліти для налагодження без перезапуску Podʼа.
    • Node: Створити новий Pod, який працює у host namespaces вузла та має доступ до файлової системи вузла.
    kubectl debug (POD | TYPE[[.VERSION].GROUP]/NAME) [ -- COMMAND [args...] ]
    

    Приклади

    # Створити інтерактивну сесію налагодження в Pod mypod та одразу приєднатися до неї.
    kubectl debug mypod -it --image=busybox
    
    # Створити інтерактивну сесію налагодження для Pod з файлу pod.yaml та одразу приєднатися до неї.
    # (вимагає увімкнення функції EphemeralContainers в кластері)
    kubectl debug -f pod.yaml -it --image=busybox
    
    # Створити контейнер налагодження з назвою debugger, використовуючи власний автоматизований образ для налагодження.
    kubectl debug --image=myproj/debug-tools -c debugger mypod
    
    # Створити копію mypod, додавши контейнер налагодження, та приєднатися до неї.
    kubectl debug mypod -it --image=busybox --copy-to=my-debugger
    
    # Створити копію mypod, змінивши команду mycontainer.
    kubectl debug mypod -it --copy-to=my-debugger --container=mycontainer -- sh
    
    # Створити копію mypod, змінивши образи всіх контейнерів на busybox.
    kubectl debug mypod --copy-to=my-debugger --set-image=*=busybox
    
    # Створити копію mypod, додавши контейнер налагодження та змінивши образи контейнерів.
    kubectl debug mypod -it --copy-to=my-debugger --image=debian --set-image=app=app:debug,sidecar=sidecar:debug
    
    # Створити інтерактивну сесію налагодження на вузлі та одразу приєднатися до неї.
    # Контейнер працюватиме в host namespaces та файлову систему вузла буде змонтовано у /host.
    kubectl debug node/mynode -it --image=busybox
    

    Параметри

    --arguments-only

    Якщо вказано, все, що знаходиться після --, буде передано до нового контейнера як Args замість Command.

    --attach

    Якщо значення true, дочекайтись запуску контейнера, а потім приєднати його так, ніби було викликано команду 'kubectl attach ...'. Стандартне значення false, якщо не задано параметр '-i/--stdin', у цьому випадку стандартне значення true.

    -c, --container string

    Назва контейнера, який буде використано для налагодження.

    --copy-to string

    Створіює копію цільового Pod з цією назвою.

    --custom string

    Шлях до JSON або YAML-файлу, що містить часткову специфікацію контейнера для налаштування вбудованих профілів налагодження.

    --env stringToString     Типово: []

    Змінні оточення, які потрібно встановити в контейнері.

    -f, --filename strings

    визначення ресурсу для налагодження

    -h, --help

    Довідка debug

    --image string

    Назва образу контейнера для запуску.

    --image-pull-policy string

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

    --keep-annotations

    Якщо значення true, зберігати оригінальні анотації p Podʼів (цей прапорець працює лише при використанні '--copy-to').

    --keep-init-containers     Default: true

    Запустити ініціалізаційні контейнери для pod. Стандартно дорівнює true (цей прапорець працює лише у випадку використання з '--copy-to').

    --keep-labels

    Якщо значення true, зберігати оригінальні мітки Podʼів (цей прапорець працює лише при використанні '--copy-to').

    --keep-liveness

    Якщо значення true, зберегти оригінальні проби життєздатності Podʼа. (Цей прапорець працює лише при використанні '--copy-to').

    --keep-readiness

    Якщо значення true, зберегти оригінальні проби готовності Podʼа. (Цей прапорець працює лише при використанні '--copy-to').

    --keep-startup

    Якщо значення true, зберігати оригінальні проби запуску (цей прапорець працює лише при використанні '--copy-to').

    --profile string     Типово: "legacy"

    Варіанти: " legacy", "general", "baseline", "netadmin", "restricted" або "sysadmin".

    -q, --quiet

    Якщо true, то придушити інформаційні повідомлення.

    --replace

    При використанні з '--copy-to' видаляє оригінальний Pod.

    --same-node

    Якщо використовується з '--copy-to', призначити копію цільового Pod на той самий вузол.

    --set-image stringToString     Типово: []

    При використанні з '--copy-to', список пар name=image для зміни образів контейнерів, подібно до того, як працює команда 'kubectl set image'.

    --share-processes     Типово: true

    При використанні з '--copy-to' вмикає спільне використання простору імен процесів у копії.

    -i, --stdin

    Залишати stdin відкритим у контейнері (контейнерах), навіть якщо до нього нічого не приєднано.

    --target string

    При використанні ефемерного контейнера, спрямовувати процеси до цього контейнера.

    -t, --tty

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

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