kuberc (v1beta1)

Типи ресурсів

Preference

Preference зберігає елементи конфігураційного файлу KubeRC

ПолеОпис
apiVersion
string
kubectl.config.k8s.io/v1beta1
kind
string
Preference
defaults [Обовʼязкове]
[]CommandDefaults

defaults дозволяють змінювати стандартні значення опцій команд. Це особливо корисно, коли користувач не хоче щоразу явно встановлювати опції.

aliases [Обовʼязкове]
[]AliasOverride

aliases дозволяє визначати аліаси команд для наявних команд kubectl із необовʼязковими стандартними значеннями опцій. Якщо імʼя аліасу збігається з вбудованою командою, вбудована команда завжди має пріоритет. Параметри, перевизначені в розділі defaults, НЕ застосовуються до аліасів для тієї самої команди. kubectl [ALIAS NAME] [USER_OPTIONS] [USER_EXPLICIT_ARGS] розширюється до kubectl [COMMAND] # вбудований аліас команди вказує на [KUBERC_PREPEND_ARGS] [ USER_OPTIONS] [KUBERC_OPTIONS] # решта опцій, які не передаються користувачем у [USER_OPTIONS] [USER_EXPLICIT_ARGS] [KUBERC_APPEND_ARGS] наприклад

  • name: runx command: run options:
    • name: image default: nginx appendArgs:

    • custom-arg1 Наприклад, якщо користувач викликає команду "kubectl runx test-pod", вона буде розгорнута до "kubectl run --image=nginx test-pod -- custom-arg1".
  • name: getn command: get options:
    • name: output default: wide prependArgs:
    • node "kubectl getn control-plane-1" розгортається у "kubectl get node control-plane-1 --output=wide" "kubectl getn control-plane-1 --output=json" розгортається у "kubectl get node --output=json control-plane-1"
credentialPluginPolicy
CredentialPluginPolicy

credentialPluginPolicy визначає політику, яка регулює, які втулки клієнтських облікових даних можуть бути виконані, якщо такі є. Вона ПОВИННА бути однією з { "", "AllowAll", "DenyAll", "Allowlist" }. Якщо політика "", то вона повертається до "AllowAll" (це необхідно для збереження зворотної сумісності). Якщо політика DenyAll, жоден втулок для роботи з обліковими даними не може виконуватися. Якщо політика Allowlist, можуть виконуватися тільки ті втулки, які відповідають критеріям, зазначеним у полі credentialPluginAllowlist.

credentialPluginAllowlist
[]AllowlistEntry

Allowlist — це частина записів allowlist. Якщо будь-який із них збігається, то відповідний виконуваний файл може бути виконаний. Тобто результат є логічним АБО всіх записів у allowlist. Цей список НЕ ПОВИНЕН бути наданий, якщо політика не є "Allowlist".

напр. credentialPluginAllowlist:

  • name: cloud-provider-plugin
  • name: /usr/local/bin/my-plugin У наведеному вище прикладі користувач дозволяє використовувати втулки для введення облікових даних cloud-provider-plugin (знайдений десь у PATH) та втулок, знайдений за явним шляхом /usr/local/bin/my-plugin.

AliasOverride

Зʼявляється в:

AliasOverride зберігає визначення аліасів.

ПолеОпис
name [Обовʼязкове]
string

name — це ім'я аліасу, яке може містити тільки літери алфавіту. Якщо ім'я аліасу конфліктує з вбудованою командою, буде використана вбудована команда.

command [Обовʼязкове]
string

command — є окремою командою або набором команд для викнання, як: "set env" або "create"

prependArgs [Обовʼязкове]
[]string

prependArgs зберігає аргументи, такі як імена ресурсів тощо. Ці аргументи вставляються після імені аліасу.

appendArgs [Обовʼязкове]
[]string

appendArgs зберігає аргументи, такі як імена ресурсів тощо. Ці аргументи додаються до USER_ARGS.

options [Обовʼязкове]
[]CommandOptionDefault

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

AllowlistEntry

Зʼявляється в:

AllowlistEntry — це запис у allowlist. Для кожного елемента allowlist принаймні одне поле має бути заповнене. Структура з усіма порожніми полями вважається помилкою конфігурації. Кожне поле є критерієм для виконання. Якщо вказано кілька полів, то критерії всіх вказаних полів мають бути виконані. Тобто результат окремого запису є логічним AND усіх перевірок, що відповідають вказаним полям у записі.

ПолеОпис
name [Обовʼязкове]
string

Зіставлення імен виконується шляхом попереднього визначення абсолютного шляху як до втулка, так і до імені у записі списку дозволених за допомогою exec.LookPath. Він буде викликаний для обох, і отримані рядки повинні бути однаковими. Якщо будь-який виклик exec.LookPath призведе до помилки, перевірка Name буде вважатися невдалою.

CommandDefaults

Зʼявляється в:

CommandDefaults зберігає команди та повʼязані з ними стандартні значення опцій.

ПолеОпис
command [Обовʼязкове]
string

command відноситься до команди, стандартне значення опції якої змінено.

options [Обовʼязкове]
[]CommandOptionDefault

options — це список опцій, що містять різні стандартні значення.

CommandOptionDefault

Зʼявляється в:

CommandOptionDefault зберігає імʼя та вказане стандартне значення опції.

ПолеОпис
name [Обовʼязкове]
string

Назва опції (повна форма, без тире).

default [Обовʼязкове]
string

Стандартні значення у форматі рядка. Вони будуть розібрані kubectl на сумісні значення опції.

CredentialPluginPolicy

(Alias of string)

Appears in:

CredentialPluginPolicy визначає політику, яка регулює, які втулки клієнтських облікових даних можуть бути виконані, якщо такі є. Вона ПОВИННА бути однією з { "", "AllowAll", "DenyAll", "Allowlist" }. Якщо політика є "", то вона повертається до "AllowAll" (це необхідно для збереження зворотної сумісності). Якщо політика — DenyAll, втулки для введення облікових даних не можуть виконуватися. Якщо політика — Allowlist, можуть виконуватися тільки ті втулки, які відповідають критеріям, зазначеним у полі credentialPluginAllowlist. Якщо політика не є Allowlist, але така надана, це вважається помилкою конфігурації.