kubectl annotate

Огляд

Оновлення анотацій на одному або декількох ресурсах.

Всі обʼєкти Kubernetes підтримують можливість зберігати додаткові дані разом з обʼєктом у вигляді анотацій. Анотації — це пари ключ/значення, які можуть бути більшими за мітки та включати довільні рядкові значення, такі як структурований JSON. Інструменти та розширення системи можуть використовувати анотації для зберігання власних даних.

Спроба створити анотацію, яка вже існує, призведе до невдачі, якщо не вказано --overwrite. Якщо вказано --resource-version і не збігається з поточною версією ресурсу на сервері, виконання команди буде невдалим.

Для отримання повного списку підтримуваних ресурсів скористайтеся kubectl api-resources.

kubectl annotate [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--resource-version=version]

Приклади

# Оновити Pod 'foo' з анотацією 'description' і значенням 'my frontend'
# Якщо ту саму анотацію встановлено кілька разів, буде застосовано лише останнє значення
kubectl annotate pods foo description='my frontend'

# Оновити Pod, ідентифікований за типом і іменем у "pod.json"
kubectl annotate -f pod.json description='my frontend'

# Оновити Pod 'foo' з анотацією 'description' і значенням 'my frontend running nginx', перезаписуючи будь-яке існуюче значення
kubectl annotate --overwrite pods foo description='my frontend running nginx'

# Оновити всі Podʼи в просторі імен
kubectl annotate pods --all description='my frontend running nginx'

# Оновити Pod 'foo' лише у випадку, якщо ресурс не змінювався з версії 1
kubectl annotate pods foo description='my frontend running nginx' --resource-version=1

# Оновити Pod 'foo', видаливши анотацію з назвою 'description', якщо вона існує
# Не потребує прапорця --overwrite
kubectl annotate pods foo description-

Параметри

--all

Вибрати всі ресурси у просторі імен вказаних типів ресурсів.

-A, --all-namespaces

Якщо true, перевірити вказану дію в усіх просторах імен.

--allow-missing-template-keys     Типово: true

Якщо це значення встановлено, ігнорувати будь-які помилки в шаблонах, коли в шаблоні відсутнє поле або ключ map. Застосовується лише до форматів виводу golang та jsonpath.

--dry-run string[="unchanged"]     Типово: "none"

Має бути "none", "server" або "client". Якщо це стратегія client, вивести лише обʼєкт, який міг би бути надісланим, не надсилаючи його. Якщо це стратегія server, надіслати запит на стороні сервера без збереження ресурсу.

--field-manager string     Типово: "kubectl-annotate"

Імʼя менеджера, що використовується для відстеження права власності на поле.

--field-selector string

Селектор (запит поля) для фільтрації підтримує '=', '==' і '!=' (наприклад, --field-selector key1=value1,key2=value2). Сервер підтримує лише обмежену кількість запитів до полів кожного типу.

-f, --filename strings

Імʼя файлу, теки або URL до файлів, що ідентифікують ресурс для оновлення анотації

-h, --help

довідка annotate

-k, --kustomize string

Обробити теку kustomization. Цей прапорець не можна використовувати разом з -f або -R.

--list

Якщо true, показувати анотації для даного ресурсу.

--local

Якщо значення true, annotation НЕ буде звертатися до api-server, а виконуватиметься локально.

-o, --output string

Формат виводу. Один з: (json, yaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).

--overwrite

Якщо true, дозволити перезапис анотацій, інакше відхиляти оновлення анотацій, які перезаписують наявні анотації.

-R, --recursive

Рекурсивно обробити теку, вказану у -f, --filename. Корисно, якщо ви хочете керувати повʼязаними маніфестами, організованими в одній теці.

--resource-version string

Якщо значення не порожнє, оновлення анотації буде успішним, тільки якщо це поточна версія ресурсу для обʼєкта. Дійсно лише при зазначенні одного ресурсу.

-l, --selector string

Селектор (запит на мітки) для фільтрації, що підтримує '=', '==' і '!=' (наприклад, -l key1=value1,key2=value2). Обʼєкти, щоб мати збіг, повинні задовольняти усім зазначеним обмеженням міток.

--show-managed-fields

Якщо true, зберігати managedFields при виводі обʼєктів у форматі JSON або YAML.

--template string

Рядок шаблону або шлях до файлу шаблону для використання з -o=go-template, -o=go-template-file. Формат шаблону — golang-шаблони [http://golang.org/pkg/text/template/#pkg-overview].

Параметри батьківських команд

--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
Змінено August 22, 2024 at 6:59 PM PST: upstream sync (b7f2b32b60)