# Інструмент командного рядка kubectl

> kubectl є основним інструментом командного рядка для взаємодії з кластером Kubernetes. Ця сторінка надає огляд kubectl та його ролі в екосистемі Kubernetes.

---

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

---

<!-- overview -->

<p>Kubernetes надає інструмент командного рядка для взаємодії з кластерами Kubernetes, <a class='glossary-tooltip' title='Шар оркестрування контейнерів, який надає API та інтерфейси для виявлення, розгортання та управління життєвим циклом контейнерів.' data-bs-toggle='tooltip' data-bs-placement='top' href='/uk/docs/reference/glossary/?all=true#term-control-plane' target='_blank' aria-label='панеллю управління'>панеллю управління</a>, за допомогою API Kubernetes. Використовуйте його для розгортання застосунків, перегляду ресурсів та управління робочими навантаженнями.</p>

Інструмент `kubectl` взаємодіє з вашим кластером через [Kubernetes API](/docs/concepts/overview/kubernetes-api/). `kubectl` шукає файл налаштувань з назвою `config` у теці `$HOME/.kube`. Ви можете вказати інші файли [kubeconfig](/docs/concepts/configuration/organize-cluster-access-kubeconfig/), встановивши змінну середовища `KUBECONFIG` або використавши прапорець [`--kubeconfig`](/docs/concepts/configuration/organize-cluster-access-kubeconfig/).

<!-- body -->

## Роль kubectl {#role-of-kubectl}

`kubectl` є основним інструментом для створення, перегляду, оновлення та видалення обʼєктів Kubernetes. Він доповнює [компоненти Kubernetes](/docs/concepts/overview/components/), які працюють у вашому кластері, та [Kubernetes API](/docs/concepts/overview/kubernetes-api/), який реалізує ці компоненти. Незалежно від того, чи запускаєте ви `kubectl` з вашого ноутбука або з Podʼа всередині кластера, він надсилає запити до API-сервера. Інші клієнти, такі як [клієнтські бібліотеки](/docs/reference/using-api/client-libraries/) та інформаційні панелі такі, як [Headlamp](https://headlamp.dev/), також взаємодіють через той самий API.

## Як працює kubectl {#how-kubectl-works}

Інструмент `kubectl` підключається до API-сервера та автентифікується за допомогою відомостей про кластер, користувача та контекст, визначених у вашому файлі [kubeconfig](/docs/concepts/configuration/organize-cluster-access-kubeconfig/). Коли ви запускаєте `kubectl` ззовні кластера, він використовує файл kubeconfig для знаходження адреси API-сервера та облікових даних. Коли `kubectl` працює всередині Podʼа (наприклад, у CI/CD конвеєрі), він може використовувати автентифікацію всередині кластера на основі токена ServiceAccount, змонтованого в Pod.

Коли ви запускаєте команду, `kubectl` перетворює ваші наміри на один або кілька HTTP-запитів до [Kubernetes API](/docs/concepts/overview/kubernetes-api/). API-сервер перевіряє кожен запит, застосовує його до стану кластера, збереженого в <a class='glossary-tooltip' title='Надійне та високодоступне сховище ключ-значення, яке використовується як сховище Kubernetes для всіх даних кластера.' data-bs-toggle='tooltip' data-bs-placement='top' href='/uk/docs/tasks/administer-cluster/configure-upgrade-etcd/' target='_blank' aria-label='etcd'>etcd</a>, і повертає результат. Це означає, що кожна дія `kubectl`, чи то створення Deployment, чи читання журналів, слідує одному й тому ж шляху, керованому API.

Оскільки ваш kubeconfig може визначати кілька кластерів, користувачів і контекстів, ви можете використовувати `kubectl` для перемикання між кластерами без повторного налаштування середовища. Використовуйте `kubectl config use-context`, щоб змінити активний контекст.

## Що можна робити з kubectl {#what-you-can-do-with-kubectl}

Інструмент `kubectl` підтримує багато операцій, які можна умовно розділити на такі категорії:

* **Керування ресурсами** — Створення, оновлення та видалення обʼєктів, таких як Podʼи, Deploymentʼи та Serviceʼи. Використовуйте `kubectl apply` для декларативного керування за допомогою конфігураційних файлів.
* **Перевірка стану кластера** — Перегляд списків та описів обʼєктів, подій та використання ресурсів.
* **Налагодження** — Перегляд журналів контейнерів, виконання команд всередині запущеного контейнера або перенаправлення портів до Podʼа.
* **Операції з кластером** — Виведення вузлів з обслуговування, блокування вузлів для запобігання новим навантаженням та керування конфігурацією кластера.
* **Скрипти та автоматизація** — Форматування виводу у JSON, YAML або власні колонки за допомогою [JSONPath](/docs/reference/kubectl/jsonpath/) для використання у скриптах та конвеєрах.

Для ознайомлення з синтаксисом, довідником команд та прикладами, дивіться [довідку kubectl](/docs/reference/kubectl/).

## Декларативне vs імперативне керування {#declarative-vs-imperative}

Для робочих навантажень у виробничому середовищі рекомендується використовувати [декларативне керування обʼєктами](/docs/concepts/overview/working-with-objects/object-management/) за допомогою `kubectl apply` з конфігураційними файлами з контролем версій. Декларативне керування допомагає відстежувати зміни, співпрацювати та інтегруватися з GitOps-процесами. Імперативні команди (такі як `kubectl create` або `kubectl run`) корисні для розробки та експериментів, але їх важче відтворювати та перевіряти.

## Розширення kubectl за допомогою втулків {#extending-kubectl-with-plugins}

Ви можете розширювати `kubectl` за допомогою [втулків](/docs/tasks/extend-kubectl/kubectl-plugins/), які додають нові команди. Втулки є автономними бінарними файлами, які дотримуються конвенції іменування `kubectl-<назва-втулка>`. Спільнота Kubernetes підтримує багато втулків, і ви можете керувати ними за допомогою менеджера втулків [Krew](https://krew.sigs.k8s.io/).

## Сумісність версій {#version-compatibility}

Інструмент `kubectl` підтримує різницю версій плюс-мінус одну мінорну версію відносно панелі управління кластера. Наприклад, `kubectl` v1.32 працює з панелями управління в кластерах версій v1.31, v1.32 та v1.33. Використання сумісної версії запобігає непередбачуваній поведінці. Дивіться [Політику версійної розбіжності](/releases/version-skew-policy/) для отримання деталей.

## Що далі

* Ознайомтеся з [довідкою kubectl](/docs/reference/kubectl/) для отримання відомостей про синтаксис та деталі команд.
* [Встановіть kubectl](/docs/tasks/tools/#kubectl) на вашому компʼютері.
* Дізнайтеся про [API Kubernetes](/docs/concepts/overview/kubernetes-api/), який використовує `kubectl`.
* Ознайомтеся з [компонентами Kubernetes](/docs/concepts/overview/components/), які складають кластер.
* Дослідіть [керування обʼєктами](/docs/concepts/overview/working-with-objects/object-management/) та декларативну конфігурацію.
* Перевірте [політику версійної розбіжності](/releases/version-skew-policy/) для підтримуваних комбінацій версій.
