diff --git a/content/en/docs/reference/_index.md b/content/en/docs/reference/_index.md index bd8d4d56e4..5dc1cd81ea 100644 --- a/content/en/docs/reference/_index.md +++ b/content/en/docs/reference/_index.md @@ -74,15 +74,18 @@ configure kubernetes components or tools. Most of these APIs are not exposed by the API server in a RESTful way though they are essential for a user or an operator to use or manage a cluster. + * [kubeconfig (v1)](/docs/reference/config-api/kubeconfig.v1/) -* [kube-apiserver configuration (v1alpha1)](/docs/reference/config-api/apiserver-config.v1alpha1/) -* [kube-apiserver configuration (v1)](/docs/reference/config-api/apiserver-config.v1/) +* [kube-apiserver configuration (v1alpha1)](/docs/reference/config-api/apiserver-config.v1alpha1/) and + [kube-apiserver configuration (v1)](/docs/reference/config-api/apiserver-config.v1/) * [kube-apiserver encryption (v1)](/docs/reference/config-api/apiserver-encryption.v1/) * [kube-apiserver event rate limit (v1alpha1)](/docs/reference/config-api/apiserver-eventratelimit.v1alpha1/) * [kubelet configuration (v1alpha1)](/docs/reference/config-api/kubelet-config.v1alpha1/) and [kubelet configuration (v1beta1)](/docs/reference/config-api/kubelet-config.v1beta1/) -* [kubelet credential providers (v1alpha1)](/docs/reference/config-api/kubelet-credentialprovider.v1alpha1/) -* [kubelet credential providers (v1beta1)](/docs/reference/config-api/kubelet-credentialprovider.v1beta1/) + [kubelet configuration (v1)](/docs/reference/config-api/kubelet-config.v1/) +* [kubelet credential providers (v1alpha1)](/docs/reference/config-api/kubelet-credentialprovider.v1alpha1/), + [kubelet credential providers (v1beta1)](/docs/reference/config-api/kubelet-credentialprovider.v1beta1/) and + [kubelet credential providers (v1)](/docs/reference/config-api/kubelet-credentialprovider.v1/) * [kube-scheduler configuration (v1beta2)](/docs/reference/config-api/kube-scheduler-config.v1beta2/), [kube-scheduler configuration (v1beta3)](/docs/reference/config-api/kube-scheduler-config.v1beta3/) and [kube-scheduler configuration (v1)](/docs/reference/config-api/kube-scheduler-config.v1/) diff --git a/content/en/docs/reference/config-api/_index.md b/content/en/docs/reference/config-api/_index.md index 9c05466727..4941431f85 100644 --- a/content/en/docs/reference/config-api/_index.md +++ b/content/en/docs/reference/config-api/_index.md @@ -2,4 +2,3 @@ title: Configuration APIs weight: 130 --- - diff --git a/content/en/docs/reference/config-api/apiserver-audit.v1.md b/content/en/docs/reference/config-api/apiserver-audit.v1.md index 30cdd12dca..ffef0b7f2b 100644 --- a/content/en/docs/reference/config-api/apiserver-audit.v1.md +++ b/content/en/docs/reference/config-api/apiserver-audit.v1.md @@ -72,14 +72,14 @@ For non-resource requests, this is the lower-cased HTTP method.

user [Required]
-authentication/v1.UserInfo +authentication/v1.UserInfo

Authenticated user information.

impersonatedUser
-authentication/v1.UserInfo +authentication/v1.UserInfo

Impersonated user information.

@@ -117,7 +117,7 @@ Does not apply for List-type requests, or non-resource requests.

responseStatus
-meta/v1.Status +meta/v1.Status

The response status, populated even when the ResponseObject is not a Status type. @@ -145,14 +145,14 @@ at Response Level.

requestReceivedTimestamp
-meta/v1.MicroTime +meta/v1.MicroTime

Time the request reached the apiserver.

stageTimestamp
-meta/v1.MicroTime +meta/v1.MicroTime

Time the request reached current audit stage.

@@ -189,7 +189,7 @@ should be short. Annotations are included in the Metadata level.

metadata
-meta/v1.ListMeta +meta/v1.ListMeta No description provided. @@ -224,7 +224,7 @@ categories are logged.

metadata
-meta/v1.ObjectMeta +meta/v1.ObjectMeta

ObjectMeta is included for interoperability with API infrastructure.

@@ -279,7 +279,7 @@ in a rule will override the global default.

metadata
-meta/v1.ListMeta +meta/v1.ListMeta No description provided. diff --git a/content/en/docs/reference/config-api/client-authentication.v1.md b/content/en/docs/reference/config-api/client-authentication.v1.md index 0c7784a8b3..0a3fab1a5c 100644 --- a/content/en/docs/reference/config-api/client-authentication.v1.md +++ b/content/en/docs/reference/config-api/client-authentication.v1.md @@ -108,6 +108,15 @@ If empty, system roots should be used.

cluster.

+disable-compression
+bool + + +

DisableCompression allows client to opt-out of response compression for all requests to the server. This is useful +to speed up requests (specifically lists) when client-server network bandwidth is ample, by saving time on +compression (server-side) and decompression (client-side): https://github.com/kubernetes/kubernetes/issues/112296.

+ + config
k8s.io/apimachinery/pkg/runtime.RawExtension @@ -197,7 +206,7 @@ itself should at least be protected via file permissions.

expirationTimestamp
-meta/v1.Time +meta/v1.Time

ExpirationTimestamp indicates a time when the provided credentials expire.

diff --git a/content/en/docs/reference/config-api/client-authentication.v1beta1.md b/content/en/docs/reference/config-api/client-authentication.v1beta1.md index 15029d106e..09aa4dcc87 100644 --- a/content/en/docs/reference/config-api/client-authentication.v1beta1.md +++ b/content/en/docs/reference/config-api/client-authentication.v1beta1.md @@ -108,6 +108,15 @@ If empty, system roots should be used.

cluster.

+disable-compression
+bool + + +

DisableCompression allows client to opt-out of response compression for all requests to the server. This is useful +to speed up requests (specifically lists) when client-server network bandwidth is ample, by saving time on +compression (server-side) and decompression (client-side): https://github.com/kubernetes/kubernetes/issues/112296.

+ + config
k8s.io/apimachinery/pkg/runtime.RawExtension @@ -197,7 +206,7 @@ itself should at least be protected via file permissions.

expirationTimestamp
-meta/v1.Time +meta/v1.Time

ExpirationTimestamp indicates a time when the provided credentials expire.

diff --git a/content/en/docs/reference/config-api/imagepolicy.v1alpha1.md b/content/en/docs/reference/config-api/imagepolicy.v1alpha1.md index f420623559..0eaa8f14ad 100644 --- a/content/en/docs/reference/config-api/imagepolicy.v1alpha1.md +++ b/content/en/docs/reference/config-api/imagepolicy.v1alpha1.md @@ -29,7 +29,7 @@ auto_generated: true metadata
-meta/v1.ObjectMeta +meta/v1.ObjectMeta

Standard object's metadata. diff --git a/content/en/docs/reference/config-api/kube-proxy-config.v1alpha1.md b/content/en/docs/reference/config-api/kube-proxy-config.v1alpha1.md index 6d6c0b13e6..6dfcb913e9 100644 --- a/content/en/docs/reference/config-api/kube-proxy-config.v1alpha1.md +++ b/content/en/docs/reference/config-api/kube-proxy-config.v1alpha1.md @@ -136,14 +136,6 @@ the range [-1000, 1000]

in order to proxy service traffic. If unspecified (0-0) then ports will be randomly chosen.

-udpIdleTimeout [Required]
-meta/v1.Duration - - -

udpIdleTimeout is how long an idle UDP connection will be kept open (e.g. '250ms', '2s'). -Must be greater than 0. Only applicable for proxyMode=userspace.

- - conntrack [Required]
KubeProxyConntrackConfiguration @@ -325,6 +317,14 @@ the pure iptables proxy mode. Values must be within the range [0, 31].

masqueradeAll tells kube-proxy to SNAT everything if using the pure iptables proxy mode.

+localhostNodePorts [Required]
+bool + + +

LocalhostNodePorts tells kube-proxy to allow service NodePorts to be accessed via +localhost (iptables mode only)

+ + syncPeriod [Required]
meta/v1.Duration @@ -511,16 +511,12 @@ Windows

ProxyMode represents modes used by the Kubernetes proxy server.

-

Currently, three modes of proxy are available in Linux platform: 'userspace' (older, going to be EOL), 'iptables' -(newer, faster), 'ipvs'(newest, better in performance and scalability).

-

Two modes of proxy are available in Windows platform: 'userspace'(older, stable) and 'kernelspace' (newer, faster).

-

In Linux platform, if proxy mode is blank, use the best-available proxy (currently iptables, but may change in the -future). If the iptables proxy is selected, regardless of how, but the system's kernel or iptables versions are -insufficient, this always falls back to the userspace proxy. IPVS mode will be enabled when proxy mode is set to 'ipvs', -and the fall back path is firstly iptables and then userspace.

-

In Windows platform, if proxy mode is blank, use the best-available proxy (currently userspace, but may change in the -future). If winkernel proxy is selected, regardless of how, but the Windows kernel can't support this mode of proxy, -this always falls back to the userspace proxy.

+

Currently, two modes of proxy are available on Linux platforms: 'iptables' and 'ipvs'. +One mode of proxy is available on Windows platforms: 'kernelspace'.

+

If the proxy mode is unspecified, the best-available proxy mode will be used (currently this +is iptables on Linux and kernelspace on Windows). If the selected proxy mode cannot be +used (due to lack of kernel support, missing userspace components, etc) then kube-proxy +will exit with an error.

@@ -535,10 +531,12 @@ this always falls back to the userspace proxy.

- [KubeProxyConfiguration](#kubeproxy-config-k8s-io-v1alpha1-KubeProxyConfiguration) -- [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1beta3-KubeSchedulerConfiguration) +- [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1-KubeSchedulerConfiguration) - [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1beta2-KubeSchedulerConfiguration) +- [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1beta3-KubeSchedulerConfiguration) + - [GenericControllerManagerConfiguration](#controllermanager-config-k8s-io-v1alpha1-GenericControllerManagerConfiguration) @@ -595,10 +593,12 @@ client.

**Appears in:** -- [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1beta3-KubeSchedulerConfiguration) +- [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1-KubeSchedulerConfiguration) - [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1beta2-KubeSchedulerConfiguration) +- [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1beta3-KubeSchedulerConfiguration) + - [GenericControllerManagerConfiguration](#controllermanager-config-k8s-io-v1alpha1-GenericControllerManagerConfiguration) @@ -637,6 +637,8 @@ enableProfiling is true.

- [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1beta3-KubeSchedulerConfiguration) +- [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1-KubeSchedulerConfiguration) + - [GenericControllerManagerConfiguration](#controllermanager-config-k8s-io-v1alpha1-GenericControllerManagerConfiguration) diff --git a/content/en/docs/reference/config-api/kube-scheduler-config.v1.md b/content/en/docs/reference/config-api/kube-scheduler-config.v1.md index ed03a74a53..876122ef54 100644 --- a/content/en/docs/reference/config-api/kube-scheduler-config.v1.md +++ b/content/en/docs/reference/config-api/kube-scheduler-config.v1.md @@ -144,7 +144,7 @@ at least "minFeasibleNodesToFind" feasible nodes no matter what the va Example: if the cluster size is 500 nodes and the value of this flag is 30, then scheduler stops finding further feasible nodes once it finds 150 feasible ones. When the value is 0, default percentage (5%--50% based on the size of the cluster) of the -nodes will be scored.

+nodes will be scored. It is overridden by profile level PercentageofNodesToScore.

podInitialBackoffSeconds [Required]
@@ -202,7 +202,7 @@ with the extender. These extenders are shared by all scheduler profiles.

addedAffinity
-core/v1.NodeAffinity +core/v1.NodeAffinity

AddedAffinity is applied to all Pods additionally to the NodeAffinity @@ -301,7 +301,7 @@ The default strategy is LeastAllocated with an equal "cpu" and "m defaultConstraints
-[]core/v1.TopologySpreadConstraint +[]core/v1.TopologySpreadConstraint

DefaultConstraints defines topology spread constraints to be applied to @@ -635,6 +635,21 @@ If SchedulerName matches with the pod's "spec.schedulerName", then the is scheduled with this profile.

+percentageOfNodesToScore [Required]
+int32 + + +

PercentageOfNodesToScore is the percentage of all nodes that once found feasible +for running a pod, the scheduler stops its search for more feasible nodes in +the cluster. This helps improve scheduler's performance. Scheduler always tries to find +at least "minFeasibleNodesToFind" feasible nodes no matter what the value of this flag is. +Example: if the cluster size is 500 nodes and the value of this flag is 30, +then scheduler stops finding further feasible nodes once it finds 150 feasible ones. +When the value is 0, default percentage (5%--50% based on the size of the cluster) of the +nodes will be scored. It will override global PercentageOfNodesToScore. If it is empty, +global PercentageOfNodesToScore will be used.

+ + plugins [Required]
Plugins @@ -787,6 +802,13 @@ be invoked before default plugins, default plugins must be disabled and re-enabl +preEnqueue [Required]
+PluginSet + + +

PreEnqueue is a list of plugins that should be invoked before adding pods to the scheduling queue.

+ + queueSort [Required]
PluginSet @@ -1166,12 +1188,12 @@ enableProfiling is true.

**Appears in:** -- [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1beta2-KubeSchedulerConfiguration) - - [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1beta3-KubeSchedulerConfiguration) - [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1-KubeSchedulerConfiguration) +- [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1beta2-KubeSchedulerConfiguration) +

LeaderElectionConfiguration defines the configuration of leader election clients for components that can run with leader election enabled.

diff --git a/content/en/docs/reference/config-api/kube-scheduler-config.v1beta2.md b/content/en/docs/reference/config-api/kube-scheduler-config.v1beta2.md index 8a4c735b32..edf1071e18 100644 --- a/content/en/docs/reference/config-api/kube-scheduler-config.v1beta2.md +++ b/content/en/docs/reference/config-api/kube-scheduler-config.v1beta2.md @@ -218,7 +218,7 @@ with the extender. These extenders are shared by all scheduler profiles.

addedAffinity
-core/v1.NodeAffinity +core/v1.NodeAffinity

AddedAffinity is applied to all Pods additionally to the NodeAffinity @@ -317,7 +317,7 @@ The default strategy is LeastAllocated with an equal "cpu" and "m defaultConstraints
-[]core/v1.TopologySpreadConstraint +[]core/v1.TopologySpreadConstraint

DefaultConstraints defines topology spread constraints to be applied to @@ -803,6 +803,13 @@ be invoked before default plugins, default plugins must be disabled and re-enabl +preEnqueue [Required]
+PluginSet + + +

PreEnqueue is a list of plugins that should be invoked before adding pods to the scheduling queue.

+ + queueSort [Required]
PluginSet diff --git a/content/en/docs/reference/config-api/kube-scheduler-config.v1beta3.md b/content/en/docs/reference/config-api/kube-scheduler-config.v1beta3.md index c9c2d9651b..1f67ffce6c 100644 --- a/content/en/docs/reference/config-api/kube-scheduler-config.v1beta3.md +++ b/content/en/docs/reference/config-api/kube-scheduler-config.v1beta3.md @@ -202,7 +202,7 @@ with the extender. These extenders are shared by all scheduler profiles.

addedAffinity
-core/v1.NodeAffinity +core/v1.NodeAffinity

AddedAffinity is applied to all Pods additionally to the NodeAffinity @@ -301,7 +301,7 @@ The default strategy is LeastAllocated with an equal "cpu" and "m defaultConstraints
-[]core/v1.TopologySpreadConstraint +[]core/v1.TopologySpreadConstraint

DefaultConstraints defines topology spread constraints to be applied to @@ -787,6 +787,13 @@ be invoked before default plugins, default plugins must be disabled and re-enabl +preEnqueue [Required]
+PluginSet + + +

PreEnqueue is a list of plugins that should be invoked before adding pods to the scheduling queue.

+ + queueSort [Required]
PluginSet diff --git a/content/en/docs/reference/config-api/kubeadm-config.v1beta2.md b/content/en/docs/reference/config-api/kubeadm-config.v1beta2.md index 7bd46c2fad..dca15f101f 100644 --- a/content/en/docs/reference/config-api/kubeadm-config.v1beta2.md +++ b/content/en/docs/reference/config-api/kubeadm-config.v1beta2.md @@ -5,6 +5,7 @@ package: kubeadm.k8s.io/v1beta2 auto_generated: true ---

Overview

+

Package v1beta2 has been DEPRECATED by v1beta3.

Package v1beta2 defines the v1beta2 version of the kubeadm configuration file format. This version improves on the v1beta1 format by fixing some minor issues and adding a few new fields.

A list of changes since v1beta1:

@@ -15,7 +16,7 @@ This version improves on the v1beta1 format by fixing some minor issues and addi
  • The JSON "omitempty" tag of the "taints" field (inside NodeRegistrationOptions) is removed.
  • See the Kubernetes 1.15 changelog for further details.

    -

    Migration from old kubeadm config versions

    +

    Migration from old kubeadm config versions

    Please convert your v1beta1 configuration files to v1beta2 using the "kubeadm config migrate" command of kubeadm v1.15.x (conversion from older releases of kubeadm config files requires older release of kubeadm as well e.g.

    apiVersion: kubeadm.k8s.io/v1beta2
     kind: ClusterConfiguration
     networking:
    -    ...
    +  ...
     etcd:
    -    ...
    +  ...
     apiServer:
       extraArgs:
         ...
    @@ -109,7 +110,7 @@ components by adding customized setting or overriding kubeadm default settings.<
     
     
    apiVersion: kubeproxy.config.k8s.io/v1alpha1
     kind: KubeProxyConfiguration
    -  ...
    + ...
     

    The KubeProxyConfiguration type should be used to change the configuration passed to kube-proxy instances deployed in the cluster. If this object is not provided or provided only partially, kubeadm applies defaults.

    See https://kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/ or @@ -117,7 +118,7 @@ https://pkg.go.dev/k8s.io/kube-proxy/config/v1alpha1#KubeProxyConfiguration for kube proxy official documentation.

    apiVersion: kubelet.config.k8s.io/v1beta1
     kind: KubeletConfiguration
    -  ...
    + ...
     

    The KubeletConfiguration type should be used to change the configurations that will be passed to all kubelet instances deployed in the cluster. If this object is not provided or provided only partially, kubeadm applies defaults.

    See https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/ or @@ -228,18 +229,18 @@ configuration types to be used during a kubeadm init run.

    When executing kubeadm join with the --config option, the JoinConfiguration type should be provided.

    apiVersion: kubeadm.k8s.io/v1beta2
     kind: JoinConfiguration
    -  ...
    + ...
     

    The JoinConfiguration type should be used to configure runtime settings, that in case of kubeadm join are the discovery method used for accessing the cluster info and all the setting which are specific to the node where kubeadm is executed, including:

    @@ -637,7 +638,7 @@ for, so other administrators can know its purpose.

    expires [Required]
    -meta/v1.Time +meta/v1.Time

    expires specifies the timestamp when this token expires. Defaults to being set @@ -948,7 +949,7 @@ Kubeadm has no knowledge of where certificate files live and they must be suppli []string -

    endpoints of etcd members.

    +

    endpoints of etcd members. Required for external etcd.

    caFile [Required]
    @@ -1050,7 +1051,7 @@ from which to load cluster information.

    pathType [Required]
    -core/v1.HostPathType +core/v1.HostPathType

    pathType is the type of the HostPath.

    @@ -1274,7 +1275,7 @@ be annotated to the Node API object, for later re-use.

    taints [Required]
    -[]core/v1.Taint +[]core/v1.Taint

    taints specifies the taints the Node API object should be registered with. diff --git a/content/en/docs/reference/config-api/kubeadm-config.v1beta3.md b/content/en/docs/reference/config-api/kubeadm-config.v1beta3.md index c631b359fa..8abeb61fe3 100644 --- a/content/en/docs/reference/config-api/kubeadm-config.v1beta3.md +++ b/content/en/docs/reference/config-api/kubeadm-config.v1beta3.md @@ -137,23 +137,23 @@ configuration types to be used during a kubeadm init run.

    apiVersion: kubeadm.k8s.io/v1beta3
     kind: InitConfiguration
     bootstrapTokens:
    -- token: "9a08jv.c0izixklcxtmnze7"
    -  description: "kubeadm bootstrap token"
    -  ttl: "24h"
    -- token: "783bde.3f89s0fje9f38fhf"
    -  description: "another bootstrap token"
    -  usages:
    -  - authentication
    -  - signing
    -  groups:
    -  - system:bootstrappers:kubeadm:default-node-token
    +  - token: "9a08jv.c0izixklcxtmnze7"
    +    description: "kubeadm bootstrap token"
    +    ttl: "24h"
    +  - token: "783bde.3f89s0fje9f38fhf"
    +    description: "another bootstrap token"
    +    usages:
    +      - authentication
    +      - signing
    +    groups:
    +      - system:bootstrappers:kubeadm:default-node-token
     nodeRegistration:
       name: "ec2-10-100-0-1"
       criSocket: "/var/run/dockershim.sock"
       taints:
    -  - key: "kubeadmNode"
    -    value: "someValue"
    -    effect: "NoSchedule"
    +    - key: "kubeadmNode"
    +      value: "someValue"
    +      effect: "NoSchedule"
       kubeletExtraArgs:
         v: 4
       ignorePreflightErrors:
    @@ -177,9 +177,9 @@ configuration types to be used during a kubeadm init run.

    extraArgs: listen-client-urls: "http://10.100.0.1:2379" serverCertSANs: - - "ec2-10-100-0-1.compute-1.amazonaws.com" + - "ec2-10-100-0-1.compute-1.amazonaws.com" peerCertSANs: - - "10.100.0.1" + - "10.100.0.1" # external: # endpoints: # - "10.100.0.1:2379" @@ -197,33 +197,33 @@ configuration types to be used during a kubeadm init run.

    extraArgs: authorization-mode: "Node,RBAC" extraVolumes: - - name: "some-volume" - hostPath: "/etc/some-path" - mountPath: "/etc/some-pod-path" - readOnly: false - pathType: File + - name: "some-volume" + hostPath: "/etc/some-path" + mountPath: "/etc/some-pod-path" + readOnly: false + pathType: File certSANs: - - "10.100.1.1" - - "ec2-10-100-0-1.compute-1.amazonaws.com" + - "10.100.1.1" + - "ec2-10-100-0-1.compute-1.amazonaws.com" timeoutForControlPlane: 4m0s controllerManager: extraArgs: "node-cidr-mask-size": "20" extraVolumes: - - name: "some-volume" - hostPath: "/etc/some-path" - mountPath: "/etc/some-pod-path" - readOnly: false - pathType: File + - name: "some-volume" + hostPath: "/etc/some-path" + mountPath: "/etc/some-pod-path" + readOnly: false + pathType: File scheduler: extraArgs: address: "10.100.0.1" extraVolumes: - - name: "some-volume" - hostPath: "/etc/some-path" - mountPath: "/etc/some-pod-path" - readOnly: false - pathType: File + - name: "some-volume" + hostPath: "/etc/some-path" + mountPath: "/etc/some-pod-path" + readOnly: false + pathType: File certificatesDir: "/etc/kubernetes/pki" imageRepository: "registry.k8s.io" clusterName: "example-cluster" @@ -264,6 +264,109 @@ node only (e.g. the node ip).

    +## `BootstrapToken` {#BootstrapToken} + + +**Appears in:** + +- [InitConfiguration](#kubeadm-k8s-io-v1beta3-InitConfiguration) + + +

    BootstrapToken describes one bootstrap token, stored as a Secret in the cluster

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    token [Required]
    +BootstrapTokenString +
    +

    token is used for establishing bidirectional trust between nodes and control-planes. +Used for joining nodes in the cluster.

    +
    description
    +string +
    +

    description sets a human-friendly message why this token exists and what it's used +for, so other administrators can know its purpose.

    +
    ttl
    +meta/v1.Duration +
    +

    ttl defines the time to live for this token. Defaults to 24h. +expires and ttl are mutually exclusive.

    +
    expires
    +meta/v1.Time +
    +

    expires specifies the timestamp when this token expires. Defaults to being set +dynamically at runtime based on the ttl. expires and ttl are mutually exclusive.

    +
    usages
    +[]string +
    +

    usages describes the ways in which this token can be used. Can by default be used +for establishing bidirectional trust, but that can be changed here.

    +
    groups
    +[]string +
    +

    groups specifies the extra groups that this token will authenticate as when/if +used for authentication

    +
    + +## `BootstrapTokenString` {#BootstrapTokenString} + + +**Appears in:** + +- [BootstrapToken](#BootstrapToken) + + +

    BootstrapTokenString is a token of the format abcdef.abcdef0123456789 that is used +for both validation of the practically of the API server from a joining node's point +of view and as an authentication method for the node in the bootstrap phase of +"kubeadm join". This token is and should be short-lived.

    + + + + + + + + + + + + + + +
    FieldDescription
    - [Required]
    +string +
    + No description provided.
    - [Required]
    +string +
    + No description provided.
    + + + ## `ClusterConfiguration` {#kubeadm-k8s-io-v1beta3-ClusterConfiguration} @@ -641,7 +744,7 @@ information will be fetched.

    caCertHashes specifies a set of public key pins to verify when token-based discovery is used. The root CA found during discovery must match one of these values. Specifying an empty set disables root CA pinning, which can be unsafe. -Each hash is specified as ":", where the only currently supported type is +Each hash is specified as <type>:<value>, where the only currently supported type is "sha256". This is a hex-encoded SHA-256 hash of the Subject Public Key Info (SPKI) object in DER-encoded ASN.1. These hashes can be calculated using, for example, OpenSSL.

    @@ -933,7 +1036,7 @@ file from which to load cluster information.

    pathType
    -core/v1.HostPathType +core/v1.HostPathType

    pathType is the type of the hostPath.

    @@ -1156,12 +1259,11 @@ This information will be annotated to the Node API object, for later re-use

    taints [Required]
    -[]core/v1.Taint +[]core/v1.Taint

    taints specifies the taints the Node API object should be registered with. -If this field is unset, i.e. nil, in the kubeadm init process it will be defaulted -with a control-plane taint for control-plane nodes. +If this field is unset, i.e. nil, it will be defaulted with a control-plane taint for control-plane nodes. If you don't want to taint your control-plane node, set this field to an empty list, i.e. taints: [] in the YAML file. This field is solely used for Node registration.

    @@ -1173,7 +1275,7 @@ i.e. taints: [] in the YAML file. This field is solely used for Nod

    kubeletExtraArgs passes through extra arguments to the kubelet. The arguments here are passed to the kubelet command line via the environment file kubeadm writes at runtime for the kubelet to source. -This overrides the generic base-level configuration in the 'kubelet-config-1.X' ConfigMap. +This overrides the generic base-level configuration in the kubelet-config ConfigMap. Flags have higher priority when parsing. These values are local and specific to the node kubeadm is executing on. A key in this map is the flag name as it appears on the command line except without leading dash(es).

    @@ -1188,13 +1290,13 @@ the current node is registered.

    imagePullPolicy
    -core/v1.PullPolicy +core/v1.PullPolicy

    imagePullPolicy specifies the policy for image pulling during kubeadm "init" and "join" operations. The value of this field must be one of "Always", "IfNotPresent" or "Never". -If this field is unset kubeadm will default it to "IfNotPresent", or pull the required +If this field is not set, kubeadm will default it to "IfNotPresent", or pull the required images if not present on the host.

    @@ -1236,107 +1338,4 @@ first alpha-numerically.

    - - - - -## `BootstrapToken` {#BootstrapToken} - - -**Appears in:** - -- [InitConfiguration](#kubeadm-k8s-io-v1beta3-InitConfiguration) - - -

    BootstrapToken describes one bootstrap token, stored as a Secret in the cluster

    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    FieldDescription
    token [Required]
    -BootstrapTokenString -
    -

    token is used for establishing bidirectional trust between nodes and control-planes. -Used for joining nodes in the cluster.

    -
    description
    -string -
    -

    description sets a human-friendly message why this token exists and what it's used -for, so other administrators can know its purpose.

    -
    ttl
    -meta/v1.Duration -
    -

    ttl defines the time to live for this token. Defaults to 24h. -expires and ttl are mutually exclusive.

    -
    expires
    -meta/v1.Time -
    -

    expires specifies the timestamp when this token expires. Defaults to being set -dynamically at runtime based on the ttl. expires and ttl are mutually exclusive.

    -
    usages
    -[]string -
    -

    usages describes the ways in which this token can be used. Can by default be used -for establishing bidirectional trust, but that can be changed here.

    -
    groups
    -[]string -
    -

    groups specifies the extra groups that this token will authenticate as when/if -used for authentication

    -
    - -## `BootstrapTokenString` {#BootstrapTokenString} - - -**Appears in:** - -- [BootstrapToken](#BootstrapToken) - - -

    BootstrapTokenString is a token of the format abcdef.abcdef0123456789 that is used -for both validation of the practically of the API server from a joining node's point -of view and as an authentication method for the node in the bootstrap phase of -"kubeadm join". This token is and should be short-lived.

    - - - - - - - - - - - - - - -
    FieldDescription
    - [Required]
    -string -
    - No description provided.
    - [Required]
    -string -
    - No description provided.
    \ No newline at end of file + \ No newline at end of file diff --git a/content/en/docs/reference/config-api/kubelet-config.v1.md b/content/en/docs/reference/config-api/kubelet-config.v1.md new file mode 100644 index 0000000000..abaf48ec4b --- /dev/null +++ b/content/en/docs/reference/config-api/kubelet-config.v1.md @@ -0,0 +1,379 @@ +--- +title: Kubelet Configuration (v1) +content_type: tool-reference +package: kubelet.config.k8s.io/v1 +auto_generated: true +--- + + +## Resource Types + + +- [CredentialProviderConfig](#kubelet-config-k8s-io-v1-CredentialProviderConfig) + + + +## `CredentialProviderConfig` {#kubelet-config-k8s-io-v1-CredentialProviderConfig} + + + +

    CredentialProviderConfig is the configuration containing information about +each exec credential provider. Kubelet reads this configuration from disk and enables +each provider as specified by the CredentialProvider type.

    + + + + + + + + + + + + + + +
    FieldDescription
    apiVersion
    string
    kubelet.config.k8s.io/v1
    kind
    string
    CredentialProviderConfig
    providers [Required]
    +[]CredentialProvider +
    +

    providers is a list of credential provider plugins that will be enabled by the kubelet. +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 +auth keys, the value from the provider earlier in this list is used.

    +
    + +## `CredentialProvider` {#kubelet-config-k8s-io-v1-CredentialProvider} + + +**Appears in:** + +- [CredentialProviderConfig](#kubelet-config-k8s-io-v1-CredentialProviderConfig) + + +

    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).

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    name [Required]
    +string +
    +

    name is the required name of the credential provider. It must match the name of the +provider executable as seen by the kubelet. The executable must be in the kubelet's +bin directory (set by the --image-credential-provider-bin-dir flag).

    +
    matchImages [Required]
    +[]string +
    +

    matchImages is a required list of strings used to match against images in order to +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 +and URL path.

    +

    Each entry in matchImages is a pattern which can optionally contain a port and a path. +Globs can be used in the domain, but not in the port or the path. Globs are supported +as subdomains like '.k8s.io' or 'k8s..io', and top-level-domains such as 'k8s.'. +Matching partial subdomains like 'app.k8s.io' is also supported. Each glob can only match +a single subdomain segment, so *.io does not match *.k8s.io.

    +

    A match exists between an image and a matchImage when all of the below are true:

    +
      +
    • Both contain the same number of domain parts and each part matches.
    • +
    • The URL path of an imageMatch must be a prefix of the target image URL path.
    • +
    • If the imageMatch contains a port, then the port must match in the image as well.
    • +
    +

    Example values of matchImages:

    +
      +
    • 123456789.dkr.ecr.us-east-1.amazonaws.com
    • +
    • *.azurecr.io
    • +
    • gcr.io
    • +
    • ..registry.io
    • +
    • registry.io:8080/path
    • +
    +
    defaultCacheDuration [Required]
    +meta/v1.Duration +
    +

    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.

    +
    apiVersion [Required]
    +string +
    +

    Required input version of the exec CredentialProviderRequest. The returned CredentialProviderResponse +MUST use the same encoding version as the input. Current supported values are:

    +
      +
    • credentialprovider.kubelet.k8s.io/v1
    • +
    +
    args
    +[]string +
    +

    Arguments to pass to the command when executing it.

    +
    env
    +[]ExecEnvVar +
    +

    Env defines additional environment variables to expose to the process. These +are unioned with the host's environment, as well as variables client-go uses +to pass argument to the plugin.

    +
    + +## `ExecEnvVar` {#kubelet-config-k8s-io-v1-ExecEnvVar} + + +**Appears in:** + +- [CredentialProvider](#kubelet-config-k8s-io-v1-CredentialProvider) + + +

    ExecEnvVar is used for setting environment variables when executing an exec-based +credential plugin.

    + + + + + + + + + + + + + + +
    FieldDescription
    name [Required]
    +string +
    + No description provided.
    value [Required]
    +string +
    + No description provided.
    + + + + +## `FormatOptions` {#FormatOptions} + + +**Appears in:** + +- [LoggingConfiguration](#LoggingConfiguration) + + +

    FormatOptions contains options for the different logging formats.

    + + + + + + + + + + + +
    FieldDescription
    json [Required]
    +JSONOptions +
    +

    [Alpha] JSON contains options for logging format "json". +Only available when the LoggingAlphaOptions feature gate is enabled.

    +
    + +## `JSONOptions` {#JSONOptions} + + +**Appears in:** + +- [FormatOptions](#FormatOptions) + + +

    JSONOptions contains options for logging format "json".

    + + + + + + + + + + + + + + +
    FieldDescription
    splitStream [Required]
    +bool +
    +

    [Alpha] SplitStream redirects error messages to stderr while +info messages go to stdout, with buffering. The default is to write +both to stdout, without buffering. Only available when +the LoggingAlphaOptions feature gate is enabled.

    +
    infoBufferSize [Required]
    +k8s.io/apimachinery/pkg/api/resource.QuantityValue +
    +

    [Alpha] InfoBufferSize sets the size of the info stream when +using split streams. The default is zero, which disables buffering. +Only available when the LoggingAlphaOptions feature gate is enabled.

    +
    + +## `LogFormatFactory` {#LogFormatFactory} + + + +

    LogFormatFactory provides support for a certain additional, +non-default log format.

    + + + + +## `LoggingConfiguration` {#LoggingConfiguration} + + +**Appears in:** + +- [KubeletConfiguration](#kubelet-config-k8s-io-v1beta1-KubeletConfiguration) + + +

    LoggingConfiguration contains logging options.

    + + + + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    format [Required]
    +string +
    +

    Format Flag specifies the structure of log messages. +default value of format is text

    +
    flushFrequency [Required]
    +time.Duration +
    +

    Maximum number of nanoseconds (i.e. 1s = 1000000000) between log +flushes. Ignored if the selected logging backend writes log +messages without buffering.

    +
    verbosity [Required]
    +VerbosityLevel +
    +

    Verbosity is the threshold that determines which log messages are +logged. Default is zero which logs only the most important +messages. Higher values enable additional messages. Error messages +are always logged.

    +
    vmodule [Required]
    +VModuleConfiguration +
    +

    VModule overrides the verbosity threshold for individual files. +Only supported for "text" log format.

    +
    options [Required]
    +FormatOptions +
    +

    [Alpha] Options holds additional parameters that are specific +to the different logging formats. Only the options for the selected +format get used, but all of them get validated. +Only available when the LoggingAlphaOptions feature gate is enabled.

    +
    + +## `TracingConfiguration` {#TracingConfiguration} + + +**Appears in:** + +- [KubeletConfiguration](#kubelet-config-k8s-io-v1beta1-KubeletConfiguration) + + +

    TracingConfiguration provides versioned configuration for OpenTelemetry tracing clients.

    + + + + + + + + + + + + + + +
    FieldDescription
    endpoint
    +string +
    +

    Endpoint of the collector this component will report traces to. +The connection is insecure, and does not currently support TLS. +Recommended is unset, and endpoint is the otlp grpc default, localhost:4317.

    +
    samplingRatePerMillion
    +int32 +
    +

    SamplingRatePerMillion is the number of samples to collect per million spans. +Recommended is unset. If unset, sampler respects its parent span's sampling +rate, but otherwise never samples.

    +
    + +## `VModuleConfiguration` {#VModuleConfiguration} + +(Alias of `[]k8s.io/component-base/logs/api/v1.VModuleItem`) + +**Appears in:** + +- [LoggingConfiguration](#LoggingConfiguration) + + +

    VModuleConfiguration is a collection of individual file names or patterns +and the corresponding verbosity threshold.

    + + + + +## `VerbosityLevel` {#VerbosityLevel} + +(Alias of `uint32`) + +**Appears in:** + +- [LoggingConfiguration](#LoggingConfiguration) + + + +

    VerbosityLevel represents a klog or logr verbosity threshold.

    + + diff --git a/content/en/docs/reference/config-api/kubelet-config.v1beta1.md b/content/en/docs/reference/config-api/kubelet-config.v1beta1.md index 2d415c617a..a11c179a58 100644 --- a/content/en/docs/reference/config-api/kubelet-config.v1beta1.md +++ b/content/en/docs/reference/config-api/kubelet-config.v1beta1.md @@ -547,6 +547,16 @@ that topology manager requests and hint providers generate. Valid values include Default: "container"

    +topologyManagerPolicyOptions
    +map[string]string + + +

    TopologyManagerPolicyOptions is a set of key=value which allows to set extra options +to fine tune the behaviour of the topology manager policies. +Requires both the "TopologyManager" and "TopologyManagerPolicyOptions" feature gates to be enabled. +Default: nil

    + + qosReserved
    map[string]string @@ -645,7 +655,7 @@ Default: true

    cpuCFSQuotaPeriod is the CPU CFS quota period value, cpu.cfs_period_us. -The value must be between 1 us and 1 second, inclusive. +The value must be between 1 ms and 1 second, inclusive. Requires the CustomCPUCFSQuotaPeriod feature gate to be enabled. Default: "100ms"

    @@ -1145,12 +1155,12 @@ Default: false

    when setting the cgroupv2 memory.high value to enforce MemoryQoS. Decreasing this factor will set lower high limit for container cgroups and put heavier reclaim pressure while increasing will put less reclaim pressure. -See http://kep.k8s.io/2570 for more details. +See https://kep.k8s.io/2570 for more details. Default: 0.8

    registerWithTaints
    -[]core/v1.Taint +[]core/v1.Taint

    registerWithTaints are an array of taints to add to a node object when @@ -1172,7 +1182,7 @@ Default: true

    Tracing specifies the versioned configuration for OpenTelemetry tracing clients. -See http://kep.k8s.io/2832 for more details.

    +See https://kep.k8s.io/2832 for more details.

    localStorageCapacityIsolation
    @@ -1210,7 +1220,7 @@ It exists in the kubeletconfig API group because it is classified as a versioned source
    -core/v1.NodeConfigSource +core/v1.NodeConfigSource

    source is the source that we are serializing.

    @@ -1571,7 +1581,7 @@ and groups corresponding to the Organization in the client certificate.

    No description provided. limits [Required]
    -core/v1.ResourceList +core/v1.ResourceList No description provided. diff --git a/content/en/docs/reference/config-api/kubelet-credentialprovider.v1.md b/content/en/docs/reference/config-api/kubelet-credentialprovider.v1.md new file mode 100644 index 0000000000..1608442710 --- /dev/null +++ b/content/en/docs/reference/config-api/kubelet-credentialprovider.v1.md @@ -0,0 +1,169 @@ +--- +title: Kubelet CredentialProvider (v1) +content_type: tool-reference +package: credentialprovider.kubelet.k8s.io/v1 +auto_generated: true +--- + + +## Resource Types + + +- [CredentialProviderRequest](#credentialprovider-kubelet-k8s-io-v1-CredentialProviderRequest) +- [CredentialProviderResponse](#credentialprovider-kubelet-k8s-io-v1-CredentialProviderResponse) + + + +## `CredentialProviderRequest` {#credentialprovider-kubelet-k8s-io-v1-CredentialProviderRequest} + + + +

    CredentialProviderRequest includes the image that the kubelet requires authentication for. +Kubelet will pass this request object to the plugin via stdin. In general, plugins should +prefer responding with the same apiVersion they were sent.

    + + + + + + + + + + + + + + +
    FieldDescription
    apiVersion
    string
    credentialprovider.kubelet.k8s.io/v1
    kind
    string
    CredentialProviderRequest
    image [Required]
    +string +
    +

    image is the container image that is being pulled as part of the +credential provider plugin request. Plugins may optionally parse the image +to extract any information required to fetch credentials.

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

    CredentialProviderResponse holds credentials that the kubelet should use for the specified +image provided in the original request. Kubelet will read the response from the plugin via stdout. +This response should be set to the same apiVersion as CredentialProviderRequest.

    + + + + + + + + + + + + + + + + + + + + +
    FieldDescription
    apiVersion
    string
    credentialprovider.kubelet.k8s.io/v1
    kind
    string
    CredentialProviderResponse
    cacheKeyType [Required]
    +PluginCacheKeyType +
    +

    cacheKeyType indiciates the type of caching key to use based on the image provided +in the request. There are three valid values for the cache key type: Image, Registry, and +Global. If an invalid value is specified, the response will NOT be used by the kubelet.

    +
    cacheDuration
    +meta/v1.Duration +
    +

    cacheDuration indicates the duration the provided credentials should be cached for. +The kubelet will use this field to set the in-memory cache duration for credentials +in the AuthConfig. If null, the kubelet will use defaultCacheDuration provided in +CredentialProviderConfig. If set to 0, the kubelet will not cache the provided AuthConfig.

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

    auth is a map containing authentication information passed into the kubelet. +Each key is a match image string (more on this below). The corresponding authConfig value +should be valid for all images that match against this key. A plugin should set +this field to null if no valid credentials can be returned for the requested image.

    +

    Each key in the map is a pattern which can optionally contain a port and a path. +Globs can be used in the domain, but not in the port or the path. Globs are supported +as subdomains like '.k8s.io' or 'k8s..io', and top-level-domains such as 'k8s.'. +Matching partial subdomains like 'app.k8s.io' is also supported. Each glob can only match +a single subdomain segment, so *.io does not match *.k8s.io.

    +

    The kubelet will match images against the key when all of the below are true:

    +
      +
    • Both contain the same number of domain parts and each part matches.
    • +
    • The URL path of an imageMatch must be a prefix of the target image URL path.
    • +
    • If the imageMatch contains a port, then the port must match in the image as well.
    • +
    +

    When multiple keys are returned, the kubelet will traverse all keys in reverse order so that:

    +
      +
    • longer keys come before shorter keys with the same prefix
    • +
    • non-wildcard keys come before wildcard keys with the same prefix.
    • +
    +

    For any given match, the kubelet will attempt an image pull with the provided credentials, +stopping after the first successfully authenticated pull.

    +

    Example keys:

    +
      +
    • 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} + + +**Appears in:** + +- [CredentialProviderResponse](#credentialprovider-kubelet-k8s-io-v1-CredentialProviderResponse) + + +

    AuthConfig contains authentication information for a container registry. +Only username/password based authentication is supported today, but more authentication +mechanisms may be added in the future.

    + + + + + + + + + + + + + + +
    FieldDescription
    username [Required]
    +string +
    +

    username is the username used for authenticating to the container registry +An empty username is valid.

    +
    password [Required]
    +string +
    +

    password is the password used for authenticating to the container registry +An empty password is valid.

    +
    + +## `PluginCacheKeyType` {#credentialprovider-kubelet-k8s-io-v1-PluginCacheKeyType} + +(Alias of `string`) + +**Appears in:** + +- [CredentialProviderResponse](#credentialprovider-kubelet-k8s-io-v1-CredentialProviderResponse) + + + + + \ No newline at end of file