kube-proxy man page

kube-proxy — Provides network proxy services.


kube-proxy [Options]


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, UDP, and SCTP stream forwarding or round robin TCP, UDP, and SCTP 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]


  --azure-container-registry-config string       Path to the file containing Azure container registry configuration information.

**--bind-address                         The IP address for the proxy server to serve on (set to for all IPv4 interfaces and ** : for all IPv6 interfaces) (default

  --cleanup                                      If true cleanup iptables and ipvs rules and exit.
  --cleanup-ipvs                                 If true and --cleanup is specified, kube-proxy will also flush IPVS rules, in addition to normal cleanup. (default true)
  --cluster-cidr string                          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
  --config string                                The path to the configuration file.
  --config-sync-period duration                  How often configuration from the apiserver is refreshed.  Must be greater than 0. (default 15m0s)
  --conntrack-max-per-core int32                 Maximum number of NAT connections to track per CPU core (0 to leave the limit as-is and ignore conntrack-min). (default 32768)
  --conntrack-min int32                          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). (default 131072)
  --conntrack-tcp-timeout-close-wait duration    NAT timeout for TCP connections in the CLOSE_WAIT state (default 1h0m0s)
  --conntrack-tcp-timeout-established duration   Idle timeout for established TCP connections (0 to leave as-is) (default 24h0m0s)

--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)
                                                 AllAlpha=true|false (ALPHA - default=false)
                                                 AppArmor=true|false (BETA - default=true)
                                                 AttachVolumeLimit=true|false (BETA - default=true)
                                                 BalanceAttachedNodeVolumes=true|false (ALPHA - default=false)
                                                 BlockVolume=true|false (BETA - default=true)
                                                 BoundServiceAccountTokenVolume=true|false (ALPHA - default=false)
                                                 CPUManager=true|false (BETA - default=true)
                                                 CRIContainerLogRotation=true|false (BETA - default=true)
                                                 CSIBlockVolume=true|false (BETA - default=true)
                                                 CSIDriverRegistry=true|false (BETA - default=true)
                                                 CSIInlineVolume=true|false (ALPHA - default=false)
                                                 CSIMigration=true|false (ALPHA - default=false)
                                                 CSIMigrationAWS=true|false (ALPHA - default=false)
                                                 CSIMigrationAzureDisk=true|false (ALPHA - default=false)
                                                 CSIMigrationAzureFile=true|false (ALPHA - default=false)
                                                 CSIMigrationGCE=true|false (ALPHA - default=false)
                                                 CSIMigrationOpenStack=true|false (ALPHA - default=false)
                                                 CSINodeInfo=true|false (BETA - default=true)
                                                 CustomCPUCFSQuotaPeriod=true|false (ALPHA - default=false)
                                                 CustomResourceDefaulting=true|false (ALPHA - default=false)
                                                 CustomResourcePublishOpenAPI=true|false (BETA - default=true)
                                                 CustomResourceSubresources=true|false (BETA - default=true)
                                                 CustomResourceValidation=true|false (BETA - default=true)
                                                 CustomResourceWebhookConversion=true|false (BETA - default=true)
                                                 DebugContainers=true|false (ALPHA - default=false)
                                                 DevicePlugins=true|false (BETA - default=true)
                                                 DryRun=true|false (BETA - default=true)
                                                 DynamicAuditing=true|false (ALPHA - default=false)
                                                 DynamicKubeletConfig=true|false (BETA - default=true)
                                                 ExpandCSIVolumes=true|false (ALPHA - default=false)
                                                 ExpandInUsePersistentVolumes=true|false (BETA - default=true)
                                                 ExpandPersistentVolumes=true|false (BETA - default=true)
                                                 ExperimentalCriticalPodAnnotation=true|false (ALPHA - default=false)
                                                 ExperimentalHostUserNamespaceDefaulting=true|false (BETA - default=false)
                                                 HyperVContainer=true|false (ALPHA - default=false)
                                                 KubeletPodResources=true|false (BETA - default=true)
                                                 LocalStorageCapacityIsolation=true|false (BETA - default=true)
                                                 LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (ALPHA - default=false)
                                                 MountContainers=true|false (ALPHA - default=false)
                                                 NodeLease=true|false (BETA - default=true)
                                                 NonPreemptingPriority=true|false (ALPHA - default=false)
                                                 PodShareProcessNamespace=true|false (BETA - default=true)
                                                 ProcMountType=true|false (ALPHA - default=false)
                                                 QOSReserved=true|false (ALPHA - default=false)
                                                 RemainingItemCount=true|false (ALPHA - default=false)
                                                 RequestManagement=true|false (ALPHA - default=false)
                                                 ResourceLimitsPriorityFunction=true|false (ALPHA - default=false)
                                                 ResourceQuotaScopeSelectors=true|false (BETA - default=true)
                                                 RotateKubeletClientCertificate=true|false (BETA - default=true)
                                                 RotateKubeletServerCertificate=true|false (BETA - default=true)
                                                 RunAsGroup=true|false (BETA - default=true)
                                                 RuntimeClass=true|false (BETA - default=true)
                                                 SCTPSupport=true|false (ALPHA - default=false)
                                                 ScheduleDaemonSetPods=true|false (BETA - default=true)
                                                 ServerSideApply=true|false (ALPHA - default=false)
                                                 ServiceLoadBalancerFinalizer=true|false (ALPHA - default=false)
                                                 ServiceNodeExclusion=true|false (ALPHA - default=false)
                                                 StorageVersionHash=true|false (BETA - default=true)
                                                 StreamingProxyRedirects=true|false (BETA - default=true)
                                                 SupportNodePidsLimit=true|false (BETA - default=true)
                                                 SupportPodPidsLimit=true|false (BETA - default=true)
                                                 Sysctls=true|false (BETA - default=true)
                                                 TTLAfterFinished=true|false (ALPHA - default=false)
                                                 TaintBasedEvictions=true|false (BETA - default=true)
                                                 TaintNodesByCondition=true|false (BETA - default=true)
                                                 TokenRequest=true|false (BETA - default=true)
                                                 TokenRequestProjection=true|false (BETA - default=true)
                                                 ValidateProxyRedirects=true|false (BETA - default=true)
                                                 VolumePVCDataSource=true|false (ALPHA - default=false)
                                                 VolumeSnapshotDataSource=true|false (ALPHA - default=false)
                                                 VolumeSubpathEnvExpansion=true|false (BETA - default=true)
                                                 WatchBookmark=true|false (ALPHA - default=false)
                                                 WinDSR=true|false (ALPHA - default=false)
                                                 WinOverlay=true|false (ALPHA - default=false)
                                                 WindowsGMSA=true|false (ALPHA - default=false)

**--healthz-bind-address                 The IP address for the health check server to serve on (set to for all IPv4 interfaces and ** : for all IPv6 interfaces) (default

  --healthz-port int32                           The port to bind the health check server. Use 0 to disable. (default 10256)

-h, --help                                         help for kube-proxy
     --hostname-override string                     If non-empty, will use this string as identification instead of the actual hostname.
     --iptables-masquerade-bit int32                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]. (default 14)
     --iptables-min-sync-period duration            The minimum interval of how often the iptables rules can be refreshed as endpoints and services change (e.g. '5s', '1m', '2h22m').
     --iptables-sync-period duration                The maximum interval of how often iptables rules are refreshed (e.g. '5s', '1m', '2h22m').  Must be greater than 0. (default 30s)
     --ipvs-exclude-cidrs strings                   A comma-separated list of CIDR's which the ipvs proxier should not touch when cleaning up IPVS rules.
     --ipvs-min-sync-period duration                The minimum interval of how often the ipvs rules can be refreshed as endpoints and services change (e.g. '5s', '1m', '2h22m').
     --ipvs-scheduler string                        The ipvs scheduler type when proxy mode is ipvs
     --ipvs-strict-arp                              Enable strict ARP by setting arp_ignore to 1 and arp_announce to 2
     --ipvs-sync-period duration                    The maximum interval of how often ipvs rules are refreshed (e.g. '5s', '1m', '2h22m').  Must be greater than 0. (default 30s)
     --kube-api-burst int32                         Burst to use while talking with kubernetes apiserver (default 10)
     --kube-api-content-type string                 Content type of requests sent to apiserver. (default "application/vnd.kubernetes.protobuf")
     --kube-api-qps float32                         QPS to use while talking with kubernetes apiserver (default 5)
     --kubeconfig string                            Path to kubeconfig file with authorization information (the master location is set by the master flag).
     --log-flush-frequency duration                 Maximum number of seconds between log flushes (default 5s)
     --masquerade-all                               If using the pure iptables proxy, SNAT all traffic sent via Service cluster IPs (this not commonly needed)
     --master string                                The address of the Kubernetes API server (overrides any value in kubeconfig) **--metrics-bind-address                 The IP address for the metrics server to serve on (set to for all IPv4 interfaces and ** : for all IPv6 interfaces) (default

  --metrics-port int32                           The port to bind the metrics server. Use 0 to disable. (default 10249)
  --nodeport-addresses strings                   A string slice of values which specify the addresses to use for NodePorts. Values may be valid IP blocks (e.g., The default empty string slice ([]) means to use all local addresses.
  --oom-score-adj int32                          The oom-score-adj value for kube-proxy process. Values must be within the range [-1000, 1000] (default -999)
  --profiling                                    If true enables profiling via web interface on /debug/pprof handler.
--proxy-mode ProxyMode                         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.
  --proxy-port-range port-range                  Range of host ports (beginPort-endPort, single port or beginPort+offset, inclusive) that may be consumed in order to proxy service traffic. If (unspecified, 0, or 0-0) then ports will be randomly chosen.
  --udp-timeout duration                         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 (default 250ms)
  --version version[=true]                       Print version information and quit
  --write-config-to string                       If set, write the default configuration values to this file and exit.


/usr/bin/kube-proxy --logtostderr=true --v=0 --master=


User Manuals