此文档中的信息可能已过时
此文档的更新日期比原文晚,因此其中的信息可能已过时。如果能阅读英文,请查看英文版本以获取最新信息: 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/  |