2021-12-14 02:28:03 +00:00
|
|
|
---
|
|
|
|
title: Kubelet Configuration (v1alpha1)
|
|
|
|
content_type: tool-reference
|
|
|
|
package: kubelet.config.k8s.io/v1alpha1
|
|
|
|
auto_generated: true
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## Resource Types
|
|
|
|
|
|
|
|
|
|
|
|
- [CredentialProviderConfig](#kubelet-config-k8s-io-v1alpha1-CredentialProviderConfig)
|
|
|
|
|
|
|
|
|
|
|
|
## `CredentialProviderConfig` {#kubelet-config-k8s-io-v1alpha1-CredentialProviderConfig}
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-18 06:16:54 +00:00
|
|
|
<p>CredentialProviderConfig is the configuration containing information about
|
2021-12-14 02:28:03 +00:00
|
|
|
each exec credential provider. Kubelet reads this configuration from disk and enables
|
2022-02-18 06:16:54 +00:00
|
|
|
each provider as specified by the CredentialProvider type.</p>
|
|
|
|
|
2021-12-14 02:28:03 +00:00
|
|
|
|
|
|
|
<table class="table">
|
|
|
|
<thead><tr><th width="30%">Field</th><th>Description</th></tr></thead>
|
|
|
|
<tbody>
|
|
|
|
|
|
|
|
<tr><td><code>apiVersion</code><br/>string</td><td><code>kubelet.config.k8s.io/v1alpha1</code></td></tr>
|
|
|
|
<tr><td><code>kind</code><br/>string</td><td><code>CredentialProviderConfig</code></td></tr>
|
|
|
|
|
|
|
|
|
|
|
|
<tr><td><code>providers</code> <B>[Required]</B><br/>
|
|
|
|
<a href="#kubelet-config-k8s-io-v1alpha1-CredentialProvider"><code>[]CredentialProvider</code></a>
|
|
|
|
</td>
|
|
|
|
<td>
|
2022-02-18 06:16:54 +00:00
|
|
|
<p>providers is a list of credential provider plugins that will be enabled by the kubelet.
|
2021-12-14 02:28:03 +00:00
|
|
|
Multiple providers may match against a single image, in which case credentials
|
|
|
|
from all providers will be returned to the kubelet. If multiple providers are called
|
|
|
|
for a single image, the results are combined. If providers return overlapping
|
2022-02-18 06:16:54 +00:00
|
|
|
auth keys, the value from the provider earlier in this list is used.</p>
|
|
|
|
</td>
|
2021-12-14 02:28:03 +00:00
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
## `CredentialProvider` {#kubelet-config-k8s-io-v1alpha1-CredentialProvider}
|
|
|
|
|
|
|
|
|
|
|
|
**Appears in:**
|
|
|
|
|
|
|
|
- [CredentialProviderConfig](#kubelet-config-k8s-io-v1alpha1-CredentialProviderConfig)
|
|
|
|
|
|
|
|
|
2022-02-18 06:16:54 +00:00
|
|
|
<p>CredentialProvider represents an exec plugin to be invoked by the kubelet. The plugin is only
|
|
|
|
invoked when an image being pulled matches the images handled by the plugin (see matchImages).</p>
|
|
|
|
|
2021-12-14 02:28:03 +00:00
|
|
|
|
|
|
|
<table class="table">
|
|
|
|
<thead><tr><th width="30%">Field</th><th>Description</th></tr></thead>
|
|
|
|
<tbody>
|
|
|
|
|
|
|
|
|
|
|
|
<tr><td><code>name</code> <B>[Required]</B><br/>
|
|
|
|
<code>string</code>
|
|
|
|
</td>
|
|
|
|
<td>
|
2022-02-18 06:16:54 +00:00
|
|
|
<p>name is the required name of the credential provider. It must match the name of the
|
2021-12-14 02:28:03 +00:00
|
|
|
provider executable as seen by the kubelet. The executable must be in the kubelet's
|
2022-02-18 06:16:54 +00:00
|
|
|
bin directory (set by the --image-credential-provider-bin-dir flag).</p>
|
|
|
|
</td>
|
2021-12-14 02:28:03 +00:00
|
|
|
</tr>
|
|
|
|
<tr><td><code>matchImages</code> <B>[Required]</B><br/>
|
|
|
|
<code>[]string</code>
|
|
|
|
</td>
|
|
|
|
<td>
|
2022-02-18 06:16:54 +00:00
|
|
|
<p>matchImages is a required list of strings used to match against images in order to
|
2021-12-14 02:28:03 +00:00
|
|
|
determine if this provider should be invoked. If one of the strings matches the
|
|
|
|
requested image from the kubelet, the plugin will be invoked and given a chance
|
|
|
|
to provide credentials. Images are expected to contain the registry domain
|
2022-02-18 06:16:54 +00:00
|
|
|
and URL path.</p>
|
|
|
|
<p>Each entry in matchImages is a pattern which can optionally contain a port and a path.
|
2021-12-14 02:28:03 +00:00
|
|
|
Globs can be used in the domain, but not in the port or the path. Globs are supported
|
2022-05-04 14:32:02 +00:00
|
|
|
as subdomains like <code>*.k8s.io</code> or <code>k8s.*.io</code>, and top-level-domains such as <code>k8s.*</code>.
|
|
|
|
Matching partial subdomains like <code>app*.k8s.io</code> is also supported. Each glob can only match
|
|
|
|
a single subdomain segment, so <code>*.io</code> does not match <code>*.k8s.io</code>.</p>
|
2022-02-18 06:16:54 +00:00
|
|
|
<p>A match exists between an image and a matchImage when all of the below are true:</p>
|
|
|
|
<ul>
|
|
|
|
<li>Both contain the same number of domain parts and each part matches.</li>
|
|
|
|
<li>The URL path of an imageMatch must be a prefix of the target image URL path.</li>
|
|
|
|
<li>If the imageMatch contains a port, then the port must match in the image as well.</li>
|
|
|
|
</ul>
|
|
|
|
<p>Example values of matchImages:</p>
|
|
|
|
<ul>
|
2022-05-04 14:32:02 +00:00
|
|
|
<li><code>123456789.dkr.ecr.us-east-1.amazonaws.com</code></li>
|
|
|
|
<li><code>*.azurecr.io</code></li>
|
|
|
|
<li><code>gcr.io</code></li>
|
|
|
|
<li><code>*.*.registry.io</code></li>
|
|
|
|
<li><code>registry.io:8080/path</code></li>
|
2022-02-18 06:16:54 +00:00
|
|
|
</ul>
|
|
|
|
</td>
|
2021-12-14 02:28:03 +00:00
|
|
|
</tr>
|
|
|
|
<tr><td><code>defaultCacheDuration</code> <B>[Required]</B><br/>
|
2022-02-18 06:16:54 +00:00
|
|
|
<a href="https://pkg.go.dev/k8s.io/apimachinery/pkg/apis/meta/v1#Duration"><code>meta/v1.Duration</code></a>
|
2021-12-14 02:28:03 +00:00
|
|
|
</td>
|
|
|
|
<td>
|
2022-02-18 06:16:54 +00:00
|
|
|
<p>defaultCacheDuration is the default duration the plugin will cache credentials in-memory
|
|
|
|
if a cache duration is not provided in the plugin response. This field is required.</p>
|
|
|
|
</td>
|
2021-12-14 02:28:03 +00:00
|
|
|
</tr>
|
|
|
|
<tr><td><code>apiVersion</code> <B>[Required]</B><br/>
|
|
|
|
<code>string</code>
|
|
|
|
</td>
|
|
|
|
<td>
|
2022-02-18 06:16:54 +00:00
|
|
|
<p>Required input version of the exec CredentialProviderRequest. The returned CredentialProviderResponse
|
|
|
|
MUST use the same encoding version as the input. Current supported values are:</p>
|
|
|
|
<ul>
|
|
|
|
<li>credentialprovider.kubelet.k8s.io/v1alpha1</li>
|
|
|
|
</ul>
|
|
|
|
</td>
|
2021-12-14 02:28:03 +00:00
|
|
|
</tr>
|
|
|
|
<tr><td><code>args</code><br/>
|
|
|
|
<code>[]string</code>
|
|
|
|
</td>
|
|
|
|
<td>
|
2022-02-18 06:16:54 +00:00
|
|
|
<p>Arguments to pass to the command when executing it.</p>
|
|
|
|
</td>
|
2021-12-14 02:28:03 +00:00
|
|
|
</tr>
|
|
|
|
<tr><td><code>env</code><br/>
|
|
|
|
<a href="#kubelet-config-k8s-io-v1alpha1-ExecEnvVar"><code>[]ExecEnvVar</code></a>
|
|
|
|
</td>
|
|
|
|
<td>
|
2022-02-18 06:16:54 +00:00
|
|
|
<p>Env defines additional environment variables to expose to the process. These
|
2021-12-14 02:28:03 +00:00
|
|
|
are unioned with the host's environment, as well as variables client-go uses
|
2022-02-18 06:16:54 +00:00
|
|
|
to pass argument to the plugin.</p>
|
|
|
|
</td>
|
2021-12-14 02:28:03 +00:00
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
## `ExecEnvVar` {#kubelet-config-k8s-io-v1alpha1-ExecEnvVar}
|
|
|
|
|
|
|
|
|
|
|
|
**Appears in:**
|
|
|
|
|
|
|
|
- [CredentialProvider](#kubelet-config-k8s-io-v1alpha1-CredentialProvider)
|
|
|
|
|
|
|
|
|
2022-02-18 06:16:54 +00:00
|
|
|
<p>ExecEnvVar is used for setting environment variables when executing an exec-based
|
|
|
|
credential plugin.</p>
|
|
|
|
|
2021-12-14 02:28:03 +00:00
|
|
|
|
|
|
|
<table class="table">
|
|
|
|
<thead><tr><th width="30%">Field</th><th>Description</th></tr></thead>
|
|
|
|
<tbody>
|
|
|
|
|
|
|
|
|
|
|
|
<tr><td><code>name</code> <B>[Required]</B><br/>
|
|
|
|
<code>string</code>
|
|
|
|
</td>
|
|
|
|
<td>
|
2022-02-18 06:16:54 +00:00
|
|
|
<span class="text-muted">No description provided.</span></td>
|
2021-12-14 02:28:03 +00:00
|
|
|
</tr>
|
|
|
|
<tr><td><code>value</code> <B>[Required]</B><br/>
|
|
|
|
<code>string</code>
|
|
|
|
</td>
|
|
|
|
<td>
|
2022-02-18 06:16:54 +00:00
|
|
|
<span class="text-muted">No description provided.</span></td>
|
2021-12-14 02:28:03 +00:00
|
|
|
</tr>
|
2022-02-18 06:16:54 +00:00
|
|
|
</tbody>
|
|
|
|
</table>
|
2023-04-12 00:05:58 +00:00
|
|
|
|