Рекомендовані правила використання 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.36 підтримуються лише субресурси status, scale та resize.kubectl edit, субресурс scale не підтримується. Якщо ви використовуєте --subresource з kubectl edit і вказуєте scale як субресурс, команда викличе помилку.status до нового значення, майте на увазі, що субресурс може бути потенційно узгоджений контролером до іншого значення.kubectl runДля того, щоб kubectl run відповідав принципу інфраструктури як код:
:v1234, v1.2.3, r03062016-1-4, а не :latest (Для отримання додаткової інформації дивіться Поради щодо конфігурації Kubernetes).kubectl run.Ви можете використовувати прапорець --dry-run=client, щоб переглянути обʼєкт, який буде відправлений до вашого кластера, без реального його надсилання.
kubectl proxyПерегляд ненадійних точок доступу подів або сервісів через kubectl proxy є небезпечним, оскільки обслуговуваний вміст має неявний доступ до API Kubernetes за допомогою облікових даних проксі. Будьте обережні та уникайте доступу до ненадійних точок доступу під час використання привілейованих облікових даних.
Щоб зменшити ризик:
kubectl proxy.--reject-methods='POST,PUT,PATCH,DELETE', щоб обмежити проксі лише операціями читання, коли вам потрібно лише переглядати ресурси.--reject-paths, щоб обмежити, які шляхи API проксі відкриває.kubectl proxy з обліковими даними cluster-admin, якщо це не необхідно.kubectl applykubectl apply для створення або оновлення ресурсів. Для отримання додаткової інформації про використання kubectl apply для оновлення ресурсів, дивіться Kubectl Book.