kube-apiserver 配置 (v1)
v1 包中包含 API 的 v1 版本。
资源类型
AdmissionConfiguration
AdmissionConfiguration 为准入控制器提供版本化的配置。
字段 | 描述 |
---|---|
apiVersion string | apiserver.config.k8s.io/v1 |
kind string | AdmissionConfiguration |
plugins []AdmissionPluginConfiguration
|
|
AuthorizationConfiguration
字段 | 描述 |
---|---|
apiVersion string | apiserver.config.k8s.io/v1 |
kind string | AuthorizationConfiguration |
authorizers [必需][]AuthorizerConfiguration
|
|
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
|
|
AESConfiguration
出现在:
AESConfiguration 包含针对 AES 转换器的 API 配置。
字段 | 描述 |
---|---|
keys [必需][]Key
|
|
AdmissionPluginConfiguration
出现在:
AdmissionPluginConfiguration 为某个插件提供配置信息。
字段 | 描述 |
---|---|
name [必需]string
|
|
path string
|
|
configuration k8s.io/apimachinery/pkg/runtime.Unknown
|
|
AuthorizerConfiguration
出现在:
字段 | 描述 |
---|---|
type [必需]string
|
|
name [必需]string
|
|
webhook [必需]WebhookConfiguration
|
|
IdentityConfiguration
出现在:
IdentityConfiguration 是一个空结构体,允许在驱动配置中使用身份转换器。
KMSConfiguration
出现在:
KMSConfiguration 包含 KMS 型信封转换器所用的配置文件的名称、缓存大小和路径。
字段 | 描述 |
---|---|
apiVersion string
|
KeyManagementService 的 apiVersion |
name [必需]string
|
|
cachesize int32
|
|
endpoint [必需]string
|
|
timeout meta/v1.Duration
|
|
Key
出现在:
Key 包含为转换器所提供的密钥的名称和 Secret。
字段 | 描述 |
---|---|
name [必需]string
|
|
secret [必需]string
|
|
ProviderConfiguration
出现在:
ProviderConfiguration 存储为加密驱动提供的配置。
字段 | 描述 |
---|---|
aesgcm [必需]AESConfiguration
|
|
aescbc [必需]AESConfiguration
|
|
secretbox [必需]SecretboxConfiguration
|
|
identity [必需]IdentityConfiguration
|
|
kms [必需]KMSConfiguration
|
|
ResourceConfiguration
出现在:
ResourceConfiguration 存储每个资源的配置。
字段 | 描述 |
---|---|
resources [必需][]string
|
|
providers [必需][]ProviderConfiguration
|
|
SecretboxConfiguration
出现在:
SecretboxConfiguration 包含 Secretbox 转换器的 API 配置。
字段 | 描述 |
---|---|
keys [必需][]Key
|
|
WebhookConfiguration
出现在:
字段 | 描述 |
---|---|
authorizedTTL [必需]meta/v1.Duration
|
用于缓存来自 Webhook 鉴权组件的 'authorized' 响应的持续时间。
与设置 |
unauthorizedTTL [必需]meta/v1.Duration
|
用于缓存来自 Webhook 鉴权组件的 'unauthorized' 响应的持续时间。
与设置 |
timeout [必需]meta/v1.Duration
|
Webhook 请求的超时时间。 最大允许值为 30s。 必需,无默认值。 |
subjectAccessReviewVersion [必需]string
|
发送到 Webhook 并期望从 Webhook 接收到的 authorization.k8s.io SubjectAccessReview 的 API 版本。
与设置 |
matchConditionSubjectAccessReviewVersion [必需]string
|
|
failurePolicy [必需]string
|
控制当 Webhook 请求未能完成、返回格式错误的响应或在评估 matchConditions 时发生错误的情况下鉴权决策。 有效值:
|
connectionInfo [必需]WebhookConnectionInfo
|
|
matchConditions [必需][]WebhookMatchCondition
|
精确的匹配逻辑(按顺序)是:
|
WebhookConnectionInfo
Appears in:
字段 | 描述 |
---|---|
type [必需]string
|
控制 Webhook 应如何与服务器通信。 有效值:
|
kubeConfigFile [必需]string
|
|
WebhookMatchCondition
出现在:
字段 | 描述 |
---|---|
expression [必需]string
|
关于 CEL 的文档:https://kubernetes.io/zh-cn/docs/reference/using-api/cel/ |