From 07c21bc73ba3c6db37e1c09a8e01de92bb9c4874 Mon Sep 17 00:00:00 2001
From: windsonsea v1 包中包含 API 的 v1 版本。
+ +示例: +
+ +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==
+
+| 字段 | 描述 |
|---|---|
apiVersionstring | apiserver.config.k8s.io/v1 |
kindstring | EncryptionConfiguration |
resources [必需]+ []ResourceConfiguration
+ |
+
+ + + resources 是一个包含资源及其对应加密驱动的列表。 + + |
+
+ +AESConfiguration 包含针对 AES 转换器的 API 配置。 +
+ +| 字段 | 描述 |
|---|---|
keys [必需]+ []Key
+ |
+
+ + + keys 是一个用于创建 AES 转换器的密钥列表。 + 对于 AES-CBC,每个密钥的长度必须是 32 字节; + 对于 AES-GCM,每个密钥的长度可以是 16、24 或 32 字节。 + + |
+
+ +IdentityConfiguration 是一个空结构体,允许在驱动配置中使用身份转换器。 +
+ +## `KMSConfiguration` {#apiserver-config-k8s-io-v1-KMSConfiguration} + + +**出现在:** + +- [ProviderConfiguration](#apiserver-config-k8s-io-v1-ProviderConfiguration) + ++ +KMSConfiguration 包含 KMS 型信封转换器所用的配置文件的名称、缓存大小和路径。 +
+ +| 字段 | 描述 |
|---|---|
apiVersion+ string
+ |
+
+ + + KeyManagementService 的 apiVersion + + |
+
name [必需]+ string
+ |
+
+ + + name 是要使用的 KMS 插件的名称。 + + |
+
cachesize+ int32
+ |
+
+ + + cachesize 是内存中缓存的最大 Secret 数量。默认值为 1000。 + 设置为负值将禁用缓存。此字段仅允许用于 KMS v1 驱动。 + + |
+
endpoint [必需]+ string
+ |
+
+ + + endpoint 是 gRPC 服务器的监听地址,例如 "unix:///var/run/kms-provider.sock"。 + + |
+
timeout+ meta/v1.Duration
+ |
+
+ + + timeout 是 gRPC 调用到 KMS 插件的超时时间(例如 5s)。默认值为 3 秒。 + + |
+
+ +Key 包含为转换器所提供的密钥的名称和 Secret。 +
+ +| 字段 | 描述 |
|---|---|
name [必需]+ string
+ |
+
+ + + name 是在将数据存储到磁盘时所使用的密钥名称。 + + |
+
secret [必需]+ string
+ |
+
+ + + secret 是实际的密钥,以 base64 编码。 + + |
+
+ +ProviderConfiguration 存储为加密驱动提供的配置。 +
+ +| 字段 | 描述 |
|---|---|
aesgcm [必需]+ AESConfiguration
+ |
+
+ + + aesgcm 是 AES-GCM 转换器的配置。 + + |
+
aescbc [必需]+ AESConfiguration
+ |
+
+ + + aescbc 是 AES-CBC 转换器的配置。 + + |
+
secretbox [必需]+ SecretboxConfiguration
+ |
+
+ + + secretbox 是基于 Secretbox 的转换器的配置。 + + |
+
identity [必需]+ IdentityConfiguration
+ |
+
+ + + identity 是身份转换器的(空)配置。 + + |
+
kms [必需]+ KMSConfiguration
+ |
+
+ + + kms 包含 KMS 型信封转换器所用的配置文件的名称、缓存大小和路径。 + + |
+
+ +ResourceConfiguration 存储每个资源的配置。 +
+ +| 字段 | 描述 |
|---|---|
resources [必需]+ []string
+ |
+
+
+
+ resources 是一个需要加密的 Kubernetes 资源列表。
+ 资源名称来源于组/版本/资源的 “ |
+
providers [必需]+ []ProviderConfiguration
+ |
+
+ + + providers 是从磁盘读取资源和写入资源到磁盘要使用的转换器的列表。 + 例如:aesgcm、aescbc、secretbox、identity、kms。 + + |
+
+ +SecretboxConfiguration 包含 Secretbox 转换器的 API 配置。 +
+ +| 字段 | 描述 |
|---|---|
keys [必需]+ []Key
+ |
+
+ + + keys 是一个用于创建 Secretbox 转换器的密钥列表。每个密钥的长度必须为 32 字节。 + + |
+