kube-apiserver 配置 (v1)

软件包 v1 是 API 的 v1 版本。

资源类型

AdmissionConfiguration

AdmissionConfiguration 为准入控制器提供版本化配置。

字段描述
apiVersion
字符串
apiserver.config.k8s.io/v1
种类
字符串
AdmissionConfiguration
插件
[]AdmissionPluginConfiguration

插件允许为每个准入控制插件指定配置。

EncryptionConfiguration

EncryptionConfiguration 存储加密提供程序的完整配置。它还允许使用通配符来指定要加密的资源。使用 '*.<组>' 加密组内的所有资源,或使用 '*.*' 加密所有资源。'*.' 可用于加密核心组中的所有资源。'*.*' 将加密所有资源,甚至包括 API 服务器启动后添加的自定义资源。不允许在同一个资源列表中或跨多个条目使用重叠的通配符,因为部分配置将无效。资源列表按顺序处理,较早的列表优先。

示例

kind: EncryptionConfiguration
apiVersion: apiserver.config.k8s.io/v1
resources:
- resources:
  - events
  providers:
  - identity: {}  # do not encrypt events even though *.* is specified below
- 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
字符串
apiserver.config.k8s.io/v1
种类
字符串
EncryptionConfiguration
资源 [必填]
[]ResourceConfiguration

资源是一个包含资源及其对应加密提供程序的列表。

AESConfiguration

出现在

AESConfiguration 包含 AES 变换器的 API 配置。

字段描述
密钥 [必填]
[]Key

密钥是用于创建 AES 变换器的密钥列表。对于 AES-CBC,每个密钥必须为 32 字节长;对于 AES-GCM,每个密钥必须为 16、24 或 32 字节长。

AdmissionPluginConfiguration

出现在

AdmissionPluginConfiguration 提供单个插件的配置。

字段描述
名称 [必填]
字符串

名称是准入控制器的名称。它必须与注册的准入插件名称匹配。

路径
字符串

路径是指向包含插件配置的配置文件的路径。

配置
k8s.io/apimachinery/pkg/runtime.Unknown

配置是一个嵌入式配置对象,用作插件的配置。如果存在,它将用于代替配置文件的路径。

IdentityConfiguration

出现在

IdentityConfiguration 是一个空结构体,允许在提供程序配置中使用身份转换器。

KMSConfiguration

出现在

KMSConfiguration 包含基于 KMS 的信封转换器的名称、缓存大小和配置文件路径。

字段描述
apiVersion
字符串

KeyManagementService 的 apiVersion

名称 [必填]
字符串

名称是要使用的 KMS 插件的名称。

缓存大小
int32

缓存大小是在内存中缓存的最大密钥数量。默认值为 1000。设置为负值以禁用缓存。此字段仅适用于 KMS v1 提供程序。

端点 [必填]
字符串

端点是 gRPC 服务器侦听地址,例如 "unix:///var/run/kms-provider.sock"。

超时
meta/v1.Duration

gRPC 调用 kms-plugin 的超时时间(例如 5 秒)。默认为 3 秒。

Key

出现在

Key 包含为转换器提供的密钥的名称和密钥本身。

字段描述
名称 [必填]
字符串

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

密钥 [必填]
字符串

密钥是实际的密钥,采用 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 存储每个资源的配置。

字段描述
资源 [必填]
[]字符串

资源是要加密的 Kubernetes 资源列表。资源名称派生自组/版本/资源的 resourceresource.group。例如:pandas.awesome.bears.example 是一个自定义资源,其 'group' 为 awesome.bears.example,'resource' 为 pandas。使用 '*.*' 加密所有资源,使用 '*.<组>' 加密特定组中的所有资源。例如:'*.awesome.bears.example' 将加密 'awesome.bears.example' 组中的所有资源。例如:'*.' 将加密核心组中的所有资源(例如 Pod、ConfigMap 等)。

提供程序 [必填]
[]ProviderConfiguration

提供程序是要用于读取和写入磁盘资源的转换器列表。例如:aesgcm、aescbc、secretbox、identity、kms。

SecretboxConfiguration

出现在

SecretboxConfiguration 包含 Secretbox 变换器的 API 配置。

字段描述
密钥 [必填]
[]Key

密钥是用于创建 Secretbox 变换器的密钥列表。每个密钥必须为 32 字节长。

本页面由系统自动生成。

如果您计划报告此页面的问题,请在问题描述中说明该页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。

上次修改时间:2024 年 4 月 19 日下午 5:34(太平洋标准时间):手动修复生成的参考中的错误。(30d2c8286e)