Merge pull request #38533 from windsonsea/crepro

[zh] sync kubelet-credential-provider.md
pull/38534/head
Kubernetes Prow Robot 2022-12-17 19:17:42 -08:00 committed by GitHub
commit 08f6b85f8a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 22 additions and 15 deletions

View File

@ -2,6 +2,7 @@
title: 配置 kubelet 镜像凭据提供程序 title: 配置 kubelet 镜像凭据提供程序
description: 配置 kubelet 的镜像凭据提供程序插件 description: 配置 kubelet 的镜像凭据提供程序插件
content_type: task content_type: task
min-kubernetes-server-version: v1.26
--- ---
<!-- <!--
@ -11,9 +12,10 @@ reviewers:
- cheftako - cheftako
description: Configure the kubelet's image credential provider plugin description: Configure the kubelet's image credential provider plugin
content_type: task content_type: task
min-kubernetes-server-version: v1.26
--> -->
{{< feature-state for_k8s_version="v1.24" state="beta" >}} {{< feature-state for_k8s_version="v1.26" state="stable" >}}
<!-- overview --> <!-- overview -->
@ -45,18 +47,23 @@ This guide demonstrates how to configure the kubelet's image credential provider
* 凭据的到期时间很短,需要频繁请求新凭据。 * 凭据的到期时间很短,需要频繁请求新凭据。
* 将镜像库凭据存储在磁盘或者 imagePullSecret 是不可接受的。 * 将镜像库凭据存储在磁盘或者 imagePullSecret 是不可接受的。
本指南演示如何配置 kubelet 的镜像凭证提供程序插件机制。
## {{% heading "prerequisites" %}} ## {{% heading "prerequisites" %}}
<!-- <!--
* The kubelet image credential provider is introduced in v1.20 as an alpha feature. As with other alpha features, * You need a Kubernetes cluster with nodes that support kubelet credential
a feature gate `KubeletCredentialProviders` must be enabled on only the kubelet for the feature to work. provider plugins. This support is available in Kubernetes {{< skew currentVersion >}};
Kubernetes v1.24 and v1.25 included this as a beta feature, enabled by default.
* A working implementation of a credential provider exec plugin. You can build your own plugin or use one provided by cloud providers. * A working implementation of a credential provider exec plugin. You can build your own plugin or use one provided by cloud providers.
--> -->
* kubelet 镜像凭证提供程序在 v1.20 版本作为 Alpha 特性引入 * 你需要一个 Kubernetes 集群,其节点支持 kubelet 凭证提供程序插件
与其他 Alpha 功能一样,当前仅当在 kubelet 启用 `KubeletCredentialProviders` 这种支持在 Kubernetes {{< skew currentVersion >}} 中可用;
特性门控时,该功能才能正常工作 Kubernetes v1.24 和 v1.25 将此作为 Beta 特性包含在内,默认启用
* 凭据提供程序 exec 插件的一种可用的实现。你可以构建自己的插件或使用云提供商提供的插件。 * 凭据提供程序 exec 插件的一种可用的实现。你可以构建自己的插件或使用云提供商提供的插件。
{{< version-check >}}
<!-- steps --> <!-- steps -->
<!-- <!--
@ -101,9 +108,9 @@ kubelet 会读取通过 `--image-credential-provider-config` 设定的配置文
这里有个样例配置文件你可能最终会使用到: 这里有个样例配置文件你可能最终会使用到:
```yaml ```yaml
apiVersion: kubelet.config.k8s.io/v1alpha1 apiVersion: kubelet.config.k8s.io/v1
kind: CredentialProviderConfig kind: CredentialProviderConfig
# providers 是将由 kubelet 启用的凭证提供程序插件列表。 # providers 是将由 kubelet 启用的凭证提供程序帮助插件列表。
# 多个提供程序可能与单个镜像匹配,在这种情况下,来自所有提供程序的凭据将返回到 kubelet。 # 多个提供程序可能与单个镜像匹配,在这种情况下,来自所有提供程序的凭据将返回到 kubelet。
# 如果为单个镜像调用了多个提供程序,则返回结果会被合并。 # 如果为单个镜像调用了多个提供程序,则返回结果会被合并。
# 如果提供程序返回重叠的身份验证密钥,则使用提供程序列表中较早的值。 # 如果提供程序返回重叠的身份验证密钥,则使用提供程序列表中较早的值。
@ -121,7 +128,7 @@ providers:
# 可以在域中使用通配符,但不能在端口或路径中使用。 # 可以在域中使用通配符,但不能在端口或路径中使用。
# 支持通配符作为子域(例如 "*.k8s.io" 或 "k8s.*.io")和顶级域(例如 "k8s.*")。 # 支持通配符作为子域(例如 "*.k8s.io" 或 "k8s.*.io")和顶级域(例如 "k8s.*")。
# 还支持匹配部分子域,如 "app*.k8s.io"。 # 还支持匹配部分子域,如 "app*.k8s.io"。
# 每个通配符只能匹配一个子域段,因此 "*.io" 不匹配 "*.k8s.io"。 # 每个通配符只能匹配一个子域段,因此 "*.io" **** 匹配 "*.k8s.io"。
# #
# 当以下所有条件都为真时,镜像和 matchImage 之间存在匹配: # 当以下所有条件都为真时,镜像和 matchImage 之间存在匹配:
# #
@ -147,8 +154,8 @@ providers:
defaultCacheDuration: "12h" defaultCacheDuration: "12h"
# exec CredentialProviderRequest 的必需输入版本。 # exec CredentialProviderRequest 的必需输入版本。
# 返回的 CredentialProviderResponse 必须使用与输入相同的编码版本。当前支持的值为: # 返回的 CredentialProviderResponse 必须使用与输入相同的编码版本。当前支持的值为:
# - credentialprovider.kubelet.k8s.io/v1alpha1 # - credentialprovider.kubelet.k8s.io/v1
apiVersion: credentialprovider.kubelet.k8s.io/v1alpha1 apiVersion: credentialprovider.kubelet.k8s.io/v1
# 执行命令时传递给命令的参数。 # 执行命令时传递给命令的参数。
# 可选 # 可选
args: args:
@ -233,10 +240,10 @@ Some example values of `matchImages` patterns are:
<!-- <!--
* Read the details about `CredentialProviderConfig` in the * Read the details about `CredentialProviderConfig` in the
[kubelet configuration API (v1alpha1) reference](/docs/reference/config-api/kubelet-config.v1alpha1/). [kubelet configuration API (v1) reference](/docs/reference/config-api/kubelet-config.v1/).
* Read the [kubelet credential provider API reference (v1alpha1)](/docs/reference/config-api/kubelet-credentialprovider.v1alpha1/). * Read the [kubelet credential provider API reference (v1)](/docs/reference/config-api/kubelet-credentialprovider.v1/).
--> -->
* 阅读 [kubelet 配置 API (v1alpha1) 参考](/zh-cn/docs/reference/config-api/kubelet-config.v1alpha1/)中有关 * 阅读 [kubelet 配置 API (v1) 参考](/docs/reference/config-api/kubelet-config.v1/)中有关
`CredentialProviderConfig` 的详细信息。 `CredentialProviderConfig` 的详细信息。
* 阅读 [kubelet 凭据提供程序 API 参考 (v1alpha1)](/zh-cn/docs/reference/config-api/kubelet-credentialprovider.v1alpha1/)。 * 阅读 [kubelet 凭据提供程序 API 参考 (v1)](/docs/reference/config-api/kubelet-credentialprovider.v1/)。