Налаштування користувача для kubectl (kuberc)
Kubernetes 1.33 [alpha]
Файл конфігурації Kubernetes kuberc
дозволяє вам визначити параметри для kubectl, такі як стандартні параметри та аліаси команд. На відміну від файлу kubeconfig, файл конфігурації kuberc
не містить відомостей про кластер, імен користувачів або паролів.
Типово цей файл конфігурації розташований за адресою $HOME/.kube/kuberc
. Ви можете вказати kubectl
, щоб він шукав конфігурацію в іншому шляху, використовуючи аргумент командного рядка --kuberc
.
aliases
У конфігурації kuberc
аліаси дозволяють вам визначити власні скорочення для команд kubectl, за бажанням з попередньо встановленими аргументами командного рядка.
name
Імʼя аліаса не повинно конфліктувати з вбудованими командами.
command
Вкажіть вбудовану команду, яку буде виконувати ваш аліас. Це включає підтримку підкоманд, таких як create role
.
flags
Вкажіть типове значення для аргументів командного рядка (які формат kuberc називає flags). Якщо ви явно вкажете аргумент командного рядка під час виконання kubectl, значення, яке ви надасте, матиме пріоритет над значенням за замовчуванням, визначеним у kuberc.
Приклад
apiVersion: kubectl.config.k8s.io/v1alpha1
kind: Preference
aliases:
- name: getn
command: get
flags:
- name: output
default: json
З цим аліасом виконання kubectl getn pods
буде типово робити вивід у форматі JSON. Однак, якщо ви виконаєте kubectl getn pods -oyaml
, вивід буде у форматі YAML.
prependArgs
Додає довільні аргументи одразу після команди kubectl та її підкоманди (якщо такі є).
Приклад
apiVersion: kubectl.config.k8s.io/v1alpha1
kind: Preference
aliases:
- name: getn
command: get
prependArgs:
- namespace
flags:
- name: output
default: json
kubectl getn test-ns
will be translated to kubectl get namespace test-ns --output json
.
appendArgs
Додає довільні аргументи в кінець команди kubectl.
Приклад
apiVersion: kubectl.config.k8s.io/v1alpha1
kind: Preference
aliases:
- name: runx
command: run
flags:
- name: image
default: busybox
- name: namespace
default: test-ns
appendArgs:
- --
- custom-arg
kubectl runx test-pod
буде перетворено на kubectl run test-pod --namespace test-ns --image busybox -- custom-arg
.
Перевизначення команд
У конфігурації kuberc
перевизначення команд дозволяють вам вказати власні значення для аргументів командного рядка.
command
Вкажіть вбудовану команду. Це включає підтримку підкоманд, таких як create role
.
flags
У конфігурації kuberc
аргументи командного рядка називаються flags (навіть якщо вони не представляють булевий тип). Ви можете використовувати flags
, щоб встановити стандартне значення для аргументу командного рядка.
Якщо ви явно вкажете прапорець на своєму терміналі, явне значення завжди матиме пріоритет над значенням, яке ви визначили в kuberc за допомогою overrides
.
Примітка:
Ви не можете використовуватиkuberc
, щоб перевизначити значення аргументу командного рядка, щоб воно мало пріоритет над тим, що користувач вказує в командному рядку. Термін overrides
в цьому контексті відноситься до вказівки стандартного значення, яке відрізняється від вбудованого стандартного значення.Приклад
apiVersion: kubectl.config.k8s.io/v1alpha1
kind: Preference
overrides:
- command: delete
flags:
- name: interactive
default: "true"
Цим перевизначенням ви вказуєте, що команда kubectl delete pod/test-pod
типово повинна запитувати підтвердження перед видаленням ресурсу. Однак, kubectl delete pod/test-pod --interactive=false
обійде підтвердження.
Супровідники kubectl заохочують вас прийняти kuberc з наведеними значеннями за замовчуванням:
apiVersion: kubectl.config.k8s.io/v1alpha1
kind: Preference
overrides:
- command: apply
flags:
- name: server-side
default: "true"
- command: delete
flags:
- name: interactive
default: "true"
Вимкнення kuberc
Щоб тимчасово вимкнути функціональність kuberc, просто експортуйте змінну середовища KUBERC
зі значенням off
:
export KUBERC=off
або вимкніть функціональну можливість:
export KUBECTL_KUBERC=false