kube-apiserver Configuration (v1)
Пакет v1 — це версія API v1.
Типи ресурсів
AdmissionConfiguration
AdmissionConfiguration надає версійовану конфігурацію для контролерів допуску.
Поле | Опис |
---|---|
apiVersion string | apiserver.config.k8s.io/v1 |
kind string | AdmissionConfiguration |
plugins []AdmissionPluginConfiguration | Plugins дозволяє вказувати конфігурацію для кожного втулка контролю допуску. |
EncryptionConfiguration
EncryptionConfiguration зберігає повну конфігурацію для провайдерів шифрування. Він також дозволяє використовувати шаблони для вказання ресурсів, які повинні бути зашифровані. Використовуйте '*.<group>' для шифрування всіх ресурсів у групі або '*.*' для шифрування всіх ресурсів. '*.' можна використовувати для шифрування всіх ресурсів у основній групі. '*.*' зашифрує всі ресурси, навіть користувацькі, які додаються після запуску сервера API. Використання шаблонів, що перекриваються в межах одного списку ресурсів або між кількома записами, не дозволяється, оскільки частина конфігурації буде неефективною. Списки ресурсів обробляються в порядку, причому перші списки мають пріоритет.
Приклад:
kind: EncryptionConfiguration
apiVersion: apiserver.config.k8s.io/v1
resources:
- resources:
- events
providers:
- identity: {} # не шифрувати події, навіть якщо *.* зазначено нижче
- resources:
- secrets
- configmaps
- pandas.awesome.bears.example
providers:
- aescbc:
keys:
- name: key1
secret: c2VjcmV0IGlzIHNlY3VyZQ==
- resources:
- '*.apps'
providers:
- aescbc:
keys:
- name: key2
secret: c2VjcmV0IGlzIHNlY3VyZSwgb3IgaXMgaXQ/Cg==
- resources:
- '*.*'
providers:
- aescbc:
keys:
- name: key3
secret: c2VjcmV0IGlzIHNlY3VyZSwgSSB0aGluaw==
Поле | Опис |
---|---|
apiVersion string | apiserver.config.k8s.io/v1 |
kind string | EncryptionConfiguration |
resources [Обовʼязково][]ResourceConfiguration | resources — це список, що містить ресурси та відповідні їм провайдери шифрування. |
AESConfiguration
Зʼявляється в:
AESConfiguration містить конфігурацію API для AES-трансформера.
Поле | Опис |
---|---|
keys [Обовʼязково][]Key | keys — це список ключів, які використовуються для створення AES-трансформера. Кожен ключ повинен бути 32 байти для AES-CBC та 16, 24 або 32 байти для AES-GCM. |
AdmissionPluginConfiguration
Зʼявляється в:
AdmissionPluginConfiguration надає конфігурацію для одного втулка.
Поле | Опис |
---|---|
name [Обовʼязково]string | Name — це назва контролера допуску. Вона повинна відповідати зареєстрованій назві втулка контролю допуску. |
path string | Path — це шлях до конфігураційного файлу, який містить конфігурацію втулка |
configuration k8s.io/apimachinery/pkg/runtime.Unknown | Configuration — це вбудований конфігураційний обʼєкт, який використовується як конфігурація втулка. Якщо він присутній, то буде використовуватися замість шляху до конфігураційного файлу. |
IdentityConfiguration
Зʼявляється в:
IdentityConfiguration — це порожня структура, яка дозволяє використовувати трансформер ідентичності в конфігурації провайдера.
KMSConfiguration
Зʼявляється в:
KMSConfiguration містить назву, розмір кешу та шлях до конфігураційного файлу для трансформера конвертів на основі KMS.
Поле | Опис |
---|---|
apiVersion string | apiVersion KeyManagementService |
name [Обовʼязково]string | name — це назва втулка KMS,який буде використовуватися. |
cachesize int32 | cachesize — це максимальна кількість секретів, які кешуються в памʼяті. Стандартне значення — 1000. Встановіть негативне значення, щоб вимкнути кешування. Це поле дозволено лише для провайдерів KMS v1. |
endpoint [Обовʼязково]string | endpoint — це адреса прослуховувння gRPC сервера, наприклад, "unix:///var/run/kms-provider.sock". |
timeout meta/v1.Duration | timeout для gRPC викликів до kms-втулка (наприклад, 5 секунд). Стандатне значення — 3 секунди. |
Key
Зʼявляється в:
Key містить імʼя та секрет наданого ключа для трансформера.
Поле | Опис |
---|---|
name [Обовʼязково]string | name — це імʼя ключа, який буде використовуватися при збереженні даних на диск. |
secret [Обовʼязково]string | secret — це фактичний ключ, закодований в base64. |
ProviderConfiguration
Зʼявляється в:
ProviderConfiguration зберігає надану конфігурацію для провайдера шифрування.
Поле | Опис |
---|---|
aesgcm [Обовʼязково]AESConfiguration | aesgcm — це конфігурація для трансформера AES-GCM. |
aescbc [Обовʼязково]AESConfiguration | aescbc — це конфігурація для трансформера AES-CBC. |
secretbox [Обовʼязково]SecretboxConfiguration | secretbox — це конфігурація для трансформера на основі Secretbox. |
identity [Обовʼязково]IdentityConfiguration | identity — це (порожня) конфігурація для трансформера ідентичності. |
kms [Обовʼязково]KMSConfiguration | kms містить назву, розмір кешу та шлях до конфігураційного файлу для трансформера конвертів на основі KMS. |
ResourceConfiguration
Зʼявляється в:
ResourceConfiguration зберігає конфігурацію для кожного ресурсу.
Поле | Опис |
---|---|
resources [Обовʼязково][]string | resources — це список ресурсів Kubernetes, які мають бути зашифровані. Імена ресурсів походять від |
providers [Обовʼязково][]ProviderConfiguration | providers — це список трансформерів, які використовуються для читання та запису ресурсів на диск. Наприклад: aesgcm, aescbc, secretbox, identity, kms. |
SecretboxConfiguration
Зʼявляється в:
SecretboxConfiguration містить API конфігурацію для трансформера Secretbox.
Поле | Опис |
---|---|
keys [Обовʼязково][]Key | keys — це список ключів, які використовуються для створення трансформера Secretbox. Кожен ключ повинен бути довжиною 32 байти. |