# Вступ до kubectl

LLMS index: [llms.txt](/llms.txt)

---

kubectl — це інструмент командного рядка для взаємодії з кластерами Kubernetes за допомогою API Kubernetes. Використовуйте його для розгортання застосунків, перегляду ресурсів та управління робочими навантаженнями.

Хоча це керівництво зосереджене на використанні kubectl для декларативного управління застосунками в Kubernetes, воно також охоплює інші функції kubectl.

## Набори команд {#command-families}

Більшість команд kubectl зазвичай відносяться до однієї з кількох категорій:

| Тип                                   | Використання                   | Опис                                        |
|----------------------------------------|----------------------------|----------------------------------------------------|
| Декларативне управління ресурсами        | Розгортання та операційна діяльність (наприклад, GitOps)   | Декларативне управління ресурсами Kubernetes за допомогою конфігурації ресурсів     |
| Імперативне управління ресурсами         | Тільки розробка           | Виконання команд для управління ресурсами Kubernetes за допомогою аргументів командного рядка та прапорців |
| Виведення стану робочого навантаження | Налагодження  | Виведення інформації про робочі навантаження |
| Взаємодія з контейнерами | Налагодження  | Exec, attach, cp, logs |
| Управління кластером | Операції з кластером | Виведення та блокування вузлів |

## Декларативне управління застосунками {#declarative-application-management}

Найкращим підходом для управління ресурсами є використання декларативних файлів, які називаються конфігурацією ресурсів, разом з командою kubectl *Apply*. Ця команда читає локальну (або віддалену) структуру файлів та змінює стан кластера, щоб відображати заявлені наміри.

<div class="alert alert-success" role="alert"><div class="h4 alert-heading" role="heading">Apply</div>


Apply — є переважним механізмом для управління ресурсами в кластері Kubernetes.
</div>


## Виведення стану робочих навантажень {#printing-state-about-workloads}

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

- Виведення підсумкового стану та інформації про ресурси
- Виведення повного стану та інформації про ресурси
- Виведення конкретних полів з ресурсів
- Запит ресурсів, які відповідають міткам

## Налагодження робочих навантажень {#debugging-workloads}

kubectl підтримує налагодження, надаючи команди для:

- Виведення логів контейнерів
- Виведення подій кластера
- Виконання або приєднання до контейнера
- Копіювання файлів з контейнерів в кластері у файлову систему користувача

## Управління кластером {#cluster-management}

Час від часу користувачам може знадобитися виконати операції на вузлах кластера. kubectl підтримує команди для виведення робочих навантажень з вузла, щоб його можна було відключити або налагодити.

## Парадні команди {#porcelain}


Користувачі можуть вважати, що використання конфігурації ресурсів надто багатослівне для *розробки* та віддають перевагу роботі з кластером *імперативно* за допомогою робочого процесу, схожого на роботу з оболонкою. kubectl пропонує парадні (porcelain [^1]) команди для створення та модифікації ресурсів.

[^1]: Див. <https://git-scm.com/book/uk/v2/Git-зсередини-Кухонні-та-парадні-команди>

- Генерування + створення ресурсів таких, як Deployment, StatefulSet, Service, ConfigMap й так далі
- Встановлення полів ресурсів
- Редагування (поточних) ресурсів в текстовому редакторі

<div class="alert alert-warning" role="alert"><div class="h4 alert-heading" role="heading">Porcelain тільки для розробки</div>


Парадні команди призначені тільки для розробки та не рекомендуються для використання в операційній діяльності.
</div>
