Kubelet 凭证提供程序 (v1)
资源类型
CredentialProviderRequest
CredentialProviderRequest 包含 kubelet 需要进行身份验证的镜像。Kubelet 将通过 stdin 将此请求对象传递给插件。通常,插件应优先使用与它们收到的相同的 apiVersion 进行响应。
| 字段 | 描述 |
|---|---|
apiVersionstring | credentialprovider.kubelet.k8s.io/v1 |
kindstring | CredentialProviderRequest |
image [必需]string | image 是凭据提供程序插件请求中正在拉取的容器镜像。插件可以选择性地解析该镜像以提取获取凭据所需的任何信息。 |
serviceAccountToken [必需]string | serviceAccountToken 是绑定到正在拉取镜像的 Pod 的服务账号令牌。仅当在 kubelet 的凭据提供程序配置中配置了 tokenAttributes.serviceAccountTokenAudience 字段时,此令牌才会发送给插件。 |
serviceAccountAnnotations [必需]map[string]string | serviceAccountAnnotations 是绑定到正在拉取镜像的 Pod 的服务账号上的注解的映射。需要传递给插件的服务账号中的注解列表在 kubelet 的凭据提供程序配置中进行配置。 |
CredentialProviderResponse
CredentialProviderResponse 包含 kubelet 应为原始请求中提供的指定镜像使用的凭据。Kubelet 将通过 stdout 从插件读取响应。此响应应设置为与 CredentialProviderRequest 相同的 apiVersion。
| 字段 | 描述 |
|---|---|
apiVersionstring | credentialprovider.kubelet.k8s.io/v1 |
kindstring | CredentialProviderResponse |
cacheKeyType [必需]PluginCacheKeyType | cacheKeyType 指示根据请求中提供的镜像要使用的缓存键类型。缓存键类型有三个有效值:Image、Registry 和 Global。如果指定了无效值,kubelet 将不会使用该响应。 |
cacheDurationmeta/v1.Duration | cacheDuration 指示所提供凭据应缓存的时长。kubelet 将使用此字段设置 AuthConfig 中凭据的内存缓存时长。如果为 null,kubelet 将使用 CredentialProviderConfig 中提供的 defaultCacheDuration。如果设置为 0,kubelet 将不会缓存所提供的 AuthConfig。 |
authmap[string]AuthConfig | auth 是一个包含传递给 kubelet 的身份验证信息的映射。每个键都是一个匹配的镜像字符串(下文将详细介绍)。相应的 authConfig 值应对所有与此键匹配的镜像有效。如果无法为请求的镜像返回有效凭据,插件应将此字段设置为 null。 映射中的每个键都是一个模式,可以可选地包含端口和路径。可以在域名中使用通配符(glob),但不能在端口或路径中使用。支持将通配符用作子域名,如 “*.k8s.io” 或 “k8s.*.io”,以及顶级域名,如 “k8s.*”。还支持匹配部分子域名,如 “app*.k8s.io”。每个通配符只能匹配一个子域名段,所以 *.io 不匹配 *.k8s.io。 当以下所有条件都为真时,kubelet 会将镜像与键进行匹配:
当返回多个键时,kubelet 将按逆序遍历所有键,以便
对于任何给定的匹配,kubelet 将尝试使用提供的凭据进行镜像拉取,在第一次成功通过身份验证的拉取后停止。 键示例
|
AuthConfig
出现在
AuthConfig 包含容器仓库的身份验证信息。目前仅支持基于用户名/密码的身份验证,但将来可能会添加更多身份验证机制。
| 字段 | 描述 |
|---|---|
username [必需]string | username 是用于向容器仓库进行身份验证的用户名。空用户名是有效的。 |
password [必需]string | password 是用于向容器仓库进行身份验证的密码。空密码是有效的。 |
PluginCacheKeyType
(string 的别名)
出现在
本页面是自动生成的。
如果你打算报告此页面存在的问题,请在问题描述中提及此页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。