Правила використання kubectl
Рекомендовані правила використання kubectl.
Використання kubectl у багаторазових скриптах
Для стабільного виводу у скрипті:
- Використовуйте одну з машинно-орієнтованих форм виводу, таких як
-o name,-o json,-o yaml,-o go-template, або-o jsonpath. - Повністю вказуйте версію. Наприклад,
jobs.v1.batch/myjob. Це гарантує, що kubectl не використовуватиме свою стандартну версію, яка може змінюватися з часом. - Не покладайтеся на контекст, налаштування або інші неявні стани.
Субресурси
- Ви можете використовувати аргумент
--subresourceдля команд kubectl, таких якget,patch,edit,applyтаreplaceдля отримання та оновлення субресурсів для всіх ресурсів, які їх підтримують. В Kubernetes версії 1.34 підтримуються лише субресурсиstatus,scaleтаresize.- Для
kubectl edit, субресурсscaleне підтримується. Якщо ви використовуєте--subresourceзkubectl editі вказуєтеscaleяк субресурс, команда викличе помилку.
- Для
- Контракт API для субресурсу ідентичний до повного ресурсу. Оновлюючи субресурс
statusдо нового значення, майте на увазі, що субресурс може бути потенційно узгоджений контролером до іншого значення.
Рекомендації
kubectl run
Для того, щоб kubectl run відповідав принципу інфраструктури як код:
- Присвойте образу версію зі специфічним теґом і не переносіть цей теґ на нову версію. Наприклад, використовуйте
:v1234,v1.2.3,r03062016-1-4, а не:latest(Для отримання додаткової інформації дивіться Поради щодо конфігурації). - Перевірте в скрипті наявність образу з великою кількістю параметрів.
- Перейдіть до файлів конфігурації, перевірених у контролі вихідного коду, для отримання можливостей, які є необхідними, але не можуть бути виражені за допомогою прапорців
kubectl run.
Ви можете використовувати прапорець --dry-run=client, щоб переглянути обʼєкт, який буде відправлений до вашого кластера, без реального його надсилання.
kubectl apply
- Ви можете використовувати
kubectl applyдля створення або оновлення ресурсів. Для отримання додаткової інформації про використання kubectl apply для оновлення ресурсів, дивіться Kubectl Book.
Змінено April 24, 2025 at 5:18 PM PST: sync upstream (03e4e921ba)