Kubelet 配置 (v1)

资源类型

CredentialProviderConfig

CredentialProviderConfig 是包含每个 exec 凭证提供商信息的配置。Kubelet 从磁盘读取此配置,并按照 CredentialProvider 类型指定启用每个提供商。

字段描述
apiVersion
string
kubelet.config.k8s.io/v1
kind
string
CredentialProviderConfig
providers [必需]
[]CredentialProvider

providers 是 Kubelet 将启用的凭证提供商插件列表。多个提供商可能与单个镜像匹配,在这种情况下,所有提供商的凭证都将返回给 Kubelet。如果针对单个镜像调用多个提供商,结果将被组合。如果提供商返回重叠的身份验证密钥,则使用此列表中较早的提供商的值。

CredentialProvider

出现在

CredentialProvider 表示一个 exec 插件,将由 Kubelet 调用。该插件仅在拉取的镜像与插件处理的镜像匹配时被调用(参见 matchImages)。

字段描述
name [必需]
string

name 是凭证提供商的必需名称。它必须与 Kubelet 所见的提供商可执行文件的名称匹配。可执行文件必须位于 Kubelet 的 bin 目录中(由 --image-credential-provider-bin-dir 标志设置)。

matchImages [必需]
[]string

matchImages 是用于匹配镜像以确定是否应调用此提供商的必需字符串列表。如果其中一个字符串与 Kubelet 请求的镜像匹配,则将调用该插件并有机会提供凭证。镜像应包含注册表域和 URL 路径。

matchImages 中的每个条目都是一个模式,可选择包含端口和路径。可以在域中使用 glob,但不能在端口或路径中使用。支持将 glob 用作子域,如 '*.k8s.io' 或 'k8s.*.io',以及顶级域,如 'k8s.*'。也支持匹配部分子域,如 'app*.k8s.io'。每个 glob 只能匹配单个子域段,因此 *.io 不匹配 *.k8s.io。

当以下所有条件都为真时,镜像与 matchImage 之间存在匹配:

  • 两者包含相同数量的域部分且每个部分都匹配。
  • imageMatch 的 URL 路径必须是目标镜像 URL 路径的前缀。
  • 如果 imageMatch 包含端口,则镜像中的端口也必须匹配。

matchImages 的示例值

  • 123456789.dkr.ecr.us-east-1.amazonaws.com
  • *.azurecr.io
  • gcr.io
  • *.*.registry.io
  • registry.io:8080/path
defaultCacheDuration [必需]
meta/v1.Duration

defaultCacheDuration 是插件在内存中缓存凭证的默认持续时间,如果插件响应中未提供缓存持续时间。此字段为必需字段。

apiVersion [必需]
string

exec CredentialProviderRequest 的必需输入版本。返回的 CredentialProviderResponse 必须使用与输入相同的编码版本。当前支持的值为:

  • credentialprovider.kubelet.k8s.io/v1
args
[]string

执行命令时传递的参数。

env
[]ExecEnvVar

Env 定义了要向进程公开的其他环境变量。这些变量与主机的环境以及 client-go 用于向插件传递参数的变量合并。

ExecEnvVar

出现在

ExecEnvVar 用于在执行基于 exec 的凭证插件时设置环境变量。

字段描述
name [必需]
string
未提供描述。
value [必需]
string
未提供描述。

本页面是自动生成的。

如果你打算报告此页面的问题,请在问题描述中提及该页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。

最后修改于 2024 年 8 月 19 日下午 4:39 PST:更新 v1.31 的配置 API (f69f28fb6b)