Інформація в цьому документі може бути застарілою

Дата оновлення цього документа старіша за оригінал, можливо інформація в ньому застаріла. Радимо ознайомитись з оригіналом англійською для отримання найсвіжіших відомостей: Kubelet CredentialProvider (v1)

Kubelet CredentialProvider (v1)

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

CredentialProviderRequest

CredentialProviderRequest включає образ, для якого kubelet вимагає автентифікацію. Kubelet передасть цей обʼєкт запиту втулку через stdin. Загалом втулки повинні відповідати тією ж версією API, яку вони отримали.

ПолеОпис
apiVersion
string
credentialprovider.kubelet.k8s.io/v1
kind
string
CredentialProviderRequest
image [Обовʼязкове]
string

image — це образ контейнеа, який завантажується в рамках запиту втулка для автентифікатора. Втулки можуть за бажанням розпарсити образ для отримання будь-якої інформації, необхідної для отримання облікових даних.

CredentialProviderResponse

CredentialProviderResponse містить облікові дані, які kubelet повинен використовувати для зазначеного образу, наданого в оригінальному запиті. Kubelet буде читати відповідь з втулка через stdout. Ця відповідь повинна бути встановлена на ту ж версію API, що й CredentialProviderRequest.

ПолеОпис
apiVersion
string
credentialprovider.kubelet.k8s.io/v1
kind
string
CredentialProviderResponse
cacheKeyType [Обовʼязкове]
PluginCacheKeyType

cacheKeyType вказує тип ключа кешування для використання на основі образу, наданого в запиті. Є три дійсні значення для типу ключа кешування: Image, Registry і Global. Якщо вказано недійсне значення, kubelet не буде використовувати відповідь.

cacheDuration
meta/v1.Duration

cacheDuration вказує тривалість, впродовж якої облікові дані повинні бути кешовані. Kubelet використовуватиме це поле для налаштування тривалості кешування в пам’яті для облікових даних в AuthConfig. Якщо null, kubelet використовуватиме defaultCacheDuration, надану в CredentialProviderConfig. Якщо встановлено 0, kubelet не буде кешувати наданий AuthConfig.

auth
map[string]AuthConfig

auth — це map, що містить інформацію для автентифікації, передану в kubelet. Кожен ключ є рядком для образу (детальніше про це нижче). Відповідний authConfig має бути дійсним для всіх образів, що відповідають цьому ключу. Втулок повинен встановити це поле в null, якщо не можна повернути дійсні облікові дані для запитаного образу.

Кожен ключ у map є шаблоном, який може містити порт і шлях. Глоби можна використовувати в домені, але не в порті або шляху. Глоби підтримуються як піддомени, такі як '*.k8s.io' або 'k8s.*.io', і домени верхнього рівня, такі як 'k8s.*'. Часткові піддомени, такі як 'app*.k8s.io', також підтримуються. Кожен глоб може відповідати лише одному сегменту піддомена, тому '*.io' не відповідає '*.k8s.io'.

Kubelet буде порівнювати образ з ключем, коли всі з наступного є істинними:

  • Обидва містять однакову кількість частин домену, і кожна частина має збіг.
  • URL шлях imageMatch має бути префіксом цільового URL шляху образу.
  • Якщо imageMatch містить порт, то порт також повинен збігатись в образі.

Коли повертається кілька ключів, kubelet проходитиме через усі ключі у зворотному порядку, щоб:

  • довші ключі з’являються перед коротшими ключами з тим самим префіксом
  • ключі з глобами з’являються перед ключами без глобів з тим самим префіксом.

Для будь-якого відповідного образу kubelet спробує завантажити образ з наданими обліковими даними, зупиняючись після першого успішно автентифікованого завантаження.

Приклади ключів:

  • 123456789.dkr.ecr.us-east-1.amazonaws.com
  • *.azurecr.io
  • gcr.io
  • *.*.registry.io
  • registry.io:8080/path

AuthConfig

Зустрічається в:

AuthConfig містить інформацію для автентифікації для реєстру контейнерів. Сьогодні підтримується тільки автентифікація на основі імені користувача та пароля, але в майбутньому можуть бути додані інші механізми автентифікації.

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

username — це імʼя користувача, яке використовується для автентифікації в реєстрі контейнерів. Порожнє імʼя користувача є дійсним.

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

password — це пароль, який використовується для автентифікації в реєстрі контейнерів. Порожній пароль є дійсним.

PluginCacheKeyType

(Аліас string)

Зустрічається в:

Змінено August 06, 2024 at 12:54 PM PST: Reference/Configuration APIs (88a7492703)