kubectl logs
Огляд
Вивести логи для контейнера у Podʼі або вказаного ресурсу. Якщо в pod є лише один контейнер, назва контейнера не є обовʼязковою.
kubectl logs [-f] [-p] (POD | TYPE/NAME) [-c CONTAINER]
Приклади
# Вивести знімок логів з Podʼа nginx з одним контейнером
kubectl logs nginx
# Вивести знімки логів з пакета nginx, додаючи до кожного рядка імʼя вихідного пакета та контейнера.
kubectl logs nginx --prefix
# Вивести знімки логів з pod nginx, обмеживши виведення до 500 байт
kubectl logs nginx --limit-bytes=500
# Вивести знімки логів з pod nginx, зачекавши до 20 секунд на їх запуск.
kubectl logs nginx --pod-running-timeout=20s
# Вивести знімок логів з Podʼа nginx з кількома контейнерами
kubectl logs nginx --all-containers=true
# Вивести знімок логів з всіх Podʼів в deployment nginx
kubectl logs deployment/nginx --all-pods=true
# Вивести знімок логів з усіх контейнерів у Podʼах, визначених міткою app=nginx
kubectl logs -l app=nginx --all-containers=true
# Вивести знімок логів з всіх Podʼів з міткою app=nginx, обмживши запити логів 10 Podʼами
kubectl logs -l app=nginx --max-log-requests=10
# Вивести знімок логів з попереднього завершеного контейнера ruby з Podʼа web-1
kubectl logs -p -c ruby web-1
# Почати трансляцію логів з Podʼа nginx, продовжувати навіть за наявності помилок
kubectl logs nginx -f --ignore-errors=true
# Почати трансляцію логів контейнера ruby у Podʼі web-1
kubectl logs -f -c ruby web-1
# Почати трансляцію логів з усіх контейнерів у Podʼах, визначених міткою app=nginx
kubectl logs -f -l app=nginx --all-containers=true
# Показати лише останні 20 рядків виводу в Podʼі nginx
kubectl logs --tail=20 nginx
# Показати всі логи з Podʼа nginx, записані за останню годину
kubectl logs --since=1h nginx
# Показати всі логи з позначками часу від Podʼа nginx, починаючи з 30 серпня 2024 року, о 06:00:00 UTC
kubectl logs nginx --since-time=2024-08-30T06:00:00Z --timestamps=true
# Показати логи з kubelet з простроченим сертифікатом сервера
kubectl logs --insecure-skip-tls-verify-backend nginx
# Вивести знімок логів з першого контейнера завдання з назвою hello
kubectl logs job/hello
# Вивести знімок логів з контейнера nginx-1 у deployment з назвою nginx
kubectl logs deployment/nginx -c nginx-1
Параметри
--all-containers | |
Отримайте логи всіх контейнерів у pod(ах). | |
--all-pods | |
Отримати логи з усіх Pod(ів). Встановлює префікс у true. | |
-c, --container string | |
Вивести логи цього контейнера | |
-f, --follow | |
Вкажіть, чи потрібно транслювати логи. | |
-h, --help | |
Довідка logs | |
--ignore-errors | |
Якщо ви переглядаєте / стежите за логами pod, дозвольте будь-яким помилкам, що трапляються, бути не фатальними | |
--insecure-skip-tls-verify-backend | |
Пропустити перевірку ідентичності kubelet, з якого запитуються логи. Теоретично, зловмисник може повернути недійсний вміст логу. Можливо, ви захочете використати цей параметр, якщо термін дії сертифікатів, що обслуговують ваш kubelet, закінчився. | |
--limit-bytes int | |
Максимальна кількість байт логів для виводу. Стандартно без обмежень. | |
--max-log-requests int Типово: 5 | |
Вкажіть максимальну кількість паралельних логів, які слід відстежувати при використанні селектора. Стандартно встановлено значення 5. | |
--pod-running-timeout duration Типово: 20s | |
Тривалість часу (наприклад, 5s, 2m або 3h, більше нуля) для очікування, поки не запрацює хоча б один Pod | |
--prefix | |
До початку кожного рядка логу додайте джерело логу (імʼя pod та імʼя контейнера) | |
-p, --previous | |
Якщо true, вивести логи для попереднього екземпляра контейнера в pod, якщо він існує. | |
-l, --selector string | |
Селектор (запит на мітки) для фільтрації, що підтримує '=', '==' і '!=' (наприклад, -l key1=value1,key2=value2). Обʼєкти, щоб мати збіг, повинні задовольняти усім зазначеним обмеженням міток. | |
--since duration | |
Виводити лише ті логи, що є новішими за відносну тривалість, наприклад, 5s, 2m або 3h. Стандартно для всіх логів. Можна використовувати лише один з параметрів since-time / since. | |
--since-time string | |
Виводити логи лише після певної дати (RFC3339). Стандартно для всіх логів. Можна використовувати лише один з параметрів since-time / since. | |
--tail int Типово: -1 | |
Рядки нещодавнього файлу логу для показу. Стандартно дорівнює -1 без селектора, показуючи всі рядки логу, інакше 10, якщо селектор вказано. | |
--timestamps | |
Додайте мітки часу до кожного рядка у виводі логу |
Параметри батьківських команд
--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