From 07c21bc73ba3c6db37e1c09a8e01de92bb9c4874 Mon Sep 17 00:00:00 2001 From: windsonsea Date: Thu, 26 Sep 2024 09:29:27 +0800 Subject: [PATCH] [zh] Add zh text to: config-api/apiserver-config.v1.md --- .../config-api/apiserver-config.v1.md | 447 +++++++++++++++++- 1 file changed, 445 insertions(+), 2 deletions(-) diff --git a/content/zh-cn/docs/reference/config-api/apiserver-config.v1.md b/content/zh-cn/docs/reference/config-api/apiserver-config.v1.md index 87f3945431..a0638c3982 100644 --- a/content/zh-cn/docs/reference/config-api/apiserver-config.v1.md +++ b/content/zh-cn/docs/reference/config-api/apiserver-config.v1.md @@ -2,7 +2,6 @@ title: kube-apiserver 配置 (v1) content_type: tool-reference package: apiserver.config.k8s.io/v1 -auto_generated: true --- -

v1 包中包含 API 的 v1 版本。

+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` {#apiserver-config-k8s-io-v1-AESConfiguration} + + +**出现在:** + +- [ProviderConfiguration](#apiserver-config-k8s-io-v1-ProviderConfiguration) + +

+ +AESConfiguration 包含针对 AES 转换器的 API 配置。 +

+ + + + + + + + + +
字段描述
keys [必需]
+[]Key +
+

+ + keys 是一个用于创建 AES 转换器的密钥列表。 + 对于 AES-CBC,每个密钥的长度必须是 32 字节; + 对于 AES-GCM,每个密钥的长度可以是 16、24 或 32 字节。 +

+
+ ## `AdmissionPluginConfiguration` {#apiserver-config-k8s-io-v1-AdmissionPluginConfiguration} +**出现在:** + +- [ProviderConfiguration](#apiserver-config-k8s-io-v1-ProviderConfiguration) + +

+ +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` {#apiserver-config-k8s-io-v1-Key} + + +**出现在:** + +- [AESConfiguration](#apiserver-config-k8s-io-v1-AESConfiguration) +- [SecretboxConfiguration](#apiserver-config-k8s-io-v1-SecretboxConfiguration) + +

+ +Key 包含为转换器所提供的密钥的名称和 Secret。 +

+ + + + + + + + + + + + +
字段描述
name [必需]
+string +
+

+ + name 是在将数据存储到磁盘时所使用的密钥名称。 +

+
secret [必需]
+string +
+

+ + secret 是实际的密钥,以 base64 编码。 +

+
+ +## `ProviderConfiguration` {#apiserver-config-k8s-io-v1-ProviderConfiguration} + + +**出现在:** + +- [ResourceConfiguration](#apiserver-config-k8s-io-v1-ResourceConfiguration) + +

+ +ProviderConfiguration 存储为加密驱动提供的配置。 +

+ + + + + + + + + + + + + + + + + + + + + +
字段描述
aesgcm [必需]
+AESConfiguration +
+

+ + aesgcm 是 AES-GCM 转换器的配置。 +

+
aescbc [必需]
+AESConfiguration +
+

+ + aescbc 是 AES-CBC 转换器的配置。 +

+
secretbox [必需]
+SecretboxConfiguration +
+

+ + secretbox 是基于 Secretbox 的转换器的配置。 +

+
identity [必需]
+IdentityConfiguration +
+

+ + identity 是身份转换器的(空)配置。 +

+
kms [必需]
+KMSConfiguration +
+

+ + kms 包含 KMS 型信封转换器所用的配置文件的名称、缓存大小和路径。 +

+
+ +## `ResourceConfiguration` {#apiserver-config-k8s-io-v1-ResourceConfiguration} + + +**出现在:** + +- [EncryptionConfiguration](#apiserver-config-k8s-io-v1-EncryptionConfiguration) + +

+ +ResourceConfiguration 存储每个资源的配置。 +

+ + + + + + + + + + + + +
字段描述
resources [必需]
+[]string +
+

+ + resources 是一个需要加密的 Kubernetes 资源列表。 + 资源名称来源于组/版本/资源的 “resource” 或 “resource.group”。 + 例如,pandas.awesome.bears.example 是一个自定义资源,其 “group” 为 awesome.bears.example, + “resource” 为 pandas。使用 “*.*” 以加密所有资源,使用 “*.<group>” 以加密特定组中的所有资源。 + 例如,“*.awesome.bears.example” 将加密 “awesome.bears.example” 组中的所有资源。 + 再比如,“*.” 将加密核心组中的所有资源(如 Pod、ConfigMap 等)。 +

+
providers [必需]
+[]ProviderConfiguration +
+

+ + providers 是从磁盘读取资源和写入资源到磁盘要使用的转换器的列表。 + 例如:aesgcm、aescbc、secretbox、identity、kms。 +

+
+ +## `SecretboxConfiguration` {#apiserver-config-k8s-io-v1-SecretboxConfiguration} + + +**出现在:** + +- [ProviderConfiguration](#apiserver-config-k8s-io-v1-ProviderConfiguration) + +

+ +SecretboxConfiguration 包含 Secretbox 转换器的 API 配置。 +

+ + + + + + + + + +
字段描述
keys [必需]
+[]Key +
+

+ + keys 是一个用于创建 Secretbox 转换器的密钥列表。每个密钥的长度必须为 32 字节。 +

+