kubectl patch
Огляд
Оновлення полів ресурсу за допомогою патча стратегічного злиття, патча злиття JSON або патча JSON.
Підтримуються формати JSON і YAML.
Примітка: Стратегічне злиття не підтримується для власних ресурсів користувача.
kubectl patch (-f FILENAME | TYPE NAME) [-p PATCH|--patch-file FILE]
Приклади
# Частково оновити вузол за допомогою патчів стратегічного злиття, вказавши патч як JSON
kubectl patch node k8s-node-1 -p '{"spec":{"unschedulable":true}}'
# Частково оновити вузол за допомогою патчів стратегічного злиття, вказавши патч як YAML
kubectl patch node k8s-node-1 -p $'spec:\n unschedulable: true'
# Частково оновити вузол, визначений типом та імʼям у "node.json", за допомогою патчів стратегічного злиття
kubectl patch -f node.json -p '{"spec":{"unschedulable":true}}'
# Оновити образ контейнера; spec.containers[*].name є обовʼязковим, оскільки це ключ для злиття
kubectl patch pod valid-pod -p '{"spec":{"containers":[{"name":"kubernetes-serve-hostname","image":"new image"}]}}'
# Оновити образ контейнера за допомогою патча JSON з позиційними масивами
kubectl patch pod valid-pod --type='json' -p='[{"op": "replace", "path": "/spec/containers/0/image", "value":"new image"}]'
# Оновити кількість реплік deployment через субресурс 'scale' за допомогою злиття патчів
kubectl patch deployment nginx-deployment --subresource='scale' --type='merge' -p '{"spec":{"replicas":2}}'
Параметри
--allow-missing-template-keys Типово: true | |
Якщо true, ігнорувати будь-які помилки в шаблонах, коли в шаблоні відсутнє поле або ключ map. Застосовується лише до форматів виводу golang та jsonpath. | |
--dry-run string[="unchanged"] Типово: "none" | |
Має бути "none", "server" або "client". Якщо це стратегія client, вивести лише обʼєкт, який міг би бути надісланим, не надсилаючи його. Якщо це стратегія server, надіслати запит на стороні сервера без збереження ресурсу. | |
--field-manager string Типово: "kubectl-patch" | |
Імʼя менеджера, що використовується для відстеження права власності на поле. | |
-f, --filename strings | |
Імʼя файлу, теки або URL до файлів, яки визначають ресурс для оновлення. | |
-h, --help | |
Довідка patch | |
-k, --kustomize string | |
Обробити теку kustomization. Цей прапорець не можна використовувати разом з -f або -R. | |
--local | |
Якщо true, патч буде працювати з вмістом файлу, а не з ресурсом на стороні сервера. | |
-o, --output string | |
Формат виводу. Один з: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file). | |
-p, --patch string | |
Патч, який буде застосовано до JSON-файлу ресурсу. | |
--patch-file string | |
Файл, що містить патч, який буде застосовано до ресурсу. | |
-R, --recursive | |
Рекурсивно обробити теку, вказану у -f, --filename. Корисно, якщо ви хочете керувати повʼязаними маніфестами, організованими в одній теці. | |
--show-managed-fields | |
Якщо true, зберігати managedFields при виводі обʼєктів у форматі JSON або YAML. | |
--subresource string | |
Якщо вказано, редагування працюватиме з субресурсом запитуваного обʼєкта. Цей прапорець є бета-версією і може змінюватися у майбутньому. | |
--template string | |
Рядок шаблону або шлях до файлу шаблону для використання з -o=go-template, -o=go-template-file. Формат шаблону — golang-шаблони [http://golang.org/pkg/text/template/#pkg-overview]. | |
--type string Типово: "strategic" | |
Тип патчу, що застосовується; один з [json merge strategic]. |
Параметри батьківських команд
--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