此文档中的信息可能已过时
此文档的更新日期比原文晚,因此其中的信息可能已过时。如果能阅读英文,请查看英文版本以获取最新信息: kube-apiserver Configuration (v1)
kube-apiserver 配置 (v1)
v1 包中包含 API 的 v1 版本。
资源类型
AdmissionConfiguration    
AdmissionConfiguration 为准入控制器提供版本化的配置。
| 字段 | 描述 | 
|---|---|
| apiVersionstring | apiserver.config.k8s.io/v1 | 
| kindstring | AdmissionConfiguration | 
| plugins[]AdmissionPluginConfiguration | 
  
   | 
AuthorizationConfiguration    
| 字段 | 描述 | 
|---|---|
| apiVersionstring | apiserver.config.k8s.io/v1 | 
| kindstring | 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==
| 字段 | 描述 | 
|---|---|
| apiVersionstring | apiserver.config.k8s.io/v1 | 
| kindstring | EncryptionConfiguration | 
| resources[必需][]ResourceConfiguration | 
   
    | 
AESConfiguration    
出现在:
AESConfiguration 包含针对 AES 转换器的 API 配置。
| 字段 | 描述 | 
|---|---|
| keys[必需][]Key | 
   
    | 
AdmissionPluginConfiguration    
出现在:
AdmissionPluginConfiguration 为某个插件提供配置信息。
| 字段 | 描述 | 
|---|---|
| name[必需]string | 
  
   | 
| pathstring | 
  
   | 
| configurationk8s.io/apimachinery/pkg/runtime.Unknown | 
  
   | 
AuthorizerConfiguration    
出现在:
| 字段 | 描述 | 
|---|---|
| type[必需]string | 
 | 
| name[必需]string | 
 | 
| webhook[必需]WebhookConfiguration | 
 | 
IdentityConfiguration    
出现在:
IdentityConfiguration 是一个空结构体,允许在驱动配置中使用身份转换器。
KMSConfiguration    
出现在:
KMSConfiguration 包含 KMS 型信封转换器所用的配置文件的名称、缓存大小和路径。
| 字段 | 描述 | 
|---|---|
| apiVersionstring | KeyManagementService 的 apiVersion | 
| name[必需]string | 
   
    | 
| cachesizeint32 | 
   
    | 
| endpoint[必需]string | 
   
    | 
| timeoutmeta/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/ |