Skip to content

Commit

Permalink
Update doc references for KubeletCredentialProviders
Browse files Browse the repository at this point in the history
  • Loading branch information
ndixita committed Nov 29, 2022
1 parent 354061c commit cc4b72b
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 5 deletions.
15 changes: 15 additions & 0 deletions content/en/docs/concepts/containers/images.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,9 @@ Credentials can be provided in several ways:
- Configuring Nodes to Authenticate to a Private Registry
- all pods can read any configured private registries
- requires node configuration by cluster administrator
- Kubelet Credential Provider to dynamically fetch credentials for private registries
- kubelet can be configured to use credential provider exec plugin
for the respective private registry.
- Pre-pulled Images
- all pods can use any images cached on a node
- requires root access to all nodes to set up
Expand All @@ -180,6 +183,18 @@ For an example of configuring a private container image registry, see the
[Pull an Image from a Private Registry](/docs/tasks/configure-pod-container/pull-image-private-registry)
task. That example uses a private registry in Docker Hub.

### Kubelet Credential Provider

{{< note >}}
This approach is suitable when kubelet needs to fetch registry credentials dynamically.
Most commonly used for registries provided by cloud providers where auth tokens are short-lived.
{{< /note >}}

The Kubelet can be configured to invoke a plugin binary to dynamically fetch registry credentials for a container image.
This is the most robust and versatile way to fetch credentials for private registries, but also requires kubelet-level configuration to enable.

See the [Kubelet Credential Provider](/docs/tasks/kubelet-credential-provider/kubelet-credential-provider/) docs for more details.

### Interpretation of config.json {#config-json}

The interpretation of `config.json` varies between the original Docker
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,6 @@ For a reference to old feature gates that are removed, please refer to
| `JobPodFailurePolicy` | `true` | Beta | 1.26 | |
| `JobReadyPods` | `false` | Alpha | 1.23 | 1.23 |
| `JobReadyPods` | `true` | Beta | 1.24 | |
| `KubeletCredentialProviders` | `false` | Alpha | 1.20 | 1.23 |
| `KubeletCredentialProviders` | `true` | Beta | 1.24 | |
| `KubeletInUserNamespace` | `false` | Alpha | 1.22 | |
| `KubeletPodResources` | `false` | Alpha | 1.13 | 1.14 |
| `KubeletPodResources` | `true` | Beta | 1.15 | |
Expand Down Expand Up @@ -296,6 +294,9 @@ For a reference to old feature gates that are removed, please refer to
| `JobTrackingWithFinalizers` | `false` | Beta | 1.23 | 1.24 |
| `JobTrackingWithFinalizers` | `true` | Beta | 1.25 | 1.25 |
| `JobTrackingWithFinalizers` | `true` | GA | 1.26 | - |
| `KubeletCredentialProviders` | `false` | Alpha | 1.20 | 1.23 |
| `KubeletCredentialProviders` | `true` | Beta | 1.24 | 1.25 |
| `KubeletCredentialProviders` | `true` | GA | 1.26 | - |
| `LegacyServiceAccountTokenNoAutoGeneration` | `true` | Beta | 1.24 | 1.25 |
| `LegacyServiceAccountTokenNoAutoGeneration` | `true` | GA | 1.26 | - |
| `LocalStorageCapacityIsolation` | `false` | Alpha | 1.7 | 1.9 |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: Configure the kubelet's image credential provider plugin
content_type: task
---

{{< feature-state for_k8s_version="v1.24" state="beta" >}}
{{< feature-state for_k8s_version="v1.26" state="stable" >}}

<!-- overview -->

Expand All @@ -27,8 +27,7 @@ This guide demonstrates how to configure the kubelet's image credential provider

## {{% heading "prerequisites" %}}

* The kubelet image credential provider is introduced in v1.20 as an alpha feature. As with other alpha features,
a feature gate `KubeletCredentialProviders` must be enabled on only the kubelet for the feature to work.
* The kubelet image credential provider has been a beta feature since v1.24.0 and is enabled by default. With v1.26, the feature has reached General Availability (GA).
* A working implementation of a credential provider exec plugin. You can build your own plugin or use one provided by cloud providers.

<!-- steps -->
Expand Down

0 comments on commit cc4b72b

Please sign in to comment.