Kubelet 配置 (v1alpha1)

资源类型

CredentialProviderConfig

CredentialProviderConfig 是包含每个 exec 凭据提供程序信息的配置。Kubelet 从磁盘读取此配置,并如 CredentialProvider 类型所指定的那样启用每个提供程序。

字段描述
apiVersion
字符串
kubelet.config.k8s.io/v1alpha1
kind
字符串
CredentialProviderConfig
providers [必需]
[]CredentialProvider

providers 是 kubelet 将启用的凭据提供程序插件列表。多个提供程序可能匹配同一个镜像,在这种情况下,所有提供程序的凭据都将返回给 kubelet。如果为单个镜像调用了多个提供程序,则结果会合并。如果提供程序返回重叠的身份验证密钥,则会首先尝试此列表中较早的提供程序的值。

ImagePullIntent

ImagePullIntent 是 kubelet 尝试拉取镜像的记录。

字段描述
apiVersion
字符串
kubelet.config.k8s.io/v1alpha1
kind
字符串
ImagePullIntent
image [必填]
字符串

Image 是来自容器 image 字段的镜像规范。文件名是此值的 SHA-256 哈希。这是为了避免文件名中出现 ':' 和 '/' 等不安全字符。

ImagePulledRecord

ImagePullRecord 是 kubelet 所拉取镜像的记录。

如果 kubernetesSecrets 字段中没有记录,且 nodeWideCredentialsanonymous 均为 false,则在下次请求此记录所代表的镜像时,必须重新检查凭据。

字段描述
apiVersion
字符串
kubelet.config.k8s.io/v1alpha1
kind
字符串
ImagePulledRecord
lastUpdatedTime [必填]
meta/v1.Time

LastUpdatedTime 是此记录最后更新的时间

imageRef [必填]
字符串

ImageRef 是从 CRI 接收到的、此文件所代表的镜像引用。文件名是此值的 SHA-256 哈希。这是为了避免文件名中出现 ':' 和 '/' 等不安全字符。

credentialMapping [必填]
map[string]ImagePullCredentials

CredentialMapping 将 image 映射到之前用于拉取该镜像的一组凭据。此处的 image 指的是已移除标签/摘要的 Pod 容器 image 字段内容。

示例:容器请求 hello-world:latest@sha256:91fb4b041da273d5a3273b6d587d62d518300a6ad268b28628f74997b93171b2 镜像:"credentialMapping": { "hello-world": { "nodePodsAccessible": true } }

CredentialProvider

出现于

CredentialProvider 代表 kubelet 将调用的 exec 插件。仅当正在拉取的镜像与插件处理的镜像匹配(请参阅 matchImages)时,才会调用该插件。

字段描述
name [必需]
字符串

name 是凭据提供程序必需的名称。它必须与 Kubelet 所见的提供程序可执行文件的名称相匹配。可执行文件必须位于 Kubelet 的 bin 目录中(由 --image-credential-provider-bin-dir 标志设置)。要求在所有提供程序中是唯一的。

matchImages [必需]
[]string

matchImages 是用于匹配镜像以确定是否应调用此提供程序的字符串列表。如果其中一个字符串与 Kubelet 请求的镜像匹配,将调用插件并给予提供凭据的机会。镜像预计包含注册表域和 URL 路径。

matchImages 中的每个条目都是一个模式,可以选包含端口和路径。域名部分可以使用通配符(Glob),但端口或路径部分不支持。支持的通配符形式包括子域名(如 *.k8s.iok8s.*.io)以及顶级域名(如 k8s.*)。也支持匹配部分子域名,如 app*.k8s.io。每个通配符只能匹配单个子域名段,因此 *.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 [必需]
字符串

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

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

在执行时传递给命令的参数。

env
[]ExecEnvVar

Env 定义要暴露给进程的附加环境变量。这些环境变量与主机环境以及 client-go 用于将参数传递给插件的环境变量合并。

ExecEnvVar

出现于

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

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

ImagePullCredentials

出现于

ImagePullCredentials 描述了可用于拉取镜像的凭据。

字段描述
kubernetesSecrets
[]ImagePullSecret

KuberneteSecretCoordinates 是用于拉取镜像的所有 Kubernetes Secret 的坐标索引。

kubernetesServiceAccounts
[]ImagePullServiceAccount

KubernetesServiceAccounts 是用于拉取镜像的所有 Kubernetes ServiceAccount 的坐标索引。

nodePodsAccessible
bool

NodePodsAccessible 是一个标志,表示节点上的所有 Pod 均可访问这些拉取凭据,或者该拉取操作无需凭据。

如果为 true,则与 kubernetesSecrets 字段互斥。

ImagePullSecret

出现于

ImagePullSecret 是 Kubernetes Secret 对象坐标的表示,包含该对象所含拉取密钥凭据的哈希值。

字段描述
uid [必填]
字符串
未提供描述。
namespace [必填]
字符串
未提供描述。
name [必需]
字符串
未提供描述。
credentialHash [必填]
字符串

CredentialHash 是通过对由 UID/Namespace/Name 坐标指定的 Secret 中的镜像拉取凭据内容进行哈希处理后获得的 SHA-256 值。

ImagePullServiceAccount

出现于

ImagePullServiceAccount 是 Kubernetes ServiceAccount 对象坐标的表示,kubelet 已将该账户的 ServiceAccount 令牌发送到凭据提供程序插件以获取镜像拉取凭据。

字段描述
uid [必填]
字符串
未提供描述。
namespace [必填]
字符串
未提供描述。
name [必需]
字符串
未提供描述。

最后修改时间:2025 年 12 月 21 日,太平洋标准时间晚上 8:51:更新 v1.35 版本配置 API 参考 (efb02468c4)

本页面是自动生成的。

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