From 0468cb7604ce08e6e924ac4d725b589d2cb2f2b5 Mon Sep 17 00:00:00 2001 From: windsonsea Date: Wed, 29 Mar 2023 10:24:52 +0800 Subject: [PATCH] [zh] sync kubelet-credentialprovider.v1.md --- .../kubelet-credentialprovider.v1.md | 270 ++++++++++++++++++ 1 file changed, 270 insertions(+) create mode 100644 content/zh-cn/docs/reference/config-api/kubelet-credentialprovider.v1.md diff --git a/content/zh-cn/docs/reference/config-api/kubelet-credentialprovider.v1.md b/content/zh-cn/docs/reference/config-api/kubelet-credentialprovider.v1.md new file mode 100644 index 00000000000..ce5fef2107c --- /dev/null +++ b/content/zh-cn/docs/reference/config-api/kubelet-credentialprovider.v1.md @@ -0,0 +1,270 @@ +--- +title: Kubelet CredentialProvider (v1) +content_type: tool-reference +package: credentialprovider.kubelet.k8s.io/v1 +--- + + + +## 资源类型 {#resource-types} + +- [CredentialProviderRequest](#credentialprovider-kubelet-k8s-io-v1-CredentialProviderRequest) +- [CredentialProviderResponse](#credentialprovider-kubelet-k8s-io-v1-CredentialProviderResponse) + +## `CredentialProviderRequest` {#credentialprovider-kubelet-k8s-io-v1-CredentialProviderRequest} + + +

+CredentialProviderRequest 包含 kubelet 需要通过身份验证才能访问的镜像。 +kubelet 将此请求对象通过 stdin 传递到插件。 +通常,插件应优先使用所收到的 apiVersion 作出响应。 +

+ + + + + + + + + + + + + +
字段描述
apiVersion
string
credentialprovider.kubelet.k8s.io/v1
kind
string
CredentialProviderRequest
image [必需]
+string +
+ +

+image 是作为凭据提供程序插件请求的一部分所拉取的容器镜像。 +这些插件可以选择解析镜像以提取获取凭据所需的任何信息。 +

+ +
+ +## `CredentialProviderResponse` {#credentialprovider-kubelet-k8s-io-v1-CredentialProviderResponse} + + +

+CredentialProviderResponse 中包含 kubelet 应针对原始请求中所给镜像来使用的凭据。 +kubelet 将通过 stdout 读取来自插件的响应。 +此响应应被设置为与 CredentialProviderRequest 相同的 apiVersion。 +

+ + + + + + + + + + + + + + + + + + + +
字段描述
apiVersion
string
credentialprovider.kubelet.k8s.io/v1
kind
string
CredentialProviderResponse
cacheKeyType [必需]
+PluginCacheKeyType +
+ +

+cacheKeyType 标示了基于请求中提供的镜像要使用的缓存键的类型。 +缓存键类型有三个有效值:Image、Registry 和 Global。 +如果所指定的值无效,则此响应不会被 kubelet 使用。 +

+
cacheDuration
+meta/v1.Duration +
+ +

+cacheDuration 标示所提供的凭据可被缓存的持续期。 +kubelet 将使用此字段为 AuthConfig 中的凭据设置内存中缓存持续期。 +如果为空,kubelet 将使用 CredentialProviderConfig 中提供的 defaultCacheDuration。 +如果设置为 0,kubelet 将不再缓存提供的 AuthConfig。 +

+
auth
+map[string]k8s.io/kubelet/pkg/apis/credentialprovider/v1.AuthConfig +
+ +

+auth 是一个映射,包含传递给 kubelet 的身份验证信息。 +映射中每个键都是一个匹配镜像字符串(更多内容见下文)。 +相应的 authConfig 值应该对匹配此键的所有镜像有效。 +如果无法为请求的镜像返回有效凭据,则插件应将此字段设置为空。 +

+ +

+映射中的每个主键都可以包含端口和路径。 +域名中可以使用 Glob 通配,但不能在端口或路径中使用 Glob。 +Glob 支持类似 “\*.k8s.io” 或 “k8s.\*.io” 这类子域以及 “k8s.\*” 这类顶级域。 +也支持匹配的部分子域,例如 “app\*.k8s.io”。 +每个 Glob 只能匹配一个子域段,因此 *.io 与 *.k8s.io 不匹配。 +

+ +

+当满足以下所有条件时,kubelet 将根据主键来匹配镜像: +

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

+当返回多个主键时,kubelet 将以相反的顺序遍历所有主键,以便: +

+
    + +
  • 较长键出现在具有相同前缀的较短键前面。
  • + +
  • 非通配符键出现在具有相同前缀的通配符键之前。
  • +
+ +

对于任一给定的匹配项,kubelet 将尝试用提供的凭据拉取镜像,并在第一次成功通过身份验证的拉取之后停止。

+ +

示例键:

+
    +
  • 123456789.dkr.ecr.us-east-1.amazonaws.com
  • +
  • *.azurecr.io
  • +
  • gcr.io
  • +
  • *.registry.io
  • +
  • registry.io:8080/path
  • +
+
+ +## `AuthConfig` {#credentialprovider-kubelet-k8s-io-v1-AuthConfig} + + +**出现在:** + +- [CredentialProviderResponse](#credentialprovider-kubelet-k8s-io-v1-CredentialProviderResponse) + + +

+AuthConfig 包含针对容器镜像仓库的身份验证信息。 +目前仅支持基于用户名/密码的身份验证,但未来可能添加更多的身份验证机制。 +

+ + + + + + + + + + + + +
字段描述
username [必需]
+string +
+ +

+username 是对容器镜像仓库身份验证所用的用户名。 +空白用户名是有效的。 +

+
password [必需]
+string +
+ +

+password 是对容器镜像仓库身份验证所用的密码。 +空白密码是有效的。 +

+
+ +## `PluginCacheKeyType` {#credentialprovider-kubelet-k8s-io-v1-PluginCacheKeyType} + + +(`string` 的别名) + + +**出现在:** + +- [CredentialProviderResponse](#credentialprovider-kubelet-k8s-io-v1-CredentialProviderResponse) + \ No newline at end of file