Re-add command line tools reference (#8421)
* Add CLI tools ref MD files * Add TOC * Add TOC weights * Tweaking table formatting * Update kube-scheduler.md * Updates to kubelet * Use latest version of docs (v1.10) * Update docs to v1.10 * Tweak whitespace * Update docs to v1.10 * Update docs to v1.10 * Update docs to v1.10
This commit is contained in:
parent
593ad9796c
commit
c35de70526
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Command line tools reference
|
||||
weight: 60
|
||||
toc-hide: true
|
||||
---
|
|
@ -0,0 +1,279 @@
|
|||
---
|
||||
title: cloud-controller-manager
|
||||
notitle: true
|
||||
weight: 90
|
||||
---
|
||||
|
||||
## cloud-controller-manager
|
||||
|
||||
### Synopsis
|
||||
|
||||
The Cloud controller manager is a daemon that embeds
|
||||
the cloud specific control loops shipped with Kubernetes.
|
||||
|
||||
```
|
||||
cloud-controller-manager [flags]
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
<table style="width: 100%;">
|
||||
<colgroup>
|
||||
<col span="1" style="width: 10px;" />
|
||||
<col span="1" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">--address ip Default: 0.0.0.0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">DEPRECATED: the IP address on which to listen for the --port port. See --bind-address instead.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--allocate-node-cidrs</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Should CIDRs for Pods be allocated and set on the cloud provider.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--azure-container-registry-config string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to the file containing Azure container registry configuration information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--bind-address ip Default: 0.0.0.0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The IP address on which to listen for the --secure-port port. The associated interface(s) must be reachable by the rest of the cluster, and by CLI/web clients. If blank, all interfaces will be used (0.0.0.0 for all IPv4 interfaces and :: for all IPv6 interfaces).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cert-dir string Default: "/var/run/kubernetes"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The directory where the TLS certs are located. If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cidr-allocator-type string Default: "RangeAllocator"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Type of CIDR allocator to use</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cloud-config string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The path to the cloud provider configuration file. Empty string for no configuration file.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cloud-provider string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The provider of cloud services. Cannot be empty.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cluster-cidr string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">CIDR Range for Pods in cluster. Requires --allocate-node-cidrs to be true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cluster-name string Default: "kubernetes"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The instance prefix for the cluster.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--concurrent-service-syncs int32 Default: 1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The number of services that are allowed to sync concurrently. Larger number = more responsive service management, but more CPU (and network) load</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--configure-cloud-routes Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Should CIDRs allocated by allocate-node-cidrs be configured on the cloud provider.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--contention-profiling</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enable lock contention profiling, if profiling is enabled.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--controller-start-interval duration</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Interval between starting controller managers.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--feature-gates mapStringBool</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:<br/>APIListChunking=true|false (BETA - default=true)<br/>APIResponseCompression=true|false (ALPHA - default=false)<br/>Accelerators=true|false (ALPHA - default=false)<br/>AdvancedAuditing=true|false (BETA - default=true)<br/>AllAlpha=true|false (ALPHA - default=false)<br/>AppArmor=true|false (BETA - default=true)<br/>BlockVolume=true|false (ALPHA - default=false)<br/>CPUManager=true|false (BETA - default=true)<br/>CRIContainerLogRotation=true|false (ALPHA - default=false)<br/>CSIPersistentVolume=true|false (BETA - default=true)<br/>CustomPodDNS=true|false (BETA - default=true)<br/>CustomResourceSubresources=true|false (ALPHA - default=false)<br/>CustomResourceValidation=true|false (BETA - default=true)<br/>DebugContainers=true|false (ALPHA - default=false)<br/>DevicePlugins=true|false (BETA - default=true)<br/>DynamicKubeletConfig=true|false (ALPHA - default=false)<br/>EnableEquivalenceClassCache=true|false (ALPHA - default=false)<br/>ExpandPersistentVolumes=true|false (ALPHA - default=false)<br/>ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)<br/>ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)<br/>GCERegionalPersistentDisk=true|false (BETA - default=true)<br/>HugePages=true|false (BETA - default=true)<br/>HyperVContainer=true|false (ALPHA - default=false)<br/>Initializers=true|false (ALPHA - default=false)<br/>LocalStorageCapacityIsolation=true|false (BETA - default=true)<br/>MountContainers=true|false (ALPHA - default=false)<br/>MountPropagation=true|false (BETA - default=true)<br/>PersistentLocalVolumes=true|false (BETA - default=true)<br/>PodPriority=true|false (ALPHA - default=false)<br/>PodShareProcessNamespace=true|false (ALPHA - default=false)<br/>ReadOnlyAPIDataVolumes=true|false (DEPRECATED - default=true)<br/>ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)<br/>RotateKubeletClientCertificate=true|false (BETA - default=true)<br/>RotateKubeletServerCertificate=true|false (ALPHA - default=false)<br/>RunAsGroup=true|false (ALPHA - default=false)<br/>ScheduleDaemonSetPods=true|false (ALPHA - default=false)<br/>ServiceNodeExclusion=true|false (ALPHA - default=false)<br/>ServiceProxyAllowExternalIPs=true|false (DEPRECATED - default=false)<br/>StorageObjectInUseProtection=true|false (BETA - default=true)<br/>StreamingProxyRedirects=true|false (BETA - default=true)<br/>SupportIPVSProxyMode=true|false (BETA - default=true)<br/>SupportPodPidsLimit=true|false (ALPHA - default=false)<br/>TaintBasedEvictions=true|false (ALPHA - default=false)<br/>TaintNodesByCondition=true|false (ALPHA - default=false)<br/>TokenRequest=true|false (ALPHA - default=false)<br/>VolumeScheduling=true|false (BETA - default=true)<br/>VolumeSubpath=true|false (default=true)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">-h, --help</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">help for cloud-controller-manager</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--http2-max-streams-per-connection int</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The limit that the server gives to clients for the maximum number of streams in an HTTP/2 connection. Zero means to use golang's default.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kube-api-burst int32 Default: 30</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Burst to use while talking with kubernetes apiserver.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kube-api-content-type string Default: "application/vnd.kubernetes.protobuf"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Content type of requests sent to apiserver.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kube-api-qps float32 Default: 20</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">QPS to use while talking with kubernetes apiserver.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kubeconfig string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to kubeconfig file with authorization and master location information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--leader-elect Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--leader-elect-lease-duration duration Default: 15s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. This is only applicable if leader election is enabled.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--leader-elect-renew-deadline duration Default: 10s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. This is only applicable if leader election is enabled.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--leader-elect-resource-lock endpoints Default: "endpoints"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The type of resource object that is used for locking during leader election. Supported options are endpoints (default) and `configmaps`.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--leader-elect-retry-period duration Default: 2s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--log-flush-frequency duration Default: 5s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Maximum number of seconds between log flushes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--master string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The address of the Kubernetes API server (overrides any value in kubeconfig).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--min-resync-period duration Default: 12h0m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The resync period in reflectors will be random between MinResyncPeriod and 2*MinResyncPeriod.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--node-monitor-period duration Default: 5s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The period for syncing NodeStatus in NodeController.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--node-status-update-frequency duration Default: 5m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Specifies how often the controller updates nodes' status.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--port int Default: 10253</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">DEPRECATED: the port on which to serve HTTP insecurely without authentication and authorization. If 0, don't serve HTTPS at all. See --secure-port instead.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--profiling Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enable profiling via web interface host:port/debug/pprof/</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--route-reconciliation-period duration Default: 10s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The period for reconciling routes created for Nodes by cloud provider.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--secure-port int</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The port on which to serve HTTPS with authentication and authorization. If 0, don't serve HTTPS at all.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--tls-cert-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">File containing the default x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to the directory specified by --cert-dir.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--tls-cipher-suites stringSlice</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Comma-separated list of cipher suites for the server. Values are from tls package constants (https://golang.org/pkg/crypto/tls/#pkg-constants). If omitted, the default Go cipher suites will be used</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--tls-min-version string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Minimum TLS version supported. Value must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--tls-private-key-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">File containing the default x509 private key matching --tls-cert-file.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--tls-sni-cert-key namedCertKey Default: []</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A pair of x509 certificate and private key file paths, optionally suffixed with a list of domain patterns which are fully qualified domain names, possibly with prefixed wildcard segments. If no domain patterns are provided, the names of the certificate are extracted. Non-wildcard matches trump over wildcard matches, explicit domain patterns trump over extracted names. For multiple key/certificate pairs, use the --tls-sni-cert-key multiple times. Examples: "example.crt,example.key" or "foo.crt,foo.key:*.foo.com,foo.com".</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--use-service-account-credentials</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If true, use individual service account credentials for each controller.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--version version[=true]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Print version information and quit</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
|
@ -0,0 +1,225 @@
|
|||
---
|
||||
title: Feature Gates
|
||||
weight: 10
|
||||
---
|
||||
|
||||
{% capture overview %}
|
||||
This page contains an overview of the various feature gates an administrator
|
||||
can specify on different Kubernetes components.
|
||||
{% endcapture %}
|
||||
|
||||
{% capture body %}
|
||||
|
||||
## Overview
|
||||
|
||||
Feature gates are a set of key=value pairs that describe alpha or experimental
|
||||
features.
|
||||
An administrator can use the `--feature-gates` command line flag on each component
|
||||
to turn a feature on or off.
|
||||
The following table is a summary of the feature gates that you can set on
|
||||
different Kubernetes components.
|
||||
|
||||
- The "Since" column contains the Kubernetes release when a feature is introduced
|
||||
or its release stage is changed.
|
||||
- The "Until" column, if not empty, contains the last Kubernetes release in which
|
||||
you can still use a feature gate.
|
||||
|
||||
| Feature | Default | Stage | Since | Until |
|
||||
|---------|---------|-------|-------|-------|
|
||||
| `Accelerators` | `false` | Alpha | 1.6 | 1.10 |
|
||||
| `AdvancedAuditing` | `false` | Alpha | 1.7 | 1.7 |
|
||||
| `AdvancedAuditing` | `true` | Beta | 1.8 | |
|
||||
| `AffinityInAnnotations` | `false` | Alpha | 1.6 | 1.7 |
|
||||
| `AllowExtTrafficLocalEndpoints` | `false` | Beta | 1.4 | 1.6 |
|
||||
| `AllowExtTrafficLocalEndpoints` | `true` | GA | 1.7 | |
|
||||
| `APIListChunking` | `false` | Alpha | 1.8 | 1.8 |
|
||||
| `APIListChunking` | `true` | Beta | 1.9 | |
|
||||
| `APIResponseCompression` | `false` | Alpha | 1.7 | |
|
||||
| `AppArmor` | `true` | Beta | 1.4 | |
|
||||
| `BlockVolume` | `false` | Alpha | 1.9 | |
|
||||
| `CPUManager` | `false` | Alpha | 1.8 | 1.9 |
|
||||
| `CPUManager` | `true` | Beta | 1.10 | |
|
||||
| `CRIContainerLogRotation` | `false` | Alpha | 1.10 | |
|
||||
| `CSIPersistentVolume` | `false` | Alpha | 1.9 | 1.9 |
|
||||
| `CSIPersistentVolume` | `true` | Beta | 1.10 | |
|
||||
| `CustomPodDNS` | `false` | Alpha | 1.9 | 1.9 |
|
||||
| `CustomPodDNS` | `true` | Beta| 1.10 | |
|
||||
| `CustomResourceSubresources` | `false` | Alpha | 1.10 | |
|
||||
| `CustomResourceValidation` | `false` | Alpha | 1.8 | 1.8 |
|
||||
| `CustomResourceValidation` | `true` | Beta | 1.9 | |
|
||||
| `DebugContainers` | `false` | Alpha | 1.10 | |
|
||||
| `DevicePlugins` | `false` | Alpha | 1.8 | 1.9 |
|
||||
| `DevicePlugins` | `true` | Beta | 1.10 | |
|
||||
| `DynamicKubeletConfig` | `false` | Alpha | 1.4 | |
|
||||
| `DynamicVolumeProvisioning` | `true` | Alpha | 1.3 | 1.7 |
|
||||
| `DynamicVolumeProvisioning` | `true` | GA | 1.8 | |
|
||||
| `EnableEquivalenceClassCache` | `false` | Alpha | 1.8 | |
|
||||
| `ExpandPersistentVolumes` | `false` | Alpha | 1.8 | 1.8 |
|
||||
| `ExperimentalCriticalPodAnnotation` | `false` | Alpha | 1.5 | |
|
||||
| `ExperimentalHostUserNamespaceDefaulting` | `false` | Beta | 1.5 | |
|
||||
| `GCERegionalPersistentDisk` | `true` | Beta | 1.10 | |
|
||||
| `HugePages` | `false` | Alpha | 1.8 | 1.9 |
|
||||
| `HugePages` | `true` | Beta| 1.10 | |
|
||||
| `HyperVContainer` | `false` | Alpha | 1.10 | |
|
||||
| `Initializers` | `false` | Alpha | 1.7 | |
|
||||
| `KubeletConfigFile` | `false` | Alpha | 1.8 | 1.9 |
|
||||
| `LocalStorageCapacityIsolation` | `false` | Alpha | 1.7 | 1.9 |
|
||||
| `LocalStorageCapacityIsolation` | `true` | Beta| 1.10 | |
|
||||
| `MountContainers` | `false` | Alpha | 1.9 | |
|
||||
| `MountPropagation` | `false` | Alpha | 1.8 | 1.9 |
|
||||
| `MountPropagation` | `true` | Beta | 1.10 | |
|
||||
| `PersistentLocalVolumes` | `false` | Alpha | 1.7 | 1.9 |
|
||||
| `PersistentLocalVolumes` | `true` | Beta | 1.10 | |
|
||||
| `PodPriority` | `false` | Alpha | 1.8 | |
|
||||
| `PodShareProcessNamespace` | `false` | Alpha | 1.10 | |
|
||||
| `PVCProtection` | `false` | Alpha | 1.9 | 1.9 |
|
||||
| `ReadOnlyAPIDataVolumes` | `true` | Deprecated | 1.10 | |
|
||||
| `ResourceLimitsPriorityFunction` | `false` | Alpha | 1.9 | |
|
||||
| `RotateKubeletClientCertificate` | `true` | Beta | 1.7 | |
|
||||
| `RotateKubeletServerCertificate` | `false` | Alpha | 1.7 | |
|
||||
| `RunAsGroup` | `false` | Alpha | 1.10 | |
|
||||
| `ScheduleDaemonSetPods` | `false` | Alpha | 1.10 | |
|
||||
| `ServiceNodeExclusion` | `false` | Alpha | 1.8 | |
|
||||
| `StorageObjectInUseProtection` | `true` | Beta | 1.10 | |
|
||||
| `StreamingProxyRedirects` | `true` | Beta | 1.5 | |
|
||||
| `SupportIPVSProxyMode` | `false` | Alpha | 1.8 | 1.8 |
|
||||
| `SupportIPVSProxyMode` | `false` | Beta | 1.9 | 1.9 |
|
||||
| `SupportIPVSProxyMode` | `true` | Beta | 1.10 | |
|
||||
| `SupportPodPidsLimit` | `false` | Alpha | 1.10 | |
|
||||
| `TaintBasedEvictions` | `false` | Alpha | 1.6 | |
|
||||
| `TaintNodesByCondition` | `false` | Alpha | 1.8 | |
|
||||
| `TokenRequest` | `false` | Alpha | 1.10 | |
|
||||
| `VolumeScheduling` | `false` | Alpha | 1.9 | 1.9 |
|
||||
| `VolumeScheduling` | `true` | Beta | 1.10 | |
|
||||
|
||||
## Using a Feature
|
||||
|
||||
### Feature Stages
|
||||
|
||||
A feature can be in *Alpha*, *Beta* or *GA* stage.
|
||||
An *Alpha* feature means:
|
||||
|
||||
* Disabled by default.
|
||||
* Might be buggy. Enabling the feature may expose bugs.
|
||||
* Support for feature may be dropped at any time without notice.
|
||||
* The API may change in incompatible ways in a later software release without notice.
|
||||
* Recommended for use only in short-lived testing clusters, due to increased
|
||||
risk of bugs and lack of long-term support.
|
||||
|
||||
A *Beta* feature means:
|
||||
|
||||
* Enabled by default.
|
||||
* The feature is well tested. Enabling the feature is considered safe.
|
||||
* Support for the overall feature will not be dropped, though details may change.
|
||||
* The schema and/or semantics of objects may change in incompatible ways in a
|
||||
subsequent beta or stable release. When this happens, we will provide instructions
|
||||
for migrating to the next version. This may require deleting, editing, and
|
||||
re-creating API objects. The editing process may require some thought.
|
||||
This may require downtime for applications that rely on the feature.
|
||||
* Recommended for only non-business-critical uses because of potential for
|
||||
incompatible changes in subsequent releases. If you have multiple clusters
|
||||
that can be upgraded independently, you may be able to relax this restriction.
|
||||
|
||||
**Note:** Please do try *Beta* features and give feedback on them!
|
||||
After they exit beta, it may not be practical for us to make more changes.
|
||||
{: .note}
|
||||
|
||||
A *GA* feature is also referred to as a *stable* feature. It means:
|
||||
|
||||
* The corresponding feature gate is no longer needed.
|
||||
* Stable versions of features will appear in released software for many subsequent versions.
|
||||
|
||||
### Feature Gates
|
||||
|
||||
Each feature gate is designed for enabling/disabling a specific feature:
|
||||
|
||||
- `Accelerators`: Enable Nvidia GPU support when using Docker
|
||||
- `AdvancedAuditing`: Enable [advanced auditing](/docs/tasks/debug-application-cluster/audit/#advanced-audit)
|
||||
- `AffinityInAnnotations`(*deprecated*): Enable setting [Pod affinity or anti-affinitys](/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity).
|
||||
- `AllowExtTrafficLocalEndpoints`: Enable a service to route external requests to node local endpoints.
|
||||
- `APIListChunking`: Enable the API clients to retrieve (`LIST` or `GET`) resources from API server in chunks.
|
||||
- `APIResponseCompression`: Compress the API responses for `LIST` or `GET` requests.
|
||||
- `AppArmor`: Enable AppArmor based mandatory access control on Linux nodes when using Docker.
|
||||
See [AppArmor Tutorial](/docs/tutorials/clusters/apparmor/) for more details.
|
||||
- `BlockVolume`: Enable the definition and consumption of raw block devices in Pods.
|
||||
See [Raw Block Volume Support](/docs/concepts/storage/persistent-volumes/#raw-block-volume-support)
|
||||
for more details.
|
||||
- `CPUManager`: Enable container level CPU affinity support, see [CPU Management Policies](/docs/tasks/administer-cluster/cpu-management-policies/).
|
||||
- `CRIContainerLogRotation`: Enable container log rotation for cri container runtime.
|
||||
- `CSIPersistentVolume`: Enable discovering and mounting volumes provisioned through a
|
||||
[CSI (Container Storage Interface)](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/storage/container-storage-interface.md)
|
||||
compatible volume plugin.
|
||||
Check the [`csi` volume type](/docs/concepts/storage/volumes/#csi) documentation for more details.
|
||||
- `CustomPodDNS`: Enable customizing the DNS settings for a Pod using its `dnsConfig` property.
|
||||
Check [Pod's DNS Config](/docs/concepts/services-networking/dns-pod-service/#pods-dns-config)
|
||||
for more details.
|
||||
- `CustomResourceSubresources`: Enable `/status` and `/scale` subresources
|
||||
on resources created from [CustomResourceDefinition](/docs/concepts/api-extension/custom-resources/).
|
||||
- `CustomResourceValidation`: Enable schema based validation on resources created from
|
||||
[CustomResourceDefinition](/docs/concepts/api-extension/custom-resources/).
|
||||
- `DebugContainers`: Enable running a "debugging" container in a Pod's namespace to
|
||||
troubleshoot a running Pod.
|
||||
- `DevicePlugins`: Enable the [device-plugins](/docs/concepts/cluster-administration/device-plugins/)
|
||||
based resource provisioning on nodes.
|
||||
- `DynamicKubeletConfig`: Enable the dynamic configuration of kubelet. See [Reconfigure kubelet](/docs/tasks/administer-cluster/reconfigure-kubelet/).
|
||||
- `DynamicVolumeProvisioning`(*deprecated*): Enable the [dynamic provisioning](/docs/concepts/storage/dynamic-provisioning/) of persistent volumes to Pods.
|
||||
- `EnableEquivalenceClassCache`: Enable the scheduler to cache equivalence of nodes when scheduling Pods.
|
||||
- `ExpandPersistentVolumes`: Enable the expanding of persistent volumes. See [Expanding Persistent Volumes Claims](/docs/concepts/storage/persistent-volumes/#expanding-persistent-volumes-claims).
|
||||
- `ExperimentalCriticalPodAnnotation`: Enable annotating specific pods as *critical* so that their [scheduling is guaranteed](/docs/tasks/administer-cluster/guaranteed-scheduling-critical-addon-pods/).
|
||||
- `ExperimentalHostUserNamespaceDefaultingGate`: Enabling the defaulting user
|
||||
namespace to host. This is for containers that are using other host namespaces,
|
||||
host mounts, or containers that are privileged or using specific non-namespaced
|
||||
capabilities (e.g. `MKNODE`, `SYS_MODULE` etc.). This should only be enabled
|
||||
if user namespace remapping is enabled in the Docker daemon.
|
||||
- `GCERegionalPersistentDisk`: Enable the regional PD feature on GCE.
|
||||
- `HugePages`: Enable the allocation and consumption of pre-allocated [huge pages](/docs/tasks/manage-hugepages/scheduling-hugepages/).
|
||||
- `HyperVContainer`: Enable [Hyper-V isolation](https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/hyperv-container) for Windows containers.
|
||||
- `Intializers`: Enable the [dynamic admission control](/docs/admin/extensible-admission-controllers/)
|
||||
as an extension to the built-in [admission controllers](/docs/admin/admission-controllers/).
|
||||
When the `Initializers` admission controller is enabled, this feature is automatically enabled.
|
||||
- `KubeletConfigFile`: Enable loading kubelet configuration from a file specified using a config file.
|
||||
See [setting kubelet parameters via a config file](/docs/tasks/administer-cluster/kubelet-config-file/) for more details.
|
||||
- `LocalStorageCapacityIsolation`: Enable the consumption of [local ephemeral storage](/docs/concepts/configuration/manage-compute-resources-container/) and also the `sizeLimit` property of an [emptyDir volume](/docs/concepts/storage/volumes/#emptydir).
|
||||
- `MountContainers`: Enable using utility containers on host as the volume mounter.
|
||||
- `MountPropagation`: Enable sharing volume mounted by one container to other containers or pods.
|
||||
For more details, please see [mount propagation](/docs/concepts/storage/volumes/#mount-propagation).
|
||||
- `PersistentLocalVolumes`: Enable the usage of `local` volume type in Pods.
|
||||
Pod affinity has to be specified if requesting a `local` volume.
|
||||
- `PodPriority`: Enable the descheduling and preemption of Pods based on their [priorities](/docs/concepts/configuration/pod-priority-preemption/).
|
||||
- `PVCProtection`: Enable the prevention of a PersistentVolumeClaim (PVC) from
|
||||
being deleted when it is still used by any Pod.
|
||||
More details can be found [here](/docs/tasks/administer-cluster/pvc-protection/).
|
||||
- `ReadOnlyAPIDataVolumes`: Set Secret, ConfigMap, DownwardAPI and projected volumes to be mounted in read-only mode.
|
||||
This gate exists only for backward compatibility. It will be removed in 1.11 release.
|
||||
- `ResourceLimitsPriorityFunction`: Enable a scheduler priority function that
|
||||
assigns a lowest possible score of 1 to a node that satisfies at least one of
|
||||
the input Pod's cpu and memory limits. The intent is to break ties between
|
||||
nodes with same scores.
|
||||
- `RotateKubeletClientCertificate`: Enable the rotation of the client TLS certificate on the kubelet.
|
||||
See [kubelet configuration](/docs/admin/kubelet-tls-bootstrapping/#kubelet-configuration) for more details.
|
||||
- `RotateKubeletServerCertificate`: Enable the rotation of the server TLS certificate on the kubelet.
|
||||
See [kubelet configuration](/docs/admin/kubelet-tls-bootstrapping/#kubelet-configuration) for more details.
|
||||
- `RunAsGroup`: Enable control over the primary group ID set on the init processes of containers.
|
||||
- `ScheduleDaemonSetPods`: Enable DaemonSet Pods to be scheduled by the default scheduler instead of the DaemonSet controller.
|
||||
- `ServiceNodeExclusion`: Enable the exclusion of nodes from load balancers created by a cloud provider.
|
||||
A node is eligible for exclusion if annotated with "`alpha.service-controller.kubernetes.io/exclude-balancer`" key.
|
||||
- `StorageObjectInUseProtection`: Postpone the deletion of PersistentVolume or
|
||||
PersistentVolumeClaim objects if they are still being used.
|
||||
- `StreamingProxyRedirects`: Instructs the API server to intercept (and follow)
|
||||
redirects from the backend (kubelet) for streaming requests.
|
||||
Examples of streaming requests include the `exec`, `attach` and `port-forward` requests.
|
||||
- `SupportIPVSProxyMode`: Enable providing in-cluster service load balancing using IPVS.
|
||||
See [service proxies](/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies) for more details.
|
||||
- `SupportPodPidsLimit`: Enable the support to limiting PIDs in Pods.
|
||||
- `TaintBasedEvictions`: Enable evicting pods from nodes based on taints on nodes and tolerations on Pods.
|
||||
See [taints and tolerations](/docs/concepts/configuration/taint-and-toleration/) for more details.
|
||||
- `TaintNodesByCondition`: Enable automatic tainting nodes based on [node conditions](/docs/concepts/architecture/nodes/#condition).
|
||||
- `TokenRequest`: Enable the `TokenRequest` endpoint on service account resources.
|
||||
- `VolumeScheduling`: Enable volume topology aware scheduling and make the
|
||||
PersistentVolumeClaim (PVC) binding aware of scheduling decisions. It also
|
||||
enables the usage of [`local`](/docs/concepts/storage/volumes/#local) volume
|
||||
type when used together with the `PersistentLocalVolumes` feature gate.
|
||||
|
||||
{% endcapture %}
|
||||
|
||||
{% include templates/concept.md %}
|
|
@ -0,0 +1,153 @@
|
|||
---
|
||||
title: federation-apiserver
|
||||
notitle: true
|
||||
weight: 100
|
||||
---
|
||||
## federation-apiserver
|
||||
|
||||
|
||||
|
||||
### Synopsis
|
||||
|
||||
|
||||
The Kubernetes federation API server validates and configures data
|
||||
for the api objects which include pods, services, replicationcontrollers, and
|
||||
others. The API Server services REST operations and provides the frontend to the
|
||||
cluster's shared state through which all other components interact.
|
||||
|
||||
```
|
||||
federation-apiserver [flags]
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
```
|
||||
--admission-control-config-file string File with admission control configuration.
|
||||
--advertise-address ip The IP address on which to advertise the apiserver to members of the cluster. This address must be reachable by the rest of the cluster. If blank, the --bind-address will be used. If --bind-address is unspecified, the host's default interface will be used.
|
||||
--anonymous-auth Enables anonymous requests to the secure port of the API server. Requests that are not rejected by another authentication method are treated as anonymous requests. Anonymous requests have a username of system:anonymous, and a group name of system:unauthenticated. (default true)
|
||||
--audit-log-format string Format of saved audits. "legacy" indicates 1-line text format for each event. "json" indicates structured json format. Requires the 'AdvancedAuditing' feature gate. Known formats are legacy,json. (default "json")
|
||||
--audit-log-maxage int The maximum number of days to retain old audit log files based on the timestamp encoded in their filename.
|
||||
--audit-log-maxbackup int The maximum number of old audit log files to retain.
|
||||
--audit-log-maxsize int The maximum size in megabytes of the audit log file before it gets rotated.
|
||||
--audit-log-path string If set, all requests coming to the apiserver will be logged to this file. '-' means standard out.
|
||||
--audit-policy-file string Path to the file that defines the audit policy configuration. Requires the 'AdvancedAuditing' feature gate. With AdvancedAuditing, a profile is required to enable auditing.
|
||||
--audit-webhook-batch-buffer-size int The size of the buffer to store events before batching and sending to the webhook. Only used in batch mode. (default 10000)
|
||||
--audit-webhook-batch-initial-backoff duration The amount of time to wait before retrying the first failed requests. Only used in batch mode. (default 10s)
|
||||
--audit-webhook-batch-max-size int The maximum size of a batch sent to the webhook. Only used in batch mode. (default 400)
|
||||
--audit-webhook-batch-max-wait duration The amount of time to wait before force sending the batch that hadn't reached the max size. Only used in batch mode. (default 30s)
|
||||
--audit-webhook-batch-throttle-burst int Maximum number of requests sent at the same moment if ThrottleQPS was not utilized before. Only used in batch mode. (default 15)
|
||||
--audit-webhook-batch-throttle-qps float32 Maximum average number of requests per second. Only used in batch mode. (default 10)
|
||||
--audit-webhook-config-file string Path to a kubeconfig formatted file that defines the audit webhook configuration. Requires the 'AdvancedAuditing' feature gate.
|
||||
--audit-webhook-mode string Strategy for sending audit events. Blocking indicates sending events should block server responses. Batch causes the webhook to buffer and send events asynchronously. Known modes are batch,blocking. (default "batch")
|
||||
--authentication-token-webhook-cache-ttl duration The duration to cache responses from the webhook token authenticator. (default 2m0s)
|
||||
--authentication-token-webhook-config-file string File with webhook configuration for token authentication in kubeconfig format. The API server will query the remote service to determine authentication for bearer tokens.
|
||||
--authorization-mode string Ordered list of plug-ins to do authorization on secure port. Comma-delimited list of: AlwaysAllow,AlwaysDeny,ABAC,Webhook,RBAC,Node. (default "AlwaysAllow")
|
||||
--authorization-policy-file string File with authorization policy in csv format, used with --authorization-mode=ABAC, on the secure port.
|
||||
--authorization-webhook-cache-authorized-ttl duration The duration to cache 'authorized' responses from the webhook authorizer. (default 5m0s)
|
||||
--authorization-webhook-cache-unauthorized-ttl duration The duration to cache 'unauthorized' responses from the webhook authorizer. (default 30s)
|
||||
--authorization-webhook-config-file string File with webhook configuration in kubeconfig format, used with --authorization-mode=Webhook. The API server will query the remote service to determine access on the API server's secure port.
|
||||
--basic-auth-file string If set, the file that will be used to admit requests to the secure port of the API server via http basic authentication.
|
||||
--bind-address ip The IP address on which to listen for the --secure-port port. The associated interface(s) must be reachable by the rest of the cluster, and by CLI/web clients. If blank, all interfaces will be used (0.0.0.0). (default 0.0.0.0)
|
||||
--cert-dir string The directory where the TLS certs are located. If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored. (default "/var/run/kubernetes")
|
||||
--client-ca-file string If set, any request presenting a client certificate signed by one of the authorities in the client-ca-file is authenticated with an identity corresponding to the CommonName of the client certificate.
|
||||
--contention-profiling Enable lock contention profiling, if profiling is enabled
|
||||
--cors-allowed-origins strings List of allowed origins for CORS, comma separated. An allowed origin can be a regular expression to support subdomain matching. If this list is empty CORS will not be enabled.
|
||||
--default-watch-cache-size int Default watch cache size. If zero, watch cache will be disabled for resources that do not have a default watch size set. (default 100)
|
||||
--delete-collection-workers int Number of workers spawned for DeleteCollection call. These are used to speed up namespace cleanup. (default 1)
|
||||
--deserialization-cache-size int Number of deserialized json objects to cache in memory.
|
||||
--disable-admission-plugins strings admission plugins that should be disabled although they are in the default enabled plugins list. Comma-delimited list of admission plugins: Initializers, MutatingAdmissionWebhook, NamespaceLifecycle, ValidatingAdmissionWebhook. The order of plugins in this flag does not matter.
|
||||
--enable-admission-plugins strings admission plugins that should be enabled in addition to default enabled ones. Comma-delimited list of admission plugins: Initializers, MutatingAdmissionWebhook, NamespaceLifecycle, ValidatingAdmissionWebhook. The order of plugins in this flag does not matter.
|
||||
--enable-bootstrap-token-auth Enable to allow secrets of type 'bootstrap.kubernetes.io/token' in the 'kube-system' namespace to be used for TLS bootstrapping authentication.
|
||||
--enable-garbage-collector Enables the generic garbage collector. MUST be synced with the corresponding flag of the kube-controller-manager. (default true)
|
||||
--enable-swagger-ui Enables swagger ui on the apiserver at /swagger-ui
|
||||
--etcd-cafile string SSL Certificate Authority file used to secure etcd communication.
|
||||
--etcd-certfile string SSL certification file used to secure etcd communication.
|
||||
--etcd-compaction-interval duration The interval of compaction requests. If 0, the compaction request from apiserver is disabled. (default 5m0s)
|
||||
--etcd-keyfile string SSL key file used to secure etcd communication.
|
||||
--etcd-prefix string The prefix to prepend to all resource paths in etcd. (default "/registry")
|
||||
--etcd-servers strings List of etcd servers to connect with (scheme://ip:port), comma separated.
|
||||
--etcd-servers-overrides strings Per-resource etcd servers overrides, comma separated. The individual override format: group/resource#servers, where servers are http://ip:port, semicolon separated.
|
||||
--event-ttl duration Amount of time to retain events. (default 1h0m0s)
|
||||
--experimental-encryption-provider-config string The file containing configuration for encryption providers to be used for storing secrets in etcd
|
||||
--experimental-keystone-ca-file string If set, the Keystone server's certificate will be verified by one of the authorities in the experimental-keystone-ca-file, otherwise the host's root CA set will be used.
|
||||
--experimental-keystone-url string If passed, activates the keystone authentication plugin.
|
||||
--external-hostname string The hostname to use when generating externalized URLs for this master (e.g. Swagger API Docs).
|
||||
--feature-gates mapStringBool A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:
|
||||
APIListChunking=true|false (BETA - default=true)
|
||||
APIResponseCompression=true|false (ALPHA - default=false)
|
||||
Accelerators=true|false (ALPHA - default=false)
|
||||
AdvancedAuditing=true|false (BETA - default=true)
|
||||
AllAlpha=true|false (ALPHA - default=false)
|
||||
AppArmor=true|false (BETA - default=true)
|
||||
BlockVolume=true|false (ALPHA - default=false)
|
||||
CPUManager=true|false (BETA - default=true)
|
||||
CSIPersistentVolume=true|false (ALPHA - default=false)
|
||||
CustomPodDNS=true|false (ALPHA - default=false)
|
||||
CustomResourceValidation=true|false (BETA - default=true)
|
||||
DebugContainers=true|false (ALPHA - default=false)
|
||||
DevicePlugins=true|false (ALPHA - default=false)
|
||||
DynamicKubeletConfig=true|false (ALPHA - default=false)
|
||||
EnableEquivalenceClassCache=true|false (ALPHA - default=false)
|
||||
ExpandPersistentVolumes=true|false (ALPHA - default=false)
|
||||
ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)
|
||||
ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)
|
||||
HugePages=true|false (BETA - default=true)
|
||||
HyperVContainer=true|false (ALPHA - default=false)
|
||||
Initializers=true|false (ALPHA - default=false)
|
||||
LocalStorageCapacityIsolation=true|false (ALPHA - default=false)
|
||||
MountContainers=true|false (ALPHA - default=false)
|
||||
MountPropagation=true|false (ALPHA - default=false)
|
||||
PVCProtection=true|false (ALPHA - default=false)
|
||||
PersistentLocalVolumes=true|false (ALPHA - default=false)
|
||||
PodPriority=true|false (ALPHA - default=false)
|
||||
PodShareProcessNamespace=true|false (ALPHA - default=false)
|
||||
ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)
|
||||
RotateKubeletClientCertificate=true|false (BETA - default=true)
|
||||
RotateKubeletServerCertificate=true|false (ALPHA - default=false)
|
||||
ServiceNodeExclusion=true|false (ALPHA - default=false)
|
||||
ServiceProxyAllowExternalIPs=true|false (DEPRECATED - default=false)
|
||||
StreamingProxyRedirects=true|false (BETA - default=true)
|
||||
SupportIPVSProxyMode=true|false (BETA - default=false)
|
||||
SupportPodPidsLimit=true|false (ALPHA - default=false)
|
||||
TaintBasedEvictions=true|false (ALPHA - default=false)
|
||||
TaintNodesByCondition=true|false (ALPHA - default=false)
|
||||
VolumeScheduling=true|false (ALPHA - default=false)
|
||||
-h, --help help for federation-apiserver
|
||||
--log-flush-frequency duration Maximum number of seconds between log flushes (default 5s)
|
||||
--master-service-namespace string DEPRECATED: the namespace from which the kubernetes master services should be injected into pods. (default "default")
|
||||
--max-mutating-requests-inflight int The maximum number of mutating requests in flight at a given time. When the server exceeds this, it rejects requests. Zero for no limit. (default 200)
|
||||
--max-requests-inflight int The maximum number of non-mutating requests in flight at a given time. When the server exceeds this, it rejects requests. Zero for no limit. (default 400)
|
||||
--min-request-timeout int An optional field indicating the minimum number of seconds a handler must keep a request open before timing it out. Currently only honored by the watch request handler, which picks a randomized value above this number as the connection timeout, to spread out load. (default 1800)
|
||||
--oidc-ca-file string If set, the OpenID server's certificate will be verified by one of the authorities in the oidc-ca-file, otherwise the host's root CA set will be used.
|
||||
--oidc-client-id string The client ID for the OpenID Connect client, must be set if oidc-issuer-url is set.
|
||||
--oidc-groups-claim string If provided, the name of a custom OpenID Connect claim for specifying user groups. The claim value is expected to be a string or array of strings. This flag is experimental, please see the authentication documentation for further details.
|
||||
--oidc-groups-prefix string If provided, all groups will be prefixed with this value to prevent conflicts with other authentication strategies.
|
||||
--oidc-issuer-url string The URL of the OpenID issuer, only HTTPS scheme will be accepted. If set, it will be used to verify the OIDC JSON Web Token (JWT).
|
||||
--oidc-username-claim string The OpenID claim to use as the user name. Note that claims other than the default ('sub') is not guaranteed to be unique and immutable. This flag is experimental, please see the authentication documentation for further details. (default "sub")
|
||||
--oidc-username-prefix string If provided, all usernames will be prefixed with this value. If not provided, username claims other than 'email' are prefixed by the issuer URL to avoid clashes. To skip any prefixing, provide the value '-'.
|
||||
--profiling Enable profiling via web interface host:port/debug/pprof/ (default true)
|
||||
--request-timeout duration An optional field indicating the duration a handler must keep a request open before timing it out. This is the default request timeout for requests but may be overridden by flags such as --min-request-timeout for specific types of requests. (default 1m0s)
|
||||
--requestheader-allowed-names strings List of client certificate common names to allow to provide usernames in headers specified by --requestheader-username-headers. If empty, any client certificate validated by the authorities in --requestheader-client-ca-file is allowed.
|
||||
--requestheader-client-ca-file string Root certificate bundle to use to verify client certificates on incoming requests before trusting usernames in headers specified by --requestheader-username-headers
|
||||
--requestheader-extra-headers-prefix strings List of request header prefixes to inspect. X-Remote-Extra- is suggested.
|
||||
--requestheader-group-headers strings List of request headers to inspect for groups. X-Remote-Group is suggested.
|
||||
--requestheader-username-headers strings List of request headers to inspect for usernames. X-Remote-User is common.
|
||||
--runtime-config mapStringString A set of key=value pairs that describe runtime configuration that may be passed to apiserver. <group>/<version> (or <version> for the core group) key can be used to turn on/off specific api versions. api/all is special key to control all api versions, be careful setting it false, unless you know what you do. api/legacy is deprecated, we will remove it in the future, so stop using it.
|
||||
--secure-port int The port on which to serve HTTPS with authentication and authorization. If 0, don't serve HTTPS at all. (default 6443)
|
||||
--service-account-key-file stringArray File containing PEM-encoded x509 RSA or ECDSA private or public keys, used to verify ServiceAccount tokens. If unspecified, --tls-private-key-file is used. The specified file can contain multiple keys, and the flag can be specified multiple times with different files.
|
||||
--service-account-lookup If true, validate ServiceAccount tokens exist in etcd as part of authentication. (default true)
|
||||
--storage-backend string The storage backend for persistence. Options: 'etcd3' (default), 'etcd2'.
|
||||
--storage-media-type string The media type to use to store objects in storage. Some resources or storage backends may only support a specific media type and will ignore this setting. (default "application/vnd.kubernetes.protobuf")
|
||||
--storage-versions string The per-group version to store resources in. Specified in the format "group1/version1,group2/version2,...". In the case where objects are moved from one group to the other, you may specify the format "group1=group2/v1beta1,group3/v1beta1,...". You only need to pass the groups you wish to change from the defaults. It defaults to a list of preferred versions of all registered groups, which is derived from the KUBE_API_VERSIONS environment variable. (default "admissionregistration.k8s.io/v1beta1,apps/v1beta1,authentication.k8s.io/v1,authorization.k8s.io/v1,autoscaling/v1,batch/v1,certificates.k8s.io/v1beta1,componentconfig/v1alpha1,events.k8s.io/v1beta1,extensions/v1beta1,federation/v1beta1,imagepolicy.k8s.io/v1alpha1,networking.k8s.io/v1,policy/v1beta1,rbac.authorization.k8s.io/v1,scheduling.k8s.io/v1alpha1,settings.k8s.io/v1alpha1,storage.k8s.io/v1,v1")
|
||||
--target-ram-mb int Memory limit for apiserver in MB (used to configure sizes of caches, etc.)
|
||||
--tls-cert-file string File containing the default x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to the directory specified by --cert-dir.
|
||||
--tls-cipher-suites strings Comma-separated list of cipher suites for the server. Values are from tls package constants (https://golang.org/pkg/crypto/tls/#pkg-constants). If omitted, the default Go cipher suites will be used
|
||||
--tls-min-version string Minimum TLS version supported. Value must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants.
|
||||
--tls-private-key-file string File containing the default x509 private key matching --tls-cert-file.
|
||||
--tls-sni-cert-key namedCertKey A pair of x509 certificate and private key file paths, optionally suffixed with a list of domain patterns which are fully qualified domain names, possibly with prefixed wildcard segments. If no domain patterns are provided, the names of the certificate are extracted. Non-wildcard matches trump over wildcard matches, explicit domain patterns trump over extracted names. For multiple key/certificate pairs, use the --tls-sni-cert-key multiple times. Examples: "example.crt,example.key" or "foo.crt,foo.key:*.foo.com,foo.com". (default [])
|
||||
--token-auth-file string If set, the file that will be used to secure the secure port of the API server via token authentication.
|
||||
--watch-cache Enable watch caching in the apiserver (default true)
|
||||
--watch-cache-sizes strings List of watch cache sizes for every resource (pods, nodes, etc.), comma separated. The individual override format: resource[.group]#size, where resource is lowercase plural (no version), group is optional, and size is a number. It takes effect when watch-cache is enabled. Some resources (replicationcontrollers, endpoints, nodes, pods, services, apiservices.apiregistration.k8s.io) have system defaults set by heuristics, others default to default-watch-cache-size
|
||||
```
|
||||
|
||||
###### Auto generated by spf13/cobra on 25-Mar-2018
|
|
@ -0,0 +1,59 @@
|
|||
---
|
||||
title: federation-controller-manager
|
||||
notitle: true
|
||||
weight: 110
|
||||
---
|
||||
## federation-controller-manager
|
||||
|
||||
|
||||
|
||||
### Synopsis
|
||||
|
||||
|
||||
The federation controller manager is a daemon that embeds
|
||||
the core control loops shipped with federation. In applications of robotics and
|
||||
automation, a control loop is a non-terminating loop that regulates the state of
|
||||
the system. In federation, a controller is a control loop that watches the shared
|
||||
state of the federation cluster through the apiserver and makes changes attempting
|
||||
to move the current state towards the desired state. Examples of controllers that
|
||||
ship with federation today is the cluster controller.
|
||||
|
||||
```
|
||||
federation-controller-manager [flags]
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
```
|
||||
--address ip The IP address to serve on (set to 0.0.0.0 for all interfaces) (default 0.0.0.0)
|
||||
--cluster-monitor-period duration The period for syncing ClusterStatus in ClusterController. (default 40s)
|
||||
--concurrent-job-syncs int The number of Jobs syncing operations that will be done concurrently. Larger number = faster endpoint updating, but more CPU (and network) load (default 10)
|
||||
--concurrent-replicaset-syncs int The number of ReplicaSets syncing operations that will be done concurrently. Larger number = faster endpoint updating, but more CPU (and network) load (default 10)
|
||||
--concurrent-service-syncs int The number of service syncing operations that will be done concurrently. Larger number = faster endpoint updating, but more CPU (and network) load (default 10)
|
||||
--contention-profiling Enable lock contention profiling, if profiling is enabled
|
||||
--controllers mapStringString A set of key=value pairs that describe controller configuration to enable/disable specific controllers. Key should be the resource name (like services) and value should be true or false. For example: services=false,ingresses=false
|
||||
--dns-provider string DNS provider. Valid values are: ["aws-route53" "azure-azuredns" "coredns" "google-clouddns"]
|
||||
--dns-provider-config string Path to config file for configuring DNS provider.
|
||||
--federated-api-burst int Burst to use while talking with federation apiserver (default 30)
|
||||
--federated-api-qps float32 QPS to use while talking with federation apiserver (default 20)
|
||||
--federation-name string Federation name.
|
||||
--federation-only-namespace string Name of the namespace that would be created only in federation control plane. (default "federation-only")
|
||||
-h, --help help for federation-controller-manager
|
||||
--hpa-scale-forbidden-window duration The time window wrt cluster local hpa lastscale time, during which federated hpa would not move the hpa max/min replicas around (default 2m0s)
|
||||
--kube-api-content-type string ContentType of requests sent to apiserver. Passing application/vnd.kubernetes.protobuf is an experimental feature now.
|
||||
--kubeconfig string Path to kubeconfig file with authorization and master location information.
|
||||
--leader-elect Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability.
|
||||
--leader-elect-lease-duration duration The duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. This is only applicable if leader election is enabled. (default 15s)
|
||||
--leader-elect-renew-deadline duration The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. This is only applicable if leader election is enabled. (default 10s)
|
||||
--leader-elect-resource-lock endpoints The type of resource object that is used for locking during leader election. Supported options are endpoints (default) and `configmaps`. (default "endpoints")
|
||||
--leader-elect-retry-period duration The duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled. (default 2s)
|
||||
--log-flush-frequency duration Maximum number of seconds between log flushes (default 5s)
|
||||
--master string The address of the federation API server (overrides any value in kubeconfig)
|
||||
--port int The port that the controller-manager's http service runs on (default 10253)
|
||||
--profiling Enable profiling via web interface host:port/debug/pprof/ (default true)
|
||||
--service-dns-suffix string DNS Suffix to use when publishing federated service names. Defaults to zone-name
|
||||
--zone-id string Zone ID, needed if the zone name is not unique.
|
||||
--zone-name string Zone name, like example.com.
|
||||
```
|
||||
|
||||
###### Auto generated by spf13/cobra on 25-Mar-2018
|
|
@ -0,0 +1,762 @@
|
|||
---
|
||||
title: kube-apiserver
|
||||
notitle: true
|
||||
weight: 40
|
||||
---
|
||||
## kube-apiserver
|
||||
|
||||
### Synopsis
|
||||
|
||||
The Kubernetes API server validates and configures data
|
||||
for the api objects which include pods, services, replicationcontrollers, and
|
||||
others. The API Server services REST operations and provides the frontend to the
|
||||
cluster's shared state through which all other components interact.
|
||||
|
||||
```
|
||||
kube-apiserver [flags]
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
<table style="width: 100%;">
|
||||
<colgroup>
|
||||
<col span="1" style="width: 10px;" />
|
||||
<col span="1" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">--admission-control-config-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">File with admission control configuration.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--advertise-address ip</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The IP address on which to advertise the apiserver to members of the cluster. This address must be reachable by the rest of the cluster. If blank, the --bind-address will be used. If --bind-address is unspecified, the host's default interface will be used.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--allow-privileged</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If true, allow privileged containers. [default=false]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--anonymous-auth Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enables anonymous requests to the secure port of the API server. Requests that are not rejected by another authentication method are treated as anonymous requests. Anonymous requests have a username of system:anonymous, and a group name of system:unauthenticated.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--apiserver-count int Default: 1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The number of apiservers running in the cluster, must be a positive number.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-log-batch-buffer-size int Default: 10000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The size of the buffer to store events before batching and writing. Only used in batch mode.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-log-batch-max-size int Default: 400</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The maximum size of a batch. Only used in batch mode.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-log-batch-max-wait duration Default: 30s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The amount of time to wait before force writing the batch that hadn't reached the max size. Only used in batch mode.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-log-batch-throttle-burst int Default: 15</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Maximum number of requests sent at the same moment if ThrottleQPS was not utilized before. Only used in batch mode.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-log-batch-throttle-enable</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Whether batching throttling is enabled. Only used in batch mode.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-log-batch-throttle-qps float32 Default: 10</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Maximum average number of batches per second. Only used in batch mode.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-log-format string Default: "json"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Format of saved audits. "legacy" indicates 1-line text format for each event. "json" indicates structured json format. Requires the 'AdvancedAuditing' feature gate. Known formats are legacy,json.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-log-maxage int</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The maximum number of days to retain old audit log files based on the timestamp encoded in their filename.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-log-maxbackup int</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The maximum number of old audit log files to retain.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-log-maxsize int</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The maximum size in megabytes of the audit log file before it gets rotated.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-log-mode string Default: "blocking"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Strategy for sending audit events. Blocking indicates sending events should block server responses. Batch causes the backend to buffer and write events asynchronously. Known modes are batch,blocking.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-log-path string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If set, all requests coming to the apiserver will be logged to this file. '-' means standard out.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-policy-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to the file that defines the audit policy configuration. Requires the 'AdvancedAuditing' feature gate. With AdvancedAuditing, a profile is required to enable auditing.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-webhook-batch-buffer-size int Default: 10000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The size of the buffer to store events before batching and writing. Only used in batch mode.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-webhook-batch-max-size int Default: 400</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The maximum size of a batch. Only used in batch mode.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-webhook-batch-max-wait duration Default: 30s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The amount of time to wait before force writing the batch that hadn't reached the max size. Only used in batch mode.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-webhook-batch-throttle-burst int Default: 15</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Maximum number of requests sent at the same moment if ThrottleQPS was not utilized before. Only used in batch mode.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-webhook-batch-throttle-enable Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Whether batching throttling is enabled. Only used in batch mode.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-webhook-batch-throttle-qps float32 Default: 10</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Maximum average number of batches per second. Only used in batch mode.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-webhook-config-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to a kubeconfig formatted file that defines the audit webhook configuration. Requires the 'AdvancedAuditing' feature gate.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-webhook-initial-backoff duration Default: 10s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The amount of time to wait before retrying the first failed request.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--audit-webhook-mode string Default: "batch"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Strategy for sending audit events. Blocking indicates sending events should block server responses. Batch causes the backend to buffer and write events asynchronously. Known modes are batch,blocking.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--authentication-token-webhook-cache-ttl duration Default: 2m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The duration to cache responses from the webhook token authenticator.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--authentication-token-webhook-config-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">File with webhook configuration for token authentication in kubeconfig format. The API server will query the remote service to determine authentication for bearer tokens.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--authorization-mode string Default: "AlwaysAllow"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Ordered list of plug-ins to do authorization on secure port. Comma-delimited list of: AlwaysAllow,AlwaysDeny,ABAC,Webhook,RBAC,Node.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--authorization-policy-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">File with authorization policy in csv format, used with --authorization-mode=ABAC, on the secure port.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--authorization-webhook-cache-authorized-ttl duration Default: 5m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The duration to cache 'authorized' responses from the webhook authorizer.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--authorization-webhook-cache-unauthorized-ttl duration Default: 30s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The duration to cache 'unauthorized' responses from the webhook authorizer.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--authorization-webhook-config-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">File with webhook configuration in kubeconfig format, used with --authorization-mode=Webhook. The API server will query the remote service to determine access on the API server's secure port.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--azure-container-registry-config string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to the file containing Azure container registry configuration information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--basic-auth-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If set, the file that will be used to admit requests to the secure port of the API server via http basic authentication.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--bind-address ip Default: 0.0.0.0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The IP address on which to listen for the --secure-port port. The associated interface(s) must be reachable by the rest of the cluster, and by CLI/web clients. If blank, all interfaces will be used (0.0.0.0 for all IPv4 interfaces and :: for all IPv6 interfaces).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cert-dir string Default: "/var/run/kubernetes"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The directory where the TLS certs are located. If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--client-ca-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If set, any request presenting a client certificate signed by one of the authorities in the client-ca-file is authenticated with an identity corresponding to the CommonName of the client certificate.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cloud-config string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The path to the cloud provider configuration file. Empty string for no configuration file.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cloud-provider string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The provider for cloud services. Empty string for no provider.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--contention-profiling</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enable lock contention profiling, if profiling is enabled</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cors-allowed-origins stringSlice</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">List of allowed origins for CORS, comma separated. An allowed origin can be a regular expression to support subdomain matching. If this list is empty CORS will not be enabled.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--default-watch-cache-size int Default: 100</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Default watch cache size. If zero, watch cache will be disabled for resources that do not have a default watch size set.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--delete-collection-workers int Default: 1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Number of workers spawned for DeleteCollection call. These are used to speed up namespace cleanup.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--deserialization-cache-size int</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Number of deserialized json objects to cache in memory.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--disable-admission-plugins stringSlice</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">admission plugins that should be disabled although they are in the default enabled plugins list. Comma-delimited list of admission plugins: AlwaysAdmit, AlwaysDeny, AlwaysPullImages, DefaultStorageClass, DefaultTolerationSeconds, DenyEscalatingExec, DenyExecOnPrivileged, EventRateLimit, ExtendedResourceToleration, ImagePolicyWebhook, InitialResources, Initializers, LimitPodHardAntiAffinityTopology, LimitRanger, MutatingAdmissionWebhook, NamespaceAutoProvision, NamespaceExists, NamespaceLifecycle, NodeRestriction, OwnerReferencesPermissionEnforcement, PersistentVolumeClaimResize, PersistentVolumeLabel, PodNodeSelector, PodPreset, PodSecurityPolicy, PodTolerationRestriction, Priority, ResourceQuota, SecurityContextDeny, ServiceAccount, StorageObjectInUseProtection, ValidatingAdmissionWebhook. The order of plugins in this flag does not matter.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--enable-admission-plugins stringSlice</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">admission plugins that should be enabled in addition to default enabled ones. Comma-delimited list of admission plugins: AlwaysAdmit, AlwaysDeny, AlwaysPullImages, DefaultStorageClass, DefaultTolerationSeconds, DenyEscalatingExec, DenyExecOnPrivileged, EventRateLimit, ExtendedResourceToleration, ImagePolicyWebhook, InitialResources, Initializers, LimitPodHardAntiAffinityTopology, LimitRanger, MutatingAdmissionWebhook, NamespaceAutoProvision, NamespaceExists, NamespaceLifecycle, NodeRestriction, OwnerReferencesPermissionEnforcement, PersistentVolumeClaimResize, PersistentVolumeLabel, PodNodeSelector, PodPreset, PodSecurityPolicy, PodTolerationRestriction, Priority, ResourceQuota, SecurityContextDeny, ServiceAccount, StorageObjectInUseProtection, ValidatingAdmissionWebhook. The order of plugins in this flag does not matter.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--enable-aggregator-routing</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Turns on aggregator routing requests to endoints IP rather than cluster IP.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--enable-bootstrap-token-auth</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enable to allow secrets of type 'bootstrap.kubernetes.io/token' in the 'kube-system' namespace to be used for TLS bootstrapping authentication.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--enable-garbage-collector Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enables the generic garbage collector. MUST be synced with the corresponding flag of the kube-controller-manager.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--enable-logs-handler Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If true, install a /logs handler for the apiserver logs.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--enable-swagger-ui</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enables swagger ui on the apiserver at /swagger-ui</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--endpoint-reconciler-type string Default: "master-count"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Use an endpoint reconciler (master-count, lease, none)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--etcd-cafile string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">SSL Certificate Authority file used to secure etcd communication.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--etcd-certfile string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">SSL certification file used to secure etcd communication.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="2">--etcd-compaction-interval duration Default: 5m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The interval of compaction requests. If 0, the compaction request from apiserver is disabled.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--etcd-count-metric-poll-period duration Default: 1m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Frequency of polling etcd for number of resources per type. 0 disables the metric collection.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--etcd-keyfile string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">SSL key file used to secure etcd communication.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--etcd-prefix string Default: "/registry"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The prefix to prepend to all resource paths in etcd.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--etcd-servers stringSlice</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">List of etcd servers to connect with (scheme://ip:port), comma separated.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--etcd-servers-overrides stringSlice</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Per-resource etcd servers overrides, comma separated. The individual override format: group/resource#servers, where servers are http://ip:port, semicolon separated.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--event-ttl duration Default: 1h0m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Amount of time to retain events.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--experimental-encryption-provider-config string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The file containing configuration for encryption providers to be used for storing secrets in etcd</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--external-hostname string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The hostname to use when generating externalized URLs for this master (e.g. Swagger API Docs).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--feature-gates mapStringBool</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:<br/>APIListChunking=true|false (BETA - default=true)<br/>APIResponseCompression=true|false (ALPHA - default=false)<br/>Accelerators=true|false (ALPHA - default=false)<br/>AdvancedAuditing=true|false (BETA - default=true)<br/>AllAlpha=true|false (ALPHA - default=false)<br/>AppArmor=true|false (BETA - default=true)<br/>BlockVolume=true|false (ALPHA - default=false)<br/>CPUManager=true|false (BETA - default=true)<br/>CRIContainerLogRotation=true|false (ALPHA - default=false)<br/>CSIPersistentVolume=true|false (BETA - default=true)<br/>CustomPodDNS=true|false (BETA - default=true)<br/>CustomResourceSubresources=true|false (ALPHA - default=false)<br/>CustomResourceValidation=true|false (BETA - default=true)<br/>DebugContainers=true|false (ALPHA - default=false)<br/>DevicePlugins=true|false (BETA - default=true)<br/>DynamicKubeletConfig=true|false (ALPHA - default=false)<br/>EnableEquivalenceClassCache=true|false (ALPHA - default=false)<br/>ExpandPersistentVolumes=true|false (ALPHA - default=false)<br/>ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)<br/>ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)<br/>GCERegionalPersistentDisk=true|false (BETA - default=true)<br/>HugePages=true|false (BETA - default=true)<br/>HyperVContainer=true|false (ALPHA - default=false)<br/>Initializers=true|false (ALPHA - default=false)<br/>LocalStorageCapacityIsolation=true|false (BETA - default=true)<br/>MountContainers=true|false (ALPHA - default=false)<br/>MountPropagation=true|false (BETA - default=true)<br/>PersistentLocalVolumes=true|false (BETA - default=true)<br/>PodPriority=true|false (ALPHA - default=false)<br/>PodShareProcessNamespace=true|false (ALPHA - default=false)<br/>ReadOnlyAPIDataVolumes=true|false (DEPRECATED - default=true)<br/>ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)<br/>RotateKubeletClientCertificate=true|false (BETA - default=true)<br/>RotateKubeletServerCertificate=true|false (ALPHA - default=false)<br/>RunAsGroup=true|false (ALPHA - default=false)<br/>ScheduleDaemonSetPods=true|false (ALPHA - default=false)<br/>ServiceNodeExclusion=true|false (ALPHA - default=false)<br/>ServiceProxyAllowExternalIPs=true|false (DEPRECATED - default=false)<br/>StorageObjectInUseProtection=true|false (BETA - default=true)<br/>StreamingProxyRedirects=true|false (BETA - default=true)<br/>SupportIPVSProxyMode=true|false (BETA - default=true)<br/>SupportPodPidsLimit=true|false (ALPHA - default=false)<br/>TaintBasedEvictions=true|false (ALPHA - default=false)<br/>TaintNodesByCondition=true|false (ALPHA - default=false)<br/>TokenRequest=true|false (ALPHA - default=false)<br/>VolumeScheduling=true|false (BETA - default=true)<br/>VolumeSubpath=true|false (default=true)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">-h, --help</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">help for kube-apiserver</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--http2-max-streams-per-connection int</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The limit that the server gives to clients for the maximum number of streams in an HTTP/2 connection. Zero means to use golang's default.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kubelet-certificate-authority string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to a cert file for the certificate authority.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kubelet-client-certificate string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to a client cert file for TLS.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kubelet-client-key string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to a client key file for TLS.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kubelet-https Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Use https for kubelet connections.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="2">--kubelet-preferred-address-types stringSlice Default: [Hostname,InternalDNS,InternalIP,ExternalDNS,ExternalIP]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">List of the preferred NodeAddressTypes to use for kubelet connections.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kubelet-read-only-port uint Default: 10255</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">DEPRECATED: kubelet port.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kubelet-timeout duration Default: 5s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Timeout for kubelet operations.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kubernetes-service-node-port int</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If non-zero, the Kubernetes master service (which apiserver creates/maintains) will be of type NodePort, using this as the value of the port. If zero, the Kubernetes master service will be of type ClusterIP.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--log-flush-frequency duration Default: 5s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Maximum number of seconds between log flushes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--master-service-namespace string Default: "default"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">DEPRECATED: the namespace from which the kubernetes master services should be injected into pods.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--max-connection-bytes-per-sec int</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If non-zero, throttle each user connection to this number of bytes/sec. Currently only applies to long-running requests.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--max-mutating-requests-inflight int Default: 200</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The maximum number of mutating requests in flight at a given time. When the server exceeds this, it rejects requests. Zero for no limit.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--max-requests-inflight int Default: 400</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The maximum number of non-mutating requests in flight at a given time. When the server exceeds this, it rejects requests. Zero for no limit.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--min-request-timeout int Default: 1800</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">An optional field indicating the minimum number of seconds a handler must keep a request open before timing it out. Currently only honored by the watch request handler, which picks a randomized value above this number as the connection timeout, to spread out load.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--oidc-ca-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If set, the OpenID server's certificate will be verified by one of the authorities in the oidc-ca-file, otherwise the host's root CA set will be used.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--oidc-client-id string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The client ID for the OpenID Connect client, must be set if oidc-issuer-url is set.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--oidc-groups-claim string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If provided, the name of a custom OpenID Connect claim for specifying user groups. The claim value is expected to be a string or array of strings. This flag is experimental, please see the authentication documentation for further details.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--oidc-groups-prefix string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If provided, all groups will be prefixed with this value to prevent conflicts with other authentication strategies.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--oidc-issuer-url string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The URL of the OpenID issuer, only HTTPS scheme will be accepted. If set, it will be used to verify the OIDC JSON Web Token (JWT).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--oidc-signing-algs stringSlice Default: [RS256]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Comma-separated list of allowed JOSE asymmetric signing algorithms. JWTs with a 'alg' header value not in this list will be rejected. Values are defined by RFC 7518 https://tools.ietf.org/html/rfc7518#section-3.1.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--oidc-username-claim string Default: "sub"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The OpenID claim to use as the user name. Note that claims other than the default ('sub') is not guaranteed to be unique and immutable. This flag is experimental, please see the authentication documentation for further details.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--oidc-username-prefix string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If provided, all usernames will be prefixed with this value. If not provided, username claims other than 'email' are prefixed by the issuer URL to avoid clashes. To skip any prefixing, provide the value '-'.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--profiling Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enable profiling via web interface host:port/debug/pprof/</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--proxy-client-cert-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Client certificate used to prove the identity of the aggregator or kube-apiserver when it must call out during a request. This includes proxying requests to a user api-server and calling out to webhook admission plugins. It is expected that this cert includes a signature from the CA in the --requestheader-client-ca-file flag. That CA is published in the 'extension-apiserver-authentication' configmap in the kube-system namespace. Components receiving calls from kube-aggregator should use that CA to perform their half of the mutual TLS verification.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--proxy-client-key-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Private key for the client certificate used to prove the identity of the aggregator or kube-apiserver when it must call out during a request. This includes proxying requests to a user api-server and calling out to webhook admission plugins.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--repair-malformed-updates Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If true, server will do its best to fix the update request to pass the validation, e.g., setting empty UID in update request to its existing value. This flag can be turned off after we fix all the clients that send malformed updates.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--request-timeout duration Default: 1m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">An optional field indicating the duration a handler must keep a request open before timing it out. This is the default request timeout for requests but may be overridden by flags such as --min-request-timeout for specific types of requests.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--requestheader-allowed-names stringSlice</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">List of client certificate common names to allow to provide usernames in headers specified by --requestheader-username-headers. If empty, any client certificate validated by the authorities in --requestheader-client-ca-file is allowed.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--requestheader-client-ca-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Root certificate bundle to use to verify client certificates on incoming requests before trusting usernames in headers specified by --requestheader-username-headers</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--requestheader-extra-headers-prefix stringSlice</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">List of request header prefixes to inspect. X-Remote-Extra- is suggested.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--requestheader-group-headers stringSlice</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">List of request headers to inspect for groups. X-Remote-Group is suggested.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--requestheader-username-headers stringSlice</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">List of request headers to inspect for usernames. X-Remote-User is common.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--runtime-config mapStringString</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A set of key=value pairs that describe runtime configuration that may be passed to apiserver. <group>/<version> (or <version> for the core group) key can be used to turn on/off specific api versions. <group>/<version>/<resource> (or <version>/<resource> for the core group) can be used to turn on/off specific resources. api/all and api/legacy are special keys to control all and legacy api versions respectively.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--secure-port int Default: 6443</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The port on which to serve HTTPS with authentication and authorization. If 0, don't serve HTTPS at all.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--service-account-api-audiences stringSlice</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Identifiers of the API. The service account token authenticator will validate that tokens used against the API are bound to at least one of these audiences.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--service-account-issuer string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Identifier of the service account token issuer. The issuer will assert this identifier in "iss" claim of issued tokens. This value is a string or URI.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--service-account-key-file stringArray</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">File containing PEM-encoded x509 RSA or ECDSA private or public keys, used to verify ServiceAccount tokens. The specified file can contain multiple keys, and the flag can be specified multiple times with different files. If unspecified, --tls-private-key-file is used. Must be specified when --service-account-signing-key is provided</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--service-account-lookup Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If true, validate ServiceAccount tokens exist in etcd as part of authentication.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--service-account-signing-key-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to the file that contains the current private key of the service account token issuer. The issuer will sign issued ID tokens with this private key. (Ignored unless alpha TokenRequest is enabled</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--service-cluster-ip-range ipNet Default: 10.0.0.0/24</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A CIDR notation IP range from which to assign service cluster IPs. This must not overlap with any IP ranges assigned to nodes for pods.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--service-node-port-range portRange Default: 30000-32767</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A port range to reserve for services with NodePort visibility. Example: '30000-32767'. Inclusive at both ends of the range.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--storage-backend string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The storage backend for persistence. Options: 'etcd3' (default), 'etcd2'.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--storage-media-type string Default: "application/vnd.kubernetes.protobuf"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The media type to use to store objects in storage. Some resources or storage backends may only support a specific media type and will ignore this setting.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--storage-versions string Default: "admission.k8s.io/v1beta1,<br />admissionregistration.k8s.io/v1beta1,<br />apps/v1,<br />authentication.k8s.io/v1,<br />authorization.k8s.io/v1,<br />autoscaling/v1,<br />batch/v1,<br />certificates.k8s.io/v1beta1,<br />componentconfig/v1alpha1,<br />events.k8s.io/v1beta1,<br />extensions/v1beta1,<br />imagepolicy.k8s.io/v1alpha1,<br />kubeadm.k8s.io/v1alpha1,<br />networking.k8s.io/v1,<br />policy/v1beta1,<br />rbac.authorization.k8s.io/v1,<br />scheduling.k8s.io/v1alpha1,<br />settings.k8s.io/v1alpha1,<br />storage.k8s.io/v1,<br />v1"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The per-group version to store resources in. Specified in the format "group1/version1,group2/version2,...". In the case where objects are moved from one group to the other, you may specify the format "group1=group2/v1beta1,group3/v1beta1,...". You only need to pass the groups you wish to change from the defaults. It defaults to a list of preferred versions of all registered groups, which is derived from the KUBE_API_VERSIONS environment variable.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--target-ram-mb int</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Memory limit for apiserver in MB (used to configure sizes of caches, etc.)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--tls-cert-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">File containing the default x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to the directory specified by --cert-dir.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--tls-cipher-suites stringSlice</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Comma-separated list of cipher suites for the server. Values are from tls package constants (https://golang.org/pkg/crypto/tls/#pkg-constants). If omitted, the default Go cipher suites will be used</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--tls-min-version string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Minimum TLS version supported. Value must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--tls-private-key-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">File containing the default x509 private key matching --tls-cert-file.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--tls-sni-cert-key namedCertKey Default: []</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A pair of x509 certificate and private key file paths, optionally suffixed with a list of domain patterns which are fully qualified domain names, possibly with prefixed wildcard segments. If no domain patterns are provided, the names of the certificate are extracted. Non-wildcard matches trump over wildcard matches, explicit domain patterns trump over extracted names. For multiple key/certificate pairs, use the --tls-sni-cert-key multiple times. Examples: "example.crt,example.key" or "foo.crt,foo.key:*.foo.com,foo.com".</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--token-auth-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If set, the file that will be used to secure the secure port of the API server via token authentication.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--version version[=true]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Print version information and quit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--watch-cache Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enable watch caching in the apiserver</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--watch-cache-sizes stringSlice</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">List of watch cache sizes for every resource (pods, nodes, etc.), comma separated. The individual override format: resource[.group]#size, where resource is lowercase plural (no version), group is optional, and size is a number. It takes effect when watch-cache is enabled. Some resources (replicationcontrollers, endpoints, nodes, pods, services, apiservices.apiregistration.k8s.io) have system defaults set by heuristics, others default to default-watch-cache-size</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
|
@ -0,0 +1,566 @@
|
|||
---
|
||||
title: kube-controller-manager
|
||||
notitle: true
|
||||
weight: 50
|
||||
---
|
||||
## kube-controller-manager
|
||||
|
||||
### Synopsis
|
||||
|
||||
The Kubernetes controller manager is a daemon that embeds
|
||||
the core control loops shipped with Kubernetes. In applications of robotics and
|
||||
automation, a control loop is a non-terminating loop that regulates the state of
|
||||
the system. In Kubernetes, a controller is a control loop that watches the shared
|
||||
state of the cluster through the apiserver and makes changes attempting to move the
|
||||
current state towards the desired state. Examples of controllers that ship with
|
||||
Kubernetes today are the replication controller, endpoints controller, namespace
|
||||
controller, and serviceaccounts controller.
|
||||
|
||||
```
|
||||
kube-controller-manager [flags]
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
<table style="width: 100%;">
|
||||
<colgroup>
|
||||
<col span="1" style="width: 10px;" />
|
||||
<col span="1" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">--address ip Default: 0.0.0.0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">DEPRECATED: the IP address on which to listen for the --port port. See --bind-address instead.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--allocate-node-cidrs</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Should CIDRs for Pods be allocated and set on the cloud provider.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--attach-detach-reconcile-sync-period duration Default: 1m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The reconciler sync wait time between volume attach detach. This duration must be larger than one second, and increasing this value from the default may allow for volumes to be mismatched with pods.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--azure-container-registry-config string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to the file containing Azure container registry configuration information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--bind-address ip Default: 0.0.0.0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The IP address on which to listen for the --secure-port port. The associated interface(s) must be reachable by the rest of the cluster, and by CLI/web clients. If blank, all interfaces will be used (0.0.0.0 for all IPv4 interfaces and :: for all IPv6 interfaces).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cert-dir string Default: "/var/run/kubernetes"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The directory where the TLS certs are located. If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cidr-allocator-type string Default: "RangeAllocator"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Type of CIDR allocator to use</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cloud-config string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The path to the cloud provider configuration file. Empty string for no configuration file.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cloud-provider string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The provider for cloud services. Empty string for no provider.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cluster-cidr string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">CIDR Range for Pods in cluster. Requires --allocate-node-cidrs to be true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cluster-name string Default: "kubernetes"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The instance prefix for the cluster.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cluster-signing-cert-file string Default: "/etc/kubernetes/ca/ca.pem"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Filename containing a PEM-encoded X509 CA certificate used to issue cluster-scoped certificates</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cluster-signing-key-file string Default: "/etc/kubernetes/ca/ca.key"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Filename containing a PEM-encoded RSA or ECDSA private key used to sign cluster-scoped certificates</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--concurrent-deployment-syncs int32 Default: 5</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The number of deployment objects that are allowed to sync concurrently. Larger number = more responsive deployments, but more CPU (and network) load</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--concurrent-endpoint-syncs int32 Default: 5</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The number of endpoint syncing operations that will be done concurrently. Larger number = faster endpoint updating, but more CPU (and network) load</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--concurrent-gc-syncs int32 Default: 20</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The number of garbage collector workers that are allowed to sync concurrently.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--concurrent-namespace-syncs int32 Default: 10</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The number of namespace objects that are allowed to sync concurrently. Larger number = more responsive namespace termination, but more CPU (and network) load</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--concurrent-replicaset-syncs int32 Default: 5</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The number of replica sets that are allowed to sync concurrently. Larger number = more responsive replica management, but more CPU (and network) load</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--concurrent-resource-quota-syncs int32 Default: 5</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The number of resource quotas that are allowed to sync concurrently. Larger number = more responsive quota management, but more CPU (and network) load</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--concurrent-service-syncs int32 Default: 1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The number of services that are allowed to sync concurrently. Larger number = more responsive service management, but more CPU (and network) load</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--concurrent-serviceaccount-token-syncs int32 Default: 5</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The number of service account token objects that are allowed to sync concurrently. Larger number = more responsive token generation, but more CPU (and network) load</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--concurrent_rc_syncs int32 Default: 5</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The number of replication controllers that are allowed to sync concurrently. Larger number = more responsive replica management, but more CPU (and network) load</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--configure-cloud-routes Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Should CIDRs allocated by allocate-node-cidrs be configured on the cloud provider.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--contention-profiling</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enable lock contention profiling, if profiling is enabled.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--controller-start-interval duration</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Interval between starting controller managers.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--controllers stringSlice Default: [*]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A list of controllers to enable. '*' enables all on-by-default controllers, 'foo' enables the controller named 'foo', '-foo' disables the controller named 'foo'.<br/>All controllers: attachdetach, bootstrapsigner, clusterrole-aggregation, cronjob, csrapproving, csrcleaner, csrsigning, daemonset, deployment, disruption, endpoint, garbagecollector, horizontalpodautoscaling, job, namespace, nodeipam, nodelifecycle, persistentvolume-binder, persistentvolume-expander, podgc, pv-protection, pvc-protection, replicaset, replicationcontroller, resourcequota, route, service, serviceaccount, serviceaccount-token, statefulset, tokencleaner, ttl<br/>Disabled-by-default controllers: bootstrapsigner, tokencleaner</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--deployment-controller-sync-period duration Default: 30s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Period for syncing the deployments.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--disable-attach-detach-reconcile-sync</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Disable volume attach detach reconciler sync. Disabling this may cause volumes to be mismatched with pods. Use wisely.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--enable-dynamic-provisioning Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enable dynamic provisioning for environments that support it.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--enable-garbage-collector Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enables the generic garbage collector. MUST be synced with the corresponding flag of the kube-apiserver.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--enable-hostpath-provisioner</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enable HostPath PV provisioning when running without a cloud provider. This allows testing and development of provisioning features. HostPath provisioning is not supported in any way, won't work in a multi-node cluster, and should not be used for anything other than testing or development.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--enable-taint-manager Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">WARNING: Beta feature. If set to true enables NoExecute Taints and will evict all not-tolerating Pod running on Nodes tainted with this kind of Taints.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--experimental-cluster-signing-duration duration Default: 8760h0m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The length of duration signed certificates will be given.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--external-cloud-volume-plugin string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The plugin to use when cloud provider is set to external. Can be empty, should only be set when cloud-provider is external. Currently used to allow node and volume controllers to work for in tree cloud providers.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--feature-gates mapStringBool</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:<br/>APIListChunking=true|false (BETA - default=true)<br/>APIResponseCompression=true|false (ALPHA - default=false)<br/>Accelerators=true|false (ALPHA - default=false)<br/>AdvancedAuditing=true|false (BETA - default=true)<br/>AllAlpha=true|false (ALPHA - default=false)<br/>AppArmor=true|false (BETA - default=true)<br/>BlockVolume=true|false (ALPHA - default=false)<br/>CPUManager=true|false (BETA - default=true)<br/>CRIContainerLogRotation=true|false (ALPHA - default=false)<br/>CSIPersistentVolume=true|false (BETA - default=true)<br/>CustomPodDNS=true|false (BETA - default=true)<br/>CustomResourceSubresources=true|false (ALPHA - default=false)<br/>CustomResourceValidation=true|false (BETA - default=true)<br/>DebugContainers=true|false (ALPHA - default=false)<br/>DevicePlugins=true|false (BETA - default=true)<br/>DynamicKubeletConfig=true|false (ALPHA - default=false)<br/>EnableEquivalenceClassCache=true|false (ALPHA - default=false)<br/>ExpandPersistentVolumes=true|false (ALPHA - default=false)<br/>ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)<br/>ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)<br/>GCERegionalPersistentDisk=true|false (BETA - default=true)<br/>HugePages=true|false (BETA - default=true)<br/>HyperVContainer=true|false (ALPHA - default=false)<br/>Initializers=true|false (ALPHA - default=false)<br/>LocalStorageCapacityIsolation=true|false (BETA - default=true)<br/>MountContainers=true|false (ALPHA - default=false)<br/>MountPropagation=true|false (BETA - default=true)<br/>PersistentLocalVolumes=true|false (BETA - default=true)<br/>PodPriority=true|false (ALPHA - default=false)<br/>PodShareProcessNamespace=true|false (ALPHA - default=false)<br/>ReadOnlyAPIDataVolumes=true|false (DEPRECATED - default=true)<br/>ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)<br/>RotateKubeletClientCertificate=true|false (BETA - default=true)<br/>RotateKubeletServerCertificate=true|false (ALPHA - default=false)<br/>RunAsGroup=true|false (ALPHA - default=false)<br/>ScheduleDaemonSetPods=true|false (ALPHA - default=false)<br/>ServiceNodeExclusion=true|false (ALPHA - default=false)<br/>ServiceProxyAllowExternalIPs=true|false (DEPRECATED - default=false)<br/>StorageObjectInUseProtection=true|false (BETA - default=true)<br/>StreamingProxyRedirects=true|false (BETA - default=true)<br/>SupportIPVSProxyMode=true|false (BETA - default=true)<br/>SupportPodPidsLimit=true|false (ALPHA - default=false)<br/>TaintBasedEvictions=true|false (ALPHA - default=false)<br/>TaintNodesByCondition=true|false (ALPHA - default=false)<br/>TokenRequest=true|false (ALPHA - default=false)<br/>VolumeScheduling=true|false (BETA - default=true)<br/>VolumeSubpath=true|false (default=true)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--flex-volume-plugin-dir string Default: "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Full path of the directory in which the flex volume plugin should search for additional third party volume plugins.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">-h, --help</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">help for kube-controller-manager</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--horizontal-pod-autoscaler-downscale-delay duration Default: 5m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The period since last downscale, before another downscale can be performed in horizontal pod autoscaler.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--horizontal-pod-autoscaler-sync-period duration Default: 30s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The period for syncing the number of pods in horizontal pod autoscaler.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--horizontal-pod-autoscaler-tolerance float Default: 0.1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The minimum change (from 1.0) in the desired-to-actual metrics ratio for the horizontal pod autoscaler to consider scaling.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--horizontal-pod-autoscaler-upscale-delay duration Default: 3m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The period since last upscale, before another upscale can be performed in horizontal pod autoscaler.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--horizontal-pod-autoscaler-use-rest-clients Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">WARNING: alpha feature. If set to true, causes the horizontal pod autoscaler controller to use REST clients through the kube-aggregator, instead of using the legacy metrics client through the API server proxy. This is required for custom metrics support in the horizontal pod autoscaler.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--http2-max-streams-per-connection int</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The limit that the server gives to clients for the maximum number of streams in an HTTP/2 connection. Zero means to use golang's default.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--insecure-experimental-approve-all-kubelet-csrs-for-group string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">This flag does nothing.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kube-api-burst int32 Default: 30</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Burst to use while talking with kubernetes apiserver.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kube-api-content-type string Default: "application/vnd.kubernetes.protobuf"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Content type of requests sent to apiserver.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kube-api-qps float32 Default: 20</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">QPS to use while talking with kubernetes apiserver.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kubeconfig string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to kubeconfig file with authorization and master location information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--large-cluster-size-threshold int32 Default: 50</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Number of nodes from which NodeController treats the cluster as large for the eviction logic purposes. --secondary-node-eviction-rate is implicitly overridden to 0 for clusters this size or smaller.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--leader-elect Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--leader-elect-lease-duration duration Default: 15s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. This is only applicable if leader election is enabled.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--leader-elect-renew-deadline duration Default: 10s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. This is only applicable if leader election is enabled.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--leader-elect-resource-lock endpoints Default: "endpoints"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The type of resource object that is used for locking during leader election. Supported options are endpoints (default) and `configmaps`.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--leader-elect-retry-period duration Default: 2s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--log-flush-frequency duration Default: 5s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Maximum number of seconds between log flushes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--master string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The address of the Kubernetes API server (overrides any value in kubeconfig).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--min-resync-period duration Default: 12h0m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The resync period in reflectors will be random between MinResyncPeriod and 2*MinResyncPeriod.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--namespace-sync-period duration Default: 5m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The period for syncing namespace life-cycle updates</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--node-cidr-mask-size int32 Default: 24</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Mask size for node cidr in cluster.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--node-eviction-rate float32 Default: 0.1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Number of nodes per second on which pods are deleted in case of node failure when a zone is healthy (see --unhealthy-zone-threshold for definition of healthy/unhealthy). Zone refers to entire cluster in non-multizone clusters.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--node-monitor-grace-period duration Default: 40s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Amount of time which we allow running Node to be unresponsive before marking it unhealthy. Must be N times more than kubelet's nodeStatusUpdateFrequency, where N means number of retries allowed for kubelet to post node status.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--node-monitor-period duration Default: 5s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The period for syncing NodeStatus in NodeController.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--node-startup-grace-period duration Default: 1m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Amount of time which we allow starting Node to be unresponsive before marking it unhealthy.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--pod-eviction-timeout duration Default: 5m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The grace period for deleting pods on failed nodes.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--port int Default: 10252</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">DEPRECATED: the port on which to serve HTTP insecurely without authentication and authorization. If 0, don't serve HTTPS at all. See --secure-port instead.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--profiling Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enable profiling via web interface host:port/debug/pprof/</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--pv-recycler-increment-timeout-nfs int32 Default: 30</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">the increment of time added per Gi to ActiveDeadlineSeconds for an NFS scrubber pod</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--pv-recycler-minimum-timeout-hostpath int32 Default: 60</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The minimum ActiveDeadlineSeconds to use for a HostPath Recycler pod. This is for development and testing only and will not work in a multi-node cluster.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--pv-recycler-minimum-timeout-nfs int32 Default: 300</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The minimum ActiveDeadlineSeconds to use for an NFS Recycler pod</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--pv-recycler-pod-template-filepath-hostpath string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The file path to a pod definition used as a template for HostPath persistent volume recycling. This is for development and testing only and will not work in a multi-node cluster.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--pv-recycler-pod-template-filepath-nfs string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The file path to a pod definition used as a template for NFS persistent volume recycling</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--pv-recycler-timeout-increment-hostpath int32 Default: 30</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">the increment of time added per Gi to ActiveDeadlineSeconds for a HostPath scrubber pod. This is for development and testing only and will not work in a multi-node cluster.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--pvclaimbinder-sync-period duration Default: 15s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The period for syncing persistent volumes and persistent volume claims</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--resource-quota-sync-period duration Default: 5m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The period for syncing quota usage status in the system</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--root-ca-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If set, this root certificate authority will be included in service account's token secret. This must be a valid PEM-encoded CA bundle.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--route-reconciliation-period duration Default: 10s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The period for reconciling routes created for Nodes by cloud provider.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--secondary-node-eviction-rate float32 Default: 0.01</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Number of nodes per second on which pods are deleted in case of node failure when a zone is unhealthy (see --unhealthy-zone-threshold for definition of healthy/unhealthy). Zone refers to entire cluster in non-multizone clusters. This value is implicitly overridden to 0 if the cluster size is smaller than --large-cluster-size-threshold.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--secure-port int</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The port on which to serve HTTPS with authentication and authorization. If 0, don't serve HTTPS at all.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--service-account-private-key-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Filename containing a PEM-encoded private RSA or ECDSA key used to sign service account tokens.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--service-cluster-ip-range string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">CIDR Range for Services in cluster. Requires --allocate-node-cidrs to be true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--terminated-pod-gc-threshold int32 Default: 12500</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Number of terminated pods that can exist before the terminated pod garbage collector starts deleting terminated pods. If <= 0, the terminated pod garbage collector is disabled.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--tls-cert-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">File containing the default x509 Certificate for HTTPS. (CA cert, if any, concatenated after server cert). If HTTPS serving is enabled, and --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to the directory specified by --cert-dir.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--tls-cipher-suites stringSlice</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Comma-separated list of cipher suites for the server. Values are from tls package constants (https://golang.org/pkg/crypto/tls/#pkg-constants). If omitted, the default Go cipher suites will be used</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--tls-min-version string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Minimum TLS version supported. Value must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--tls-private-key-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">File containing the default x509 private key matching --tls-cert-file.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--tls-sni-cert-key namedCertKey Default: []</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A pair of x509 certificate and private key file paths, optionally suffixed with a list of domain patterns which are fully qualified domain names, possibly with prefixed wildcard segments. If no domain patterns are provided, the names of the certificate are extracted. Non-wildcard matches trump over wildcard matches, explicit domain patterns trump over extracted names. For multiple key/certificate pairs, use the --tls-sni-cert-key multiple times. Examples: "example.crt,example.key" or "foo.crt,foo.key:*.foo.com,foo.com".</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--unhealthy-zone-threshold float32 Default: 0.55</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Fraction of Nodes in a zone which needs to be not Ready (minimum 3) for zone to be treated as unhealthy. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--use-service-account-credentials</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If true, use individual service account credentials for each controller.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--version version[=true]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Print version information and quit</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
|
@ -0,0 +1,259 @@
|
|||
---
|
||||
title: kube-proxy
|
||||
notitle: true
|
||||
weight: 60
|
||||
---
|
||||
## kube-proxy
|
||||
|
||||
### Synopsis
|
||||
|
||||
The Kubernetes network proxy runs on each node. This
|
||||
reflects services as defined in the Kubernetes API on each node and can do simple
|
||||
TCP and UDP stream forwarding or round robin TCP and UDP forwarding across a set of backends.
|
||||
Service cluster IPs and ports are currently found through Docker-links-compatible
|
||||
environment variables specifying ports opened by the service proxy. There is an optional
|
||||
addon that provides cluster DNS for these cluster IPs. The user must create a service
|
||||
with the apiserver API to configure the proxy.
|
||||
|
||||
```
|
||||
kube-proxy [flags]
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
<table style="width: 100%;">
|
||||
<colgroup>
|
||||
<col span="1" style="width: 10px;" />
|
||||
<col span="1" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">--azure-container-registry-config string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to the file containing Azure container registry configuration information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--bind-address 0.0.0.0 Default: 0.0.0.0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The IP address for the proxy server to serve on (set to 0.0.0.0 for all IPv4 interfaces and `::` for all IPv6 interfaces)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cleanup</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If true cleanup iptables and ipvs rules and exit.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cleanup-ipvs Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If true make kube-proxy cleanup ipvs rules before running. Default is true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cluster-cidr string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The CIDR range of pods in the cluster. When configured, traffic sent to a Service cluster IP from outside this range will be masqueraded and traffic sent from pods to an external LoadBalancer IP will be directed to the respective cluster IP instead</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--config string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The path to the configuration file.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--config-sync-period duration Default: 15m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">How often configuration from the apiserver is refreshed. Must be greater than 0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--conntrack-max-per-core int32 Default: 32768</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Maximum number of NAT connections to track per CPU core (0 to leave the limit as-is and ignore conntrack-min).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--conntrack-min int32 Default: 131072</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Minimum number of conntrack entries to allocate, regardless of conntrack-max-per-core (set conntrack-max-per-core=0 to leave the limit as-is).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--conntrack-tcp-timeout-close-wait duration Default: 1h0m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">NAT timeout for TCP connections in the CLOSE_WAIT state</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--conntrack-tcp-timeout-established duration Default: 24h0m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Idle timeout for established TCP connections (0 to leave as-is)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--feature-gates mapStringBool</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:<br/>APIListChunking=true|false (BETA - default=true)<br/>APIResponseCompression=true|false (ALPHA - default=false)<br/>Accelerators=true|false (ALPHA - default=false)<br/>AdvancedAuditing=true|false (BETA - default=true)<br/>AllAlpha=true|false (ALPHA - default=false)<br/>AppArmor=true|false (BETA - default=true)<br/>BlockVolume=true|false (ALPHA - default=false)<br/>CPUManager=true|false (BETA - default=true)<br/>CRIContainerLogRotation=true|false (ALPHA - default=false)<br/>CSIPersistentVolume=true|false (BETA - default=true)<br/>CustomPodDNS=true|false (BETA - default=true)<br/>CustomResourceSubresources=true|false (ALPHA - default=false)<br/>CustomResourceValidation=true|false (BETA - default=true)<br/>DebugContainers=true|false (ALPHA - default=false)<br/>DevicePlugins=true|false (BETA - default=true)<br/>DynamicKubeletConfig=true|false (ALPHA - default=false)<br/>EnableEquivalenceClassCache=true|false (ALPHA - default=false)<br/>ExpandPersistentVolumes=true|false (ALPHA - default=false)<br/>ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)<br/>ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)<br/>GCERegionalPersistentDisk=true|false (BETA - default=true)<br/>HugePages=true|false (BETA - default=true)<br/>HyperVContainer=true|false (ALPHA - default=false)<br/>Initializers=true|false (ALPHA - default=false)<br/>LocalStorageCapacityIsolation=true|false (BETA - default=true)<br/>MountContainers=true|false (ALPHA - default=false)<br/>MountPropagation=true|false (BETA - default=true)<br/>PersistentLocalVolumes=true|false (BETA - default=true)<br/>PodPriority=true|false (ALPHA - default=false)<br/>PodShareProcessNamespace=true|false (ALPHA - default=false)<br/>ReadOnlyAPIDataVolumes=true|false (DEPRECATED - default=true)<br/>ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)<br/>RotateKubeletClientCertificate=true|false (BETA - default=true)<br/>RotateKubeletServerCertificate=true|false (ALPHA - default=false)<br/>RunAsGroup=true|false (ALPHA - default=false)<br/>ScheduleDaemonSetPods=true|false (ALPHA - default=false)<br/>ServiceNodeExclusion=true|false (ALPHA - default=false)<br/>ServiceProxyAllowExternalIPs=true|false (DEPRECATED - default=false)<br/>StorageObjectInUseProtection=true|false (BETA - default=true)<br/>StreamingProxyRedirects=true|false (BETA - default=true)<br/>SupportIPVSProxyMode=true|false (BETA - default=true)<br/>SupportPodPidsLimit=true|false (ALPHA - default=false)<br/>TaintBasedEvictions=true|false (ALPHA - default=false)<br/>TaintNodesByCondition=true|false (ALPHA - default=false)<br/>TokenRequest=true|false (ALPHA - default=false)<br/>VolumeScheduling=true|false (BETA - default=true)<br/>VolumeSubpath=true|false (default=true)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--healthz-bind-address 0.0.0.0 Default: 0.0.0.0:10256</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The IP address and port for the health check server to serve on (set to 0.0.0.0 for all IPv4 interfaces and `::` for all IPv6 interfaces)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--healthz-port int32 Default: 10256</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The port to bind the health check server. Use 0 to disable.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">-h, --help</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">help for kube-proxy</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--hostname-override string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If non-empty, will use this string as identification instead of the actual hostname.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--iptables-masquerade-bit int32 Default: 14</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If using the pure iptables proxy, the bit of the fwmark space to mark packets requiring SNAT with. Must be within the range [0, 31].</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--iptables-min-sync-period duration</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The minimum interval of how often the iptables rules can be refreshed as endpoints and services change (e.g. '5s', '1m', '2h22m').</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--iptables-sync-period duration Default: 30s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The maximum interval of how often iptables rules are refreshed (e.g. '5s', '1m', '2h22m'). Must be greater than 0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--ipvs-min-sync-period duration</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The minimum interval of how often the ipvs rules can be refreshed as endpoints and services change (e.g. '5s', '1m', '2h22m').</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--ipvs-scheduler string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The ipvs scheduler type when proxy mode is ipvs</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--ipvs-sync-period duration Default: 30s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The maximum interval of how often ipvs rules are refreshed (e.g. '5s', '1m', '2h22m'). Must be greater than 0.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kube-api-burst int32 Default: 10</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Burst to use while talking with kubernetes apiserver</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kube-api-content-type string Default: "application/vnd.kubernetes.protobuf"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Content type of requests sent to apiserver.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kube-api-qps float32 Default: 5</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">QPS to use while talking with kubernetes apiserver</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kubeconfig string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to kubeconfig file with authorization information (the master location is set by the master flag).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--log-flush-frequency duration Default: 5s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Maximum number of seconds between log flushes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--masquerade-all</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If using the pure iptables proxy, SNAT all traffic sent via Service cluster IPs (this not commonly needed)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--master string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The address of the Kubernetes API server (overrides any value in kubeconfig)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--metrics-bind-address 0.0.0.0 Default: 127.0.0.1:10249</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The IP address and port for the metrics server to serve on (set to 0.0.0.0 for all IPv4 interfaces and `::` for all IPv6 interfaces)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--nodeport-addresses stringSlice</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A string slice of values which specify the addresses to use for NodePorts. Values may be valid IP blocks (e.g. 1.2.3.0/24, 1.2.3.4/32). The default empty string slice ([]) means to use all local addresses.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--oom-score-adj int32 Default: -999</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The oom-score-adj value for kube-proxy process. Values must be within the range [-1000, 1000]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--profiling</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If true enables profiling via web interface on /debug/pprof handler.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--proxy-mode ProxyMode</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Which proxy mode to use: 'userspace' (older) or 'iptables' (faster) or 'ipvs' (experimental). If blank, use the best-available proxy (currently iptables). 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.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--proxy-port-range port-range</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Range of host ports (beginPort-endPort, inclusive) that may be consumed in order to proxy service traffic. If unspecified (0-0) then ports will be randomly chosen.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--udp-timeout duration Default: 250ms</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">How long an idle UDP connection will be kept open (e.g. '250ms', '2s'). Must be greater than 0. Only applicable for proxy-mode=userspace</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--version version[=true]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Print version information and quit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--write-config-to string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If set, write the default configuration values to this file and exit.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
|
@ -0,0 +1,199 @@
|
|||
---
|
||||
title: kube-scheduler
|
||||
notitle: true
|
||||
weight: 70
|
||||
---
|
||||
## kube-scheduler
|
||||
|
||||
### Synopsis
|
||||
|
||||
The Kubernetes scheduler is a policy-rich, topology-aware,
|
||||
workload-specific function that significantly impacts availability, performance,
|
||||
and capacity. The scheduler needs to take into account individual and collective
|
||||
resource requirements, quality of service requirements, hardware/software/policy
|
||||
constraints, affinity and anti-affinity specifications, data locality, inter-workload
|
||||
interference, deadlines, and so on. Workload-specific requirements will be exposed
|
||||
through the API as necessary.
|
||||
|
||||
```
|
||||
kube-scheduler [flags]
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
<table style="width: 100%;">
|
||||
<colgroup>
|
||||
<col span="1" style="width: 10px;" />
|
||||
<col span="1" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">--address string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The IP address to serve on (set to 0.0.0.0 for all IPv4 interfaces and :: for all IPv6 interfaces).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--algorithm-provider string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The scheduling algorithm provider to use, one of: ClusterAutoscalerProvider | DefaultProvider</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--azure-container-registry-config string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to the file containing Azure container registry configuration information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--config string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The path to the configuration file.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--contention-profiling</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enable lock contention profiling, if profiling is enabled</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--feature-gates mapStringBool</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:<br/>APIListChunking=true|false (BETA - default=true)<br/>APIResponseCompression=true|false (ALPHA - default=false)<br/>Accelerators=true|false (ALPHA - default=false)<br/>AdvancedAuditing=true|false (BETA - default=true)<br/>AllAlpha=true|false (ALPHA - default=false)<br/>AppArmor=true|false (BETA - default=true)<br/>BlockVolume=true|false (ALPHA - default=false)<br/>CPUManager=true|false (BETA - default=true)<br/>CRIContainerLogRotation=true|false (ALPHA - default=false)<br/>CSIPersistentVolume=true|false (BETA - default=true)<br/>CustomPodDNS=true|false (BETA - default=true)<br/>CustomResourceSubresources=true|false (ALPHA - default=false)<br/>CustomResourceValidation=true|false (BETA - default=true)<br/>DebugContainers=true|false (ALPHA - default=false)<br/>DevicePlugins=true|false (BETA - default=true)<br/>DynamicKubeletConfig=true|false (ALPHA - default=false)<br/>EnableEquivalenceClassCache=true|false (ALPHA - default=false)<br/>ExpandPersistentVolumes=true|false (ALPHA - default=false)<br/>ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)<br/>ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)<br/>GCERegionalPersistentDisk=true|false (BETA - default=true)<br/>HugePages=true|false (BETA - default=true)<br/>HyperVContainer=true|false (ALPHA - default=false)<br/>Initializers=true|false (ALPHA - default=false)<br/>LocalStorageCapacityIsolation=true|false (BETA - default=true)<br/>MountContainers=true|false (ALPHA - default=false)<br/>MountPropagation=true|false (BETA - default=true)<br/>PersistentLocalVolumes=true|false (BETA - default=true)<br/>PodPriority=true|false (ALPHA - default=false)<br/>PodShareProcessNamespace=true|false (ALPHA - default=false)<br/>ReadOnlyAPIDataVolumes=true|false (DEPRECATED - default=true)<br/>ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)<br/>RotateKubeletClientCertificate=true|false (BETA - default=true)<br/>RotateKubeletServerCertificate=true|false (ALPHA - default=false)<br/>RunAsGroup=true|false (ALPHA - default=false)<br/>ScheduleDaemonSetPods=true|false (ALPHA - default=false)<br/>ServiceNodeExclusion=true|false (ALPHA - default=false)<br/>ServiceProxyAllowExternalIPs=true|false (DEPRECATED - default=false)<br/>StorageObjectInUseProtection=true|false (BETA - default=true)<br/>StreamingProxyRedirects=true|false (BETA - default=true)<br/>SupportIPVSProxyMode=true|false (BETA - default=true)<br/>SupportPodPidsLimit=true|false (ALPHA - default=false)<br/>TaintBasedEvictions=true|false (ALPHA - default=false)<br/>TaintNodesByCondition=true|false (ALPHA - default=false)<br/>TokenRequest=true|false (ALPHA - default=false)<br/>VolumeScheduling=true|false (BETA - default=true)<br/>VolumeSubpath=true|false (default=true)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">-h, --help</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">help for kube-scheduler</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kube-api-burst int32 Default: 100</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Burst to use while talking with kubernetes apiserver</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kube-api-content-type string Default: "application/vnd.kubernetes.protobuf"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Content type of requests sent to apiserver.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kube-api-qps float32 Default: 50</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">QPS to use while talking with kubernetes apiserver</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kubeconfig string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to kubeconfig file with authorization and master location information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--leader-elect Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Start a leader election client and gain leadership before executing the main loop. Enable this when running replicated components for high availability.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--leader-elect-lease-duration duration Default: 15s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The duration that non-leader candidates will wait after observing a leadership renewal until attempting to acquire leadership of a led but unrenewed leader slot. This is effectively the maximum duration that a leader can be stopped before it is replaced by another candidate. This is only applicable if leader election is enabled.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--leader-elect-renew-deadline duration Default: 10s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The interval between attempts by the acting master to renew a leadership slot before it stops leading. This must be less than or equal to the lease duration. This is only applicable if leader election is enabled.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--leader-elect-resource-lock endpoints Default: "endpoints"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The type of resource object that is used for locking during leader election. Supported options are endpoints (default) and `configmaps`.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--leader-elect-retry-period duration Default: 2s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The duration the clients should wait between attempting acquisition and renewal of a leadership. This is only applicable if leader election is enabled.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--lock-object-name string Default: "kube-scheduler"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Define the name of the lock object.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--lock-object-namespace string Default: "kube-system"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Define the namespace of the lock object.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--log-flush-frequency duration Default: 5s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Maximum number of seconds between log flushes</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--master string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The address of the Kubernetes API server (overrides any value in kubeconfig)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--policy-config-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">File with scheduler policy configuration. This file is used if policy ConfigMap is not provided or --use-legacy-policy-config==true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--policy-configmap string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Name of the ConfigMap object that contains scheduler's policy configuration. It must exist in the system namespace before scheduler initialization if --use-legacy-policy-config==false. The config must be provided as the value of an element in 'Data' map with the key='policy.cfg'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--policy-configmap-namespace string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The namespace where policy ConfigMap is located. The system namespace will be used if this is not provided or is empty.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--port int32 Default: 10251</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The port that the scheduler's http service runs on</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--profiling</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enable profiling via web interface host:port/debug/pprof/</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--scheduler-name string Default: "default-scheduler"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Name of the scheduler, used to select which pods will be processed by this scheduler, based on pod's "spec.SchedulerName".</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--use-legacy-policy-config</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">When set to true, scheduler will ignore policy ConfigMap and uses policy config file</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--version version[=true]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Print version information and quit</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
|
@ -0,0 +1,88 @@
|
|||
---
|
||||
reviewers:
|
||||
- liggitt
|
||||
title: Kubelet authentication/authorization
|
||||
weight: 30
|
||||
---
|
||||
|
||||
* TOC
|
||||
{:toc}
|
||||
|
||||
## Overview
|
||||
|
||||
A kubelet's HTTPS endpoint exposes APIs which give access to data of varying sensitivity,
|
||||
and allow you to perform operations with varying levels of power on the node and within containers.
|
||||
|
||||
This document describes how to authenticate and authorize access to the kubelet's HTTPS endpoint.
|
||||
|
||||
## Kubelet authentication
|
||||
|
||||
By default, requests to the kubelet's HTTPS endpoint that are not rejected by other configured
|
||||
authentication methods are treated as anonymous requests, and given a username of `system:anonymous`
|
||||
and a group of `system:unauthenticated`.
|
||||
|
||||
To disable anonymous access and send `401 Unauthorized` responses to unauthenticated requests:
|
||||
|
||||
* start the kubelet with the `--anonymous-auth=false` flag
|
||||
|
||||
To enable X509 client certificate authentication to the kubelet's HTTPS endpoint:
|
||||
|
||||
* start the kubelet with the `--client-ca-file` flag, providing a CA bundle to verify client certificates with
|
||||
* start the apiserver with `--kubelet-client-certificate` and `--kubelet-client-key` flags
|
||||
* see the [apiserver authentication documentation](/docs/admin/authentication/#x509-client-certs) for more details
|
||||
|
||||
To enable API bearer tokens (including service account tokens) to be used to authenticate to the kubelet's HTTPS endpoint:
|
||||
|
||||
* ensure the `authentication.k8s.io/v1beta1` API group is enabled in the API server
|
||||
* start the kubelet with the `--authentication-token-webhook` and `--kubeconfig` flags
|
||||
* the kubelet calls the `TokenReview` API on the configured API server to determine user information from bearer tokens
|
||||
|
||||
## Kubelet authorization
|
||||
|
||||
Any request that is successfully authenticated (including an anonymous request) is then authorized. The default authorization mode is `AlwaysAllow`, which allows all requests.
|
||||
|
||||
There are many possible reasons to subdivide access to the kubelet API:
|
||||
|
||||
* anonymous auth is enabled, but anonymous users' ability to call the kubelet API should be limited
|
||||
* bearer token auth is enabled, but arbitrary API users' (like service accounts) ability to call the kubelet API should be limited
|
||||
* client certificate auth is enabled, but only some of the client certificates signed by the configured CA should be allowed to use the kubelet API
|
||||
|
||||
To subdivide access to the kubelet API, delegate authorization to the API server:
|
||||
|
||||
* ensure the `authorization.k8s.io/v1beta1` API group is enabled in the API server
|
||||
* start the kubelet with the `--authorization-mode=Webhook` and the `--kubeconfig` flags
|
||||
* the kubelet calls the `SubjectAccessReview` API on the configured API server to determine whether each request is authorized
|
||||
|
||||
The kubelet authorizes API requests using the same [request attributes](/docs/admin/authorization/#request-attributes) approach as the apiserver.
|
||||
|
||||
The verb is determined from the incoming request's HTTP verb:
|
||||
|
||||
HTTP verb | request verb
|
||||
----------|---------------
|
||||
POST | create
|
||||
GET, HEAD | get
|
||||
PUT | update
|
||||
PATCH | patch
|
||||
DELETE | delete
|
||||
|
||||
The resource and subresource is determined from the incoming request's path:
|
||||
|
||||
Kubelet API | resource | subresource
|
||||
-------------|----------|------------
|
||||
/stats/\* | nodes | stats
|
||||
/metrics/\* | nodes | metrics
|
||||
/logs/\* | nodes | log
|
||||
/spec/\* | nodes | spec
|
||||
*all others* | nodes | proxy
|
||||
|
||||
The namespace and API group attributes are always an empty string, and
|
||||
the resource name is always the name of the kubelet's `Node` API object.
|
||||
|
||||
When running in this mode, ensure the user identified by the `--kubelet-client-certificate` and `--kubelet-client-key`
|
||||
flags passed to the apiserver is authorized for the following attributes:
|
||||
|
||||
* verb=\*, resource=nodes, subresource=proxy
|
||||
* verb=\*, resource=nodes, subresource=stats
|
||||
* verb=\*, resource=nodes, subresource=log
|
||||
* verb=\*, resource=nodes, subresource=spec
|
||||
* verb=\*, resource=nodes, subresource=metrics
|
|
@ -0,0 +1,224 @@
|
|||
---
|
||||
reviewers:
|
||||
- ericchiang
|
||||
- mikedanese
|
||||
- jcbsmpsn
|
||||
title: TLS bootstrapping
|
||||
weight: 80
|
||||
---
|
||||
|
||||
* TOC
|
||||
{:toc}
|
||||
|
||||
## Overview
|
||||
|
||||
This document describes how to set up TLS client certificate bootstrapping for kubelets.
|
||||
Kubernetes 1.4 introduced an API for requesting certificates from a cluster-level Certificate Authority (CA). The original intent of this API is to enable provisioning of TLS client certificates for kubelets. The proposal can be found [here](https://github.com/kubernetes/kubernetes/pull/20439)
|
||||
and progress on the feature is being tracked as [feature #43](https://github.com/kubernetes/features/issues/43).
|
||||
|
||||
## kube-apiserver configuration
|
||||
|
||||
The API server should be configured with an [authenticator](/docs/admin/authentication/) that can authenticate tokens as a user in the `system:bootstrappers` group.
|
||||
|
||||
This group will later be used in the controller-manager configuration to scope approvals in the default approval
|
||||
controller. As this feature matures, you should ensure tokens are bound to a Role-Based Access Control (RBAC) policy which limits requests
|
||||
(using the bootstrap token) strictly to client requests related to certificate provisioning. With RBAC in place, scoping the tokens to a group allows for great flexibility (e.g. you could disable a particular bootstrap group's access when you are done provisioning the nodes).
|
||||
|
||||
While any authentication strategy can be used for the kubelet's initial bootstrap credentials, the following two authenticators are recommended for ease of provisioning.
|
||||
|
||||
1. [Bootstrap Tokens](/docs/admin/bootstrap-tokens/) - __alpha__
|
||||
2. [Token authentication file](#token-authentication-file)
|
||||
|
||||
Using bootstrap tokens is currently __alpha__ and will simplify the management of bootstrap token management especially in a HA scenario.
|
||||
|
||||
### Token authentication file
|
||||
Tokens are arbitrary but should represent at least 128 bits of entropy derived from a secure random number
|
||||
generator (such as /dev/urandom on most modern systems). There are multiple ways you can generate a token. For example:
|
||||
|
||||
`head -c 16 /dev/urandom | od -An -t x | tr -d ' '`
|
||||
|
||||
will generate tokens that look like `02b50b05283e98dd0fd71db496ef01e8`
|
||||
|
||||
The token file should look like the following example, where the first three values can be anything and the quoted group
|
||||
name should be as depicted:
|
||||
|
||||
```
|
||||
02b50b05283e98dd0fd71db496ef01e8,kubelet-bootstrap,10001,"system:bootstrappers"
|
||||
```
|
||||
|
||||
Add the `--token-auth-file=FILENAME` flag to the kube-apiserver command (in your systemd unit file perhaps) to enable the token file.
|
||||
See docs [here](/docs/admin/authentication/#static-token-file) for further details.
|
||||
|
||||
### Client certificate CA bundle
|
||||
|
||||
Add the `--client-ca-file=FILENAME` flag to the kube-apiserver command to enable client certificate authentication,
|
||||
referencing a certificate authority bundle containing the signing certificate (e.g. `--client-ca-file=/var/lib/kubernetes/ca.pem`).
|
||||
|
||||
## kube-controller-manager configuration
|
||||
The API for requesting certificates adds a certificate-issuing control loop to the Kubernetes Controller Manager. This takes the form of a
|
||||
[cfssl](https://blog.cloudflare.com/introducing-cfssl/) local signer using assets on disk. Currently, all certificates issued have one year validity and a default set of key usages.
|
||||
|
||||
### Signing assets
|
||||
You must provide a Certificate Authority in order to provide the cryptographic materials necessary to issue certificates.
|
||||
This CA should be trusted by kube-apiserver for authentication with the `--client-ca-file=FILENAME` flag. The management
|
||||
of the CA is beyond the scope of this document but it is recommended that you generate a dedicated CA for Kubernetes.
|
||||
Both certificate and key are assumed to be PEM-encoded.
|
||||
|
||||
The kube-controller-manager flags are:
|
||||
|
||||
```
|
||||
--cluster-signing-cert-file="/etc/path/to/kubernetes/ca/ca.crt" --cluster-signing-key-file="/etc/path/to/kubernetes/ca/ca.key"
|
||||
```
|
||||
|
||||
### Approval controller
|
||||
|
||||
In 1.7 the experimental "group auto approver" controller is dropped in favor of the new `csrapproving` controller
|
||||
that ships as part of [kube-controller-manager](/docs/admin/kube-controller-manager/) and is enabled by default.
|
||||
The controller uses the [`SubjectAccessReview` API](/docs/admin/authorization/#checking-api-access) to determine
|
||||
if a given user is authorized to request a CSR, then approves based on the authorization outcome. To prevent
|
||||
conflicts with other approvers, the builtin approver doesn't explicitly deny CSRs, only ignoring unauthorized requests.
|
||||
|
||||
The controller categorizes CSRs into three subresources:
|
||||
|
||||
1. `nodeclient` - a request by a user for a client certificate with `O=system:nodes` and `CN=system:node:(node name)`.
|
||||
2. `selfnodeclient` - a node renewing a client certificate with the same `O` and `CN`.
|
||||
3. `selfnodeserver` - a node renewing a serving certificate. (ALPHA, requires feature gate)
|
||||
|
||||
The checks to determine if a CSR is a `selfnodeserver` request is currently tied to the kubelet's credential rotation
|
||||
implementation, an __alpha__ feature. As such, the definition of `selfnodeserver` will likely change in a future and
|
||||
requires the `RotateKubeletServerCertificate` feature gate on the controller manager. The feature progress can be
|
||||
tracked at [kubernetes/features#267](https://github.com/kubernetes/features/issues/267).
|
||||
|
||||
```
|
||||
--feature-gates=RotateKubeletServerCertificate=true
|
||||
```
|
||||
|
||||
The following RBAC `ClusterRoles` represent the `nodeclient`, `selfnodeclient`, and `selfnodeserver` capabilities. Similar roles
|
||||
may be automatically created in future releases.
|
||||
|
||||
```yml
|
||||
# A ClusterRole which instructs the CSR approver to approve a user requesting
|
||||
# node client credentials.
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: approve-node-client-csr
|
||||
rules:
|
||||
- apiGroups: ["certificates.k8s.io"]
|
||||
resources: ["certificatesigningrequests/nodeclient"]
|
||||
verbs: ["create"]
|
||||
---
|
||||
# A ClusterRole which instructs the CSR approver to approve a node renewing its
|
||||
# own client credentials.
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: approve-node-client-renewal-csr
|
||||
rules:
|
||||
- apiGroups: ["certificates.k8s.io"]
|
||||
resources: ["certificatesigningrequests/selfnodeclient"]
|
||||
verbs: ["create"]
|
||||
---
|
||||
# A ClusterRole which instructs the CSR approver to approve a node requesting a
|
||||
# serving cert matching its client cert.
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: approve-node-server-renewal-csr
|
||||
rules:
|
||||
- apiGroups: ["certificates.k8s.io"]
|
||||
resources: ["certificatesigningrequests/selfnodeserver"]
|
||||
verbs: ["create"]
|
||||
```
|
||||
|
||||
As of 1.8, equivalent roles to the ones listed above are automatically created as part of the default RBAC roles.
|
||||
For 1.8 clusters admins are recommended to bind tokens to the following roles instead of creating their own:
|
||||
|
||||
* `system:certificates.k8s.io:certificatesigningrequests:nodeclient`
|
||||
- Automatically approve CSRs for client certs bound to this role.
|
||||
* `system:certificates.k8s.io:certificatesigningrequests:selfnodeclient`
|
||||
- Automatically approve CSRs when a client bound to its role renews its own certificate.
|
||||
|
||||
These powers can be granted to credentials, such as bootstrapping tokens. For example, to replicate the behavior
|
||||
provided by the removed auto-approval flag, of approving all CSRs by a single group:
|
||||
|
||||
```
|
||||
# REMOVED: This flag no longer works as of 1.7.
|
||||
--insecure-experimental-approve-all-kubelet-csrs-for-group="system:bootstrappers"
|
||||
```
|
||||
|
||||
An admin would create a `ClusterRoleBinding` targeting that group.
|
||||
|
||||
```yml
|
||||
# Approve all CSRs for the group "system:bootstrappers"
|
||||
kind: ClusterRoleBinding
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: auto-approve-csrs-for-group
|
||||
subjects:
|
||||
- kind: Group
|
||||
name: system:bootstrappers
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
roleRef:
|
||||
kind: ClusterRole
|
||||
name: approve-node-client-csr
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
```
|
||||
|
||||
To let a node renew its own credentials, an admin can construct a `ClusterRoleBinding` targeting
|
||||
that node's credentials:
|
||||
|
||||
```yml
|
||||
kind: ClusterRoleBinding
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: node1-client-cert-renewal
|
||||
subjects:
|
||||
- kind: User
|
||||
name: system:node:node-1 # Let "node-1" renew its client certificate.
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
roleRef:
|
||||
kind: ClusterRole
|
||||
name: approve-node-client-renewal-csr
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
```
|
||||
|
||||
Deleting the binding will prevent the node from renewing its client credentials, effectively
|
||||
removing it from the cluster once its certificate expires.
|
||||
|
||||
## kubelet configuration
|
||||
To request a client certificate from kube-apiserver, the kubelet first needs a path to a kubeconfig file that contains the
|
||||
bootstrap authentication token. You can use `kubectl config set-cluster`, `set-credentials`, and `set-context` to build this kubeconfig. Provide the name `kubelet-bootstrap` to `kubectl config set-credentials` and include `--token=<token-value>` as follows:
|
||||
|
||||
```
|
||||
kubectl config set-credentials kubelet-bootstrap --token=${BOOTSTRAP_TOKEN} --kubeconfig=bootstrap.kubeconfig
|
||||
```
|
||||
|
||||
When starting the kubelet, if the file specified by `--kubeconfig` does not exist, the bootstrap kubeconfig is used to request a client certificate from the API server. On approval of the certificate request and receipt back by the kubelet, a kubeconfig file referencing the generated key and obtained certificate is written to the path specified by `--kubeconfig`. The certificate and key file will be placed in the directory specified by `--cert-dir`.
|
||||
|
||||
**Note:** The following flags are required to enable this bootstrapping when starting the kubelet:
|
||||
|
||||
```
|
||||
--bootstrap-kubeconfig="/path/to/bootstrap/kubeconfig"
|
||||
```
|
||||
|
||||
Additionally, in 1.7 the kubelet implements __alpha__ features for enabling rotation of both its client and/or serving certs.
|
||||
These can be enabled through the respective `RotateKubeletClientCertificate` and `RotateKubeletServerCertificate` feature
|
||||
flags on the kubelet, but may change in backward incompatible ways in future releases.
|
||||
|
||||
```
|
||||
--feature-gates=RotateKubeletClientCertificate=true,RotateKubeletServerCertificate=true
|
||||
```
|
||||
|
||||
`RotateKubeletClientCertificate` causes the kubelet to rotate its client certificates by creating new CSRs as its existing
|
||||
credentials expire. `RotateKubeletServerCertificate` causes the kubelet to both request a serving certificate after
|
||||
bootstrapping its client credentials and rotate the certificate. The serving cert currently does not request DNS or IP
|
||||
SANs.
|
||||
|
||||
## kubectl approval
|
||||
The signing controller does not immediately sign all certificate requests. Instead, it waits until they have been flagged with an
|
||||
"Approved" status by an appropriately-privileged user. This is intended to eventually be an automated process handled by an external
|
||||
approval controller, but for the alpha version of the API it can be done manually by a cluster administrator using kubectl.
|
||||
An administrator can list CSRs with `kubectl get csr` and describe one in detail with `kubectl describe csr <name>`. Before the 1.6 release there were
|
||||
[no direct approve/deny commands](https://github.com/kubernetes/kubernetes/issues/30163) so an approver had to update
|
||||
the Status field directly ([rough how-to](https://github.com/gtank/csrctl)). Later versions of Kubernetes offer `kubectl certificate approve <name>` and `kubectl certificate deny <name>` commands.
|
|
@ -0,0 +1,802 @@
|
|||
---
|
||||
title: kubelet
|
||||
notitle: true
|
||||
weight: 20
|
||||
---
|
||||
## kubelet
|
||||
|
||||
|
||||
|
||||
### Synopsis
|
||||
|
||||
|
||||
The kubelet is the primary "node agent" that runs on each
|
||||
node. The kubelet works in terms of a PodSpec. A PodSpec is a YAML or JSON object
|
||||
that describes a pod. The kubelet takes a set of PodSpecs that are provided through
|
||||
various mechanisms (primarily through the apiserver) and ensures that the containers
|
||||
described in those PodSpecs are running and healthy. The kubelet doesn't manage
|
||||
containers which were not created by Kubernetes.
|
||||
|
||||
Other than from an PodSpec from the apiserver, there are three ways that a container
|
||||
manifest can be provided to the Kubelet.
|
||||
|
||||
File: Path passed as a flag on the command line. Files under this path will be monitored
|
||||
periodically for updates. The monitoring period is 20s by default and is configurable
|
||||
via a flag.
|
||||
|
||||
HTTP endpoint: HTTP endpoint passed as a parameter on the command line. This endpoint
|
||||
is checked every 20 seconds (also configurable with a flag).
|
||||
|
||||
HTTP server: The kubelet can also listen for HTTP and respond to a simple API
|
||||
(underspec'd currently) to submit a new manifest.
|
||||
|
||||
```
|
||||
kubelet
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
<table style="width: 100%;">
|
||||
<colgroup>
|
||||
<col span="1" style="width: 10px;">
|
||||
<col span="1">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">--address 0.0.0.0 Default: 0.0.0.0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The IP address for the Kubelet to serve on (set to 0.0.0.0 for all IPv4 interfaces and `::` for all IPv6 interfaces)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--allow-privileged</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If true, allow containers to request privileged mode.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--anonymous-auth Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enables anonymous requests to the Kubelet server. Requests that are not rejected by another authentication method are treated as anonymous requests. Anonymous requests have a username of system:anonymous, and a group name of system:unauthenticated.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--authentication-token-webhook</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Use the TokenReview API to determine authentication for bearer tokens.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--authentication-token-webhook-cache-ttl duration Default: 2m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The duration to cache responses from the webhook token authenticator.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--authorization-mode string Default: "AlwaysAllow"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Authorization mode for Kubelet server. Valid options are AlwaysAllow or Webhook. Webhook mode uses the SubjectAccessReview API to determine authorization.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--authorization-webhook-cache-authorized-ttl duration Default: 5m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The duration to cache 'authorized' responses from the webhook authorizer.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--authorization-webhook-cache-unauthorized-ttl duration Default: 30s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The duration to cache 'unauthorized' responses from the webhook authorizer.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--azure-container-registry-config string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to the file container Azure container registry configuration information.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--bootstrap-checkpoint-path string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%"><Warning: Alpha feature> Path to to the directory where the checkpoints are stored</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--bootstrap-kubeconfig string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to a kubeconfig file that will be used to get client certificate for kubelet. If the file specified by --kubeconfig does not exist, the bootstrap kubeconfig is used to request a client certificate from the API server. On success, a kubeconfig file referencing the generated client certificate and key is written to the path specified by --kubeconfig. The client certificate and key file will be stored in the directory pointed by --cert-dir.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cadvisor-port int32 Default: 4194</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The port of the localhost cAdvisor endpoint (set to 0 to disable)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cert-dir string Default: "/var/lib/kubelet/pki"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The directory where the TLS certs are located. If --tls-cert-file and --tls-private-key-file are provided, this flag will be ignored.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cgroup-driver string Default: "cgroupfs"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Driver that the kubelet uses to manipulate cgroups on the host. Possible values: 'cgroupfs', 'systemd'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cgroup-root string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Optional root cgroup to use for pods. This is handled by the container runtime on a best effort basis. Default: '', which means use the container runtime default.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cgroups-per-qos Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enable creation of QoS cgroup hierarchy, if true top level QoS and pod cgroups are created.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--chaos-chance float</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If > 0.0, introduce random client errors and latency. Intended for testing.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--client-ca-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If set, any request presenting a client certificate signed by one of the authorities in the client-ca-file is authenticated with an identity corresponding to the CommonName of the client certificate.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cloud-config string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The path to the cloud provider configuration file. Empty string for no configuration file.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cloud-provider string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The provider for cloud services. Specify empty string for running with no cloud provider.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cluster-dns stringSlice</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Comma-separated list of DNS server IP address. This value is used for containers DNS server in case of Pods with "dnsPolicy=ClusterFirst". Note: all DNS servers appearing in the list MUST serve the same set of records otherwise name resolution within the cluster may not work correctly. There is no guarantee as to which DNS server may be contacted for name resolution.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cluster-domain string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Domain for this cluster. If set, kubelet will configure all containers to search this domain in addition to the host's search domains</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cni-bin-dir string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%"><Warning: Alpha feature> The full path of the directory in which to search for CNI plugin binaries. Default: /opt/cni/bin</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cni-conf-dir string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%"><Warning: Alpha feature> The full path of the directory in which to search for CNI config files. Default: /etc/cni/net.d</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--config string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The Kubelet will load its initial configuration from this file. The path may be absolute or relative; relative paths start at the Kubelet's current working directory. Omit this flag to use the built-in default configuration values. You must also enable the KubeletConfigFile feature gate to pass this flag.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--container-runtime string Default: "docker"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The container runtime to use. Possible values: 'docker', 'rkt'.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--container-runtime-endpoint string Default: "unix:///var/run/dockershim.sock"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">[Experimental] The endpoint of remote runtime service. Currently unix socket is supported on Linux, and tcp is supported on windows. Examples:'unix:///var/run/dockershim.sock', 'tcp://localhost:3735'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--containerized</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Experimental support for running kubelet in a container. Intended for testing.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--contention-profiling</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enable lock contention profiling, if profiling is enabled</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cpu-cfs-quota Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enable CPU CFS quota enforcement for containers that specify CPU limits</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cpu-manager-policy string Default: "none"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%"><Warning: Alpha feature> CPU Manager policy to use. Possible values: 'none', 'static'. Default: 'none'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--cpu-manager-reconcile-period NodeStatusUpdateFrequency Default: 10s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%"><Warning: Alpha feature> CPU Manager reconciliation period. Examples: '10s', or '1m'. If not supplied, defaults to NodeStatusUpdateFrequency</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--docker-disable-shared-pid Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The Container Runtime Interface (CRI) defaults to using a shared PID namespace for containers in a pod when running with Docker 1.13.1 or higher. Setting this flag reverts to the previous behavior of isolated PID namespaces. This ability will be removed in a future Kubernetes release.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--docker-endpoint string Default: "unix:///var/run/docker.sock"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Use this for the docker endpoint to communicate with</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--dynamic-config-dir string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The Kubelet will use this directory for checkpointing downloaded configurations and tracking configuration health. The Kubelet will create this directory if it does not already exist. The path may be absolute or relative; relative paths start at the Kubelet's current working directory. Providing this flag enables dynamic Kubelet configuration. Presently, you must also enable the DynamicKubeletConfig feature gate to pass this flag.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--enable-controller-attach-detach Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enables the Attach/Detach controller to manage attachment/detachment of volumes scheduled to this node, and disables kubelet from executing any attach/detach operations</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--enable-debugging-handlers Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enables server endpoints for log collection and local running of containers and commands</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--enable-server Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Enable the Kubelet's server</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--enforce-node-allocatable stringSlice Default: [pods]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A comma separated list of levels of node allocatable enforcement to be enforced by kubelet. Acceptible options are 'pods', 'system-reserved' & 'kube-reserved'. If the latter two options are specified, '--system-reserved-cgroup' & '--kube-reserved-cgroup' must also be set respectively. See https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/ for more details.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--event-burst int32 Default: 10</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Maximum size of a bursty event records, temporarily allows event records to burst to this number, while still not exceeding event-qps. Only used if --event-qps > 0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--event-qps int32 Default: 5</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If > 0, limit event creations per second to this value. If 0, unlimited.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--eviction-hard mapStringString Default: imagefs.available<15%!,(MISSING)memory.available<100Mi,nodefs.available<10%!,(MISSING)nodefs.inodesFree<5%!<(MISSING)/td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A set of eviction thresholds (e.g. memory.available<1Gi) that if met would trigger a pod eviction.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--eviction-max-pod-grace-period int32</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Maximum allowed grace period (in seconds) to use when terminating pods in response to a soft eviction threshold being met. If negative, defer to pod specified value.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--eviction-minimum-reclaim mapStringString</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A set of minimum reclaims (e.g. imagefs.available=2Gi) that describes the minimum amount of resource the kubelet will reclaim when performing a pod eviction if that resource is under pressure.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--eviction-pressure-transition-period duration Default: 5m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Duration for which the kubelet has to wait before transitioning out of an eviction pressure condition.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--eviction-soft mapStringString</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A set of eviction thresholds (e.g. memory.available<1.5Gi) that if met over a corresponding grace period would trigger a pod eviction.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--eviction-soft-grace-period mapStringString</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A set of eviction grace periods (e.g. memory.available=1m30s) that correspond to how long a soft eviction threshold must hold before triggering a pod eviction.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--exit-on-lock-contention</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Whether kubelet should exit upon lock-file contention.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--experimental-allocatable-ignore-eviction</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">When set to 'true', Hard Eviction Thresholds will be ignored while calculating Node Allocatable. See https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/ for more details. [default=false]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--experimental-allowed-unsafe-sysctls stringSlice</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Comma-separated whitelist of unsafe sysctls or unsafe sysctl patterns (ending in *). Use these at your own risk.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--experimental-bootstrap-kubeconfig string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">deprecated: use --bootstrap-kubeconfig</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--experimental-check-node-capabilities-before-mount</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">[Experimental] if set true, the kubelet will check the underlying node for required componenets (binaries, etc.) before performing the mount</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--experimental-kernel-memcg-notification</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If enabled, the kubelet will integrate with the kernel memcg notification to determine if memory eviction thresholds are crossed rather than polling.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--experimental-mounter-path string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">[Experimental] Path of mounter binary. Leave empty to use the default mount.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--experimental-qos-reserved mapStringString</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A set of ResourceName=Percentage (e.g. memory=50%!)(MISSING) pairs that describe how pod resource requests are reserved at the QoS level. Currently only memory is supported. [default=none]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--fail-swap-on Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Makes the Kubelet fail to start if swap is enabled on the node. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--feature-gates mapStringBool</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A set of key=value pairs that describe feature gates for alpha/experimental features. Options are:<br/>APIListChunking=true|false (BETA - default=true)<br/>APIResponseCompression=true|false (ALPHA - default=false)<br/>Accelerators=true|false (ALPHA - default=false)<br/>AdvancedAuditing=true|false (BETA - default=true)<br/>AllAlpha=true|false (ALPHA - default=false)<br/>AllowExtTrafficLocalEndpoints=true|false (default=true)<br/>AppArmor=true|false (BETA - default=true)<br/>BlockVolume=true|false (ALPHA - default=false)<br/>CPUManager=true|false (BETA - default=true)<br/>CSIPersistentVolume=true|false (ALPHA - default=false)<br/>CustomPodDNS=true|false (ALPHA - default=false)<br/>CustomResourceValidation=true|false (BETA - default=true)<br/>DebugContainers=true|false (ALPHA - default=false)<br/>DevicePlugins=true|false (ALPHA - default=false)<br/>DynamicKubeletConfig=true|false (ALPHA - default=false)<br/>EnableEquivalenceClassCache=true|false (ALPHA - default=false)<br/>ExpandPersistentVolumes=true|false (ALPHA - default=false)<br/>ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)<br/>ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)<br/>HugePages=true|false (BETA - default=true)<br/>Initializers=true|false (ALPHA - default=false)<br/>KubeletConfigFile=true|false (ALPHA - default=false)<br/>LocalStorageCapacityIsolation=true|false (ALPHA - default=false)<br/>MountContainers=true|false (ALPHA - default=false)<br/>MountPropagation=true|false (ALPHA - default=false)<br/>PVCProtection=true|false (ALPHA - default=false)<br/>PersistentLocalVolumes=true|false (ALPHA - default=false)<br/>PodPriority=true|false (ALPHA - default=false)<br/>ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)<br/>RotateKubeletClientCertificate=true|false (BETA - default=true)<br/>RotateKubeletServerCertificate=true|false (ALPHA - default=false)<br/>ServiceNodeExclusion=true|false (ALPHA - default=false)<br/>StreamingProxyRedirects=true|false (BETA - default=true)<br/>SupportIPVSProxyMode=true|false (BETA - default=false)<br/>TaintBasedEvictions=true|false (ALPHA - default=false)<br/>TaintNodesByCondition=true|false (ALPHA - default=false)<br/>VolumeScheduling=true|false (ALPHA - default=false)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--file-check-frequency duration Default: 20s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Duration between checking config files for new data</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--google-json-key string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The Google Cloud Platform Service Account JSON Key to use for authentication.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--hairpin-mode string Default: "promiscuous-bridge"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">How should the kubelet setup hairpin NAT. This allows endpoints of a Service to loadbalance back to themselves if they should try to access their own Service. Valid values are "promiscuous-bridge", "hairpin-veth" and "none".</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--healthz-bind-address 0.0.0.0 Default: 127.0.0.1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The IP address for the healthz server to serve on (set to 0.0.0.0 for all IPv4 interfaces and `::` for all IPv6 interfaces)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--healthz-port int32 Default: 10248</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The port of the localhost healthz endpoint (set to 0 to disable)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--host-ipc-sources stringSlice Default: [*]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Comma-separated list of sources from which the Kubelet allows pods to use the host ipc namespace.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--host-network-sources stringSlice Default: [*]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Comma-separated list of sources from which the Kubelet allows pods to use of host network.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--host-pid-sources stringSlice Default: [*]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Comma-separated list of sources from which the Kubelet allows pods to use the host pid namespace.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--hostname-override string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If non-empty, will use this string as identification instead of the actual hostname.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--http-check-frequency duration Default: 20s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Duration between checking http for new data</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--image-gc-high-threshold int32 Default: 85</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The percent of disk usage after which image garbage collection is always run.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--image-gc-low-threshold int32 Default: 80</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The percent of disk usage before which image garbage collection is never run. Lowest disk usage to garbage collect to.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--image-pull-progress-deadline duration Default: 1m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If no pulling progress is made before this deadline, the image pulling will be cancelled.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--image-service-endpoint string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">[Experimental] The endpoint of remote image service. If not specified, it will be the same with container-runtime-endpoint by default. Currently unix socket is supported on Linux, and tcp is supported on windows. Examples:'unix:///var/run/dockershim.sock', 'tcp://localhost:3735'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--iptables-drop-bit int32 Default: 15</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The bit of the fwmark space to mark packets for dropping. Must be within the range [0, 31].</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--iptables-masquerade-bit int32 Default: 14</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The bit of the fwmark space to mark packets for SNAT. Must be within the range [0, 31]. Please match this parameter with corresponding parameter in kube-proxy.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kube-api-burst int32 Default: 10</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Burst to use while talking with kubernetes apiserver</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kube-api-content-type string Default: "application/vnd.kubernetes.protobuf"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Content type of requests sent to apiserver.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kube-api-qps int32 Default: 5</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">QPS to use while talking with kubernetes apiserver</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kube-reserved mapStringString</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=500Mi,ephemeral-storage=1Gi) pairs that describe resources reserved for kubernetes system components. Currently cpu, memory and local ephemeral storage for root file system are supported. See http://kubernetes.io/docs/user-guide/compute-resources for more detail. [default=none]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kube-reserved-cgroup string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Absolute name of the top level cgroup that is used to manage kubernetes components for which compute resources were reserved via '--kube-reserved' flag. Ex. '/kube-reserved'. [default='']</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kubeconfig string Default: "/var/lib/kubelet/kubeconfig"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to a kubeconfig file, specifying how to connect to the API server.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--kubelet-cgroups string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Optional absolute name of cgroups to create and run the Kubelet in.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--lock-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%"><Warning: Alpha feature> The path to file for kubelet to use as a lock file.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--make-iptables-util-chains Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If true, kubelet will ensure iptables utility rules are present on host.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--manifest-url string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">URL for accessing the container manifest</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--manifest-url-header --manifest-url-header 'a:hello,b:again,c:world' --manifest-url-header 'b:beautiful'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Comma-separated list of HTTP headers to use when accessing the manifest URL. Multiple headers with the same name will be added in the same order provided. This flag can be repeatedly invoked. For example: --manifest-url-header 'a:hello,b:again,c:world' --manifest-url-header 'b:beautiful'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--max-open-files int Default: 1000000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Number of files that can be opened by Kubelet process.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--max-pods int32 Default: 110</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Number of Pods that can run on this Kubelet.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--minimum-image-ttl-duration duration Default: 2m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Minimum age for an unused image before it is garbage collected. Examples: '300ms', '10s' or '2h45m'.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--network-plugin string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%"><Warning: Alpha feature> The name of the network plugin to be invoked for various events in kubelet/pod lifecycle</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--network-plugin-mtu int32</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%"><Warning: Alpha feature> The MTU to be passed to the network plugin, to override the default. Set to 0 to use the default 1460 MTU.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--node-ip string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">IP address of the node. If set, kubelet will use this IP address for the node</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--node-labels mapStringString</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%"><Warning: Alpha feature> Labels to add when registering the node in the cluster. Labels must be key=value pairs separated by ','.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--node-status-update-frequency duration Default: 10s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Specifies how often kubelet posts node status to master. Note: be cautious when changing the constant, it must work with nodeMonitorGracePeriod in nodecontroller.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--oom-score-adj int32 Default: -999</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The oom-score-adj value for kubelet process. Values must be within the range [-1000, 1000]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--pod-cidr string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The CIDR to use for pod IP addresses, only used in standalone mode. In cluster mode, this is obtained from the master.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--pod-infra-container-image string Default: "gcr.io/google_containers/pause-amd64:3.1"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The image whose network/ipc namespaces containers in each pod will use.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--pod-manifest-path string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path to the directory containing pod manifest files to run, or the path to a single pod manifest file. Files starting with dots will be ignored.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--pods-per-core int32</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Number of Pods per core that can run on this Kubelet. The total number of Pods on this Kubelet cannot exceed max-pods, so max-pods will be used if this calculation results in a larger number of Pods allowed on the Kubelet. A value of 0 disables this limit.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--port int32 Default: 10250</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The port for the Kubelet to serve on.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--protect-kernel-defaults</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Default kubelet behaviour for kernel tuning. If set, kubelet errors if any of kernel tunables is different than kubelet defaults.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--provider-id string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Unique identifier for identifying the node in a machine database, i.e cloudprovider</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--read-only-port int32 Default: 10255</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The read-only port for the Kubelet to serve on with no authentication/authorization (set to 0 to disable)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--really-crash-for-testing</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If true, when panics occur crash. Intended for testing.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--register-node Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Register the node with the apiserver. If --kubeconfig is not provided, this flag is irrelevant, as the Kubelet won't have an apiserver to register with. Default=true.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--register-with-taints []api.Taint</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Register the node with the given list of taints (comma separated "<key>=<value>:<effect>"). No-op if register-node is false.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--registry-burst int32 Default: 10</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Maximum size of a bursty pulls, temporarily allows pulls to burst to this number, while still not exceeding registry-qps. Only used if --registry-qps > 0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--registry-qps int32 Default: 5</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If > 0, limit registry pull QPS to this value. If 0, unlimited.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--resolv-conf string Default: "/etc/resolv.conf"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Resolver configuration file used as the basis for the container DNS resolution configuration.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--rkt-api-endpoint string Default: "localhost:15441"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">The endpoint of the rkt API service to communicate with. Only used if --container-runtime='rkt'.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--rkt-path string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Path of rkt binary. Leave empty to use the first rkt in $PATH. Only used if --container-runtime='rkt'.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--root-dir string Default: "/var/lib/kubelet"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Directory path for managing kubelet files (volume mounts,etc).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--rotate-certificates</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%"><Warning: Beta feature> Auto rotate the kubelet client certificates by requesting new certificates from the kube-apiserver when the certificate expiration approaches.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--runonce</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">If true, exit after spawning pods from local manifests or remote urls. Exclusive with --enable-server</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--runtime-cgroups string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Optional absolute name of cgroups to create and run the runtime in.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--runtime-request-timeout duration Default: 2m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Timeout of all runtime requests except long running request - pull, logs, exec and attach. When timeout exceeded, kubelet will cancel the request, throw out an error and retry later.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--seccomp-profile-root string Default: "/var/lib/kubelet/seccomp"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%"><Warning: Alpha feature> Directory path for seccomp profiles.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--serialize-image-pulls Default: true</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Pull images one at a time. We recommend *not* changing the default value on nodes that run docker daemon with version < 1.9 or an Aufs storage backend. Issue #10959 has more details.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--streaming-connection-idle-timeout duration Default: 4h0m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Maximum time a streaming connection can be idle before the connection is automatically closed. 0 indicates no timeout. Example: '5m'</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--sync-frequency duration Default: 1m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Max period between synchronizing running containers and config</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--system-cgroups /</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Optional absolute name of cgroups in which to place all non-kernel processes that are not already inside a cgroup under /. Empty for no container. Rolling back the flag requires a reboot.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--system-reserved mapStringString</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">A set of ResourceName=ResourceQuantity (e.g. cpu=200m,memory=500Mi,ephemeral-storage=1Gi) pairs that describe resources reserved for non-kubernetes components. Currently only cpu and memory are supported. See http://kubernetes.io/docs/user-guide/compute-resources for more detail. [default=none]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--system-reserved-cgroup string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Absolute name of the top level cgroup that is used to manage non-kubernetes components for which compute resources were reserved via '--system-reserved' flag. Ex. '/system-reserved'. [default='']</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--tls-cert-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">File containing x509 Certificate used for serving HTTPS (with intermediate certs, if any, concatenated after server cert). If --tls-cert-file and --tls-private-key-file are not provided, a self-signed certificate and key are generated for the public address and saved to the directory passed to --cert-dir.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--tls-private-key-file string</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">File containing x509 private key matching --tls-cert-file.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--version version[=true]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Print version information and quit</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--volume-plugin-dir string Default: "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/"</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%"><Warning: Alpha feature> The full path of the directory in which to search for additional third party volume plugins</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">--volume-stats-agg-period duration Default: 1m0s</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="line-height: 130%">Specifies interval for kubelet to calculate and cache the volume disk usage for all pods and volumes. To disable volume calculations, set to 0.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
Loading…
Reference in New Issue