OS Manuals

/usr/bin/proxy-server

The Konnectivity proxy-server tunnels Kubernetes control-plane traffic from the kube-apiserver to cluster-internal destinations through paired konnectivity-agents using gRPC or HTTP-CONNECT over (m)TLS.

From apiserver-network-proxy-0.37 0.37.0-r5 (enterprise-packages), captured 2026-11-08 by running proxy-server --help (exit 0). permalink

Also provided by 7 other package versions
A gRPC proxy server, receives requests from the API server and forwards to the agent.

Usage:
  proxy [flags]

Flags:
      --add-dir-header                       If true, adds the file directory to the header of the log messages
      --admin-bind-address string            Bind address for admin connections. If empty, we will bind to localhost. (default "127.0.0.1")
      --admin-port int                       Port we listen for admin connections on. (default 8095)
      --agent-bind-address string            Bind address for agent connections. If empty, we will bind to all interfaces.
      --agent-namespace string               Expected agent's namespace during agent authentication (used with agent-service-account, authentication-audience, kubeconfig).
      --agent-port int                       Port we listen for agent connections on. (default 8091)
      --agent-service-account string         Expected agent's service account during agent authentication (used with agent-namespace, authentication-audience, kubeconfig).
      --alsologtostderr                      log to standard error as well as files (no effect when -logtostderr=true)
      --alsologtostderrthreshold severity    logs at or above this threshold go to stderr when -alsologtostderr=true (no effect when -logtostderr=true)
      --authentication-audience string       Expected agent's token authentication audience (used with agent-namespace, agent-service-account, kubeconfig).
      --backend-dial-timeout duration        Timeout duration for sending DIAL_REQ packets to backend agent streams and waiting for DIAL_RSP. Set to 0 to disable timeout (default: 0).
      --cipher-suites strings                The comma separated list of allowed cipher suites. Has no effect on TLS1.3. Empty means allow default list.
      --cluster-ca-cert string               If non-empty the CA we use to validate Agent clients.
      --cluster-cert string                  If non-empty secure communication with this cert.
      --cluster-key string                   If non-empty secure communication with this key.
      --delete-existing-uds-file             If true and if file UdsName already exists, delete the file before listen on that UDS file. Default is true. (default true)
      --enable-contention-profiling          enable contention profiling at host:admin-port/debug/pprof/block. "--enable-profiling" must also be set.
      --enable-lease-controller              Enable lease controller to publish and garbage collect proxy server leases.
      --enable-profiling                     enable pprof at host:admin-port/debug/pprof
      --frontend-keepalive-time duration     Time for gRPC frontend server keepalive. (default 1h0m0s)
      --frontend-write-channel-size int      The number of packets buffered for each HTTP CONNECT frontend before backend receive processing blocks. Set to 0 to disable the queue and write synchronously. (default 10)
      --graceful-shutdown-timeout duration   Timeout duration for graceful shutdown of the server. The server will wait for active connections to close before forcefully terminating. Set to 0 to disable graceful shutdown (default: 0).
      --health-bind-address string           Bind address for health connections. If empty, we will bind to all interfaces.
      --health-port int                      Port we listen for health connections on. (default 8092)
  -h, --help                                 help for proxy
      --keepalive-time duration              Time for gRPC agent server keepalive. (default 1h0m0s)
      --kube-api-content-type string         Content type of requests sent to apiserver. (default "application/vnd.kubernetes.protobuf")
      --kubeconfig string                    absolute path to the kubeconfig file (used with agent-namespace, agent-service-account, authentication-audience).
      --kubeconfig-burst int                 Maximum client burst (proxy server uses this client to authenticate agent tokens).
      --kubeconfig-qps float32               Maximum client QPS (proxy server uses this client to authenticate agent tokens).
      --lease-label string                   The labels on which the lease objects are managed. (default "k8s-app=konnectivity-server")
      --lease-namespace string               The namespace where lease objects are managed by the controller. (default "kube-system")
      --legacy-stderr-threshold-behavior     If true, stderrthreshold is ignored when logtostderr=true (legacy behavior). If false, stderrthreshold is honored even when logtostderr=true (default true)
      --log-backtrace-at traceLocation       when logging hits line file:N, emit a stack trace (default :0)
      --log-dir string                       If non-empty, write log files in this directory (no effect when -logtostderr=true)
      --log-file string                      If non-empty, use this log file (no effect when -logtostderr=true)
      --log-file-max-size uint               Defines the maximum size a log file can grow to (no effect when -logtostderr=true). Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
      --logtostderr                          log to standard error instead of files (default true)
      --mode string                          mode can be either 'grpc' or 'http-connect'. (default "grpc")
      --one-output                           If true, only write logs to their native severity level (vs also writing to each lower severity level; no effect when -logtostderr=true)
      --proxy-strategies string              The list of proxy strategies used by the server to pick an agent/tunnel, available strategies are: default, destHost, defaultRoute. (default "default")
      --server-bind-address string           Bind address for server connections. If empty, we will bind to all interfaces.
      --server-ca-cert string                If non-empty the CA we use to validate KAS clients.
      --server-cert string                   If non-empty secure communication with this cert.
      --server-count int                     The number of proxy server instances, should be 1 unless it is an HA server. (default 1)
      --server-id string                     The unique ID of this server. Can also be set by the 'PROXY_SERVER_ID' environment variable. (default "0de8d609-3914-468c-99a4-8beeead81203")
      --server-key string                    If non-empty secure communication with this key.
      --server-port int                      Port we listen for server connections on. Set to 0 for UDS. (default 8090)
      --skip-headers                         If true, avoid header prefixes in the log messages
      --skip-log-headers                     If true, avoid headers when opening log files (no effect when -logtostderr=true)
      --stderrthreshold severity             logs at or above this threshold go to stderr when writing to files and stderr (no effect when -logtostderr=true or -alsologtostderr=true unless -legacy_stderr_threshold_behavior=false) (default 2)
      --tls-min-version string               Minimum TLS version for server connections. Accepted values: VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13. Empty defaults to VersionTLS12.
      --uds-name string                      uds-name should be empty for TCP traffic. For UDS set to its name.
  -v, --v Level                              number for the log level verbosity (default 4)
      --vmodule moduleSpec                   comma-separated list of pattern=N settings for file-filtered logging
      --xfr-channel-size int                 The size of the two KNP server channels used in server for transferring data. One channel is for data coming from the Kubernetes API Server, and the other one is for data coming from the KNP agent. (default 10)
Options (56)
OptionDescriptionSource
--add-dir-headerIf true, adds the file directory to the header of the log messageshelp
--admin-bind-address stringBind address for admin connections.help
--admin-port intPort we listen for admin connections on.help
--agent-bind-address stringBind address for agent connections.help
--agent-namespace stringExpected agent's namespace during agent authentication (used with agent-service-account, authentication-audience, kubeconfig).help
--agent-port intPort we listen for agent connections on.help
--agent-service-account stringExpected agent's service account during agent authentication (used with agent-namespace, authentication-audience, kubeconfig).help
--alsologtostderrlog to standard error as well as files (no effect when -logtostderr=true)help
--alsologtostderrthreshold severitylogs at or above this threshold go to stderr when -alsologtostderr=true (no effect when -logtostderr=true)help
--authentication-audience stringExpected agent's token authentication audience (used with agent-namespace, agent-service-account, kubeconfig).help
--backend-dial-timeout durationTimeout duration for sending DIAL_REQ packets to backend agent streams and waiting for DIAL_RSP.help
--cipher-suites stringsThe comma separated list of allowed cipher suites.help
--cluster-ca-cert stringIf non-empty the CA we use to validate Agent clients.help
--cluster-cert stringIf non-empty secure communication with this cert.help
--cluster-key stringIf non-empty secure communication with this key.help
--delete-existing-uds-fileIf true and if file UdsName already exists, delete the file before listen on that UDS file.help
--enable-contention-profilingenable contention profiling at host:admin-port/debug/pprof/block.help
--enable-lease-controllerEnable lease controller to publish and garbage collect proxy server leases.help
--enable-profilingenable pprof at host:admin-port/debug/pprofhelp
--frontend-keepalive-time durationTime for gRPC frontend server keepalive.help
--frontend-write-channel-size intThe number of packets buffered for each HTTP CONNECT frontend before backend receive processing blocks.help
--graceful-shutdown-timeout durationTimeout duration for graceful shutdown of the server.help
--health-bind-address stringBind address for health connections.help
--health-port intPort we listen for health connections on.help
-h, --helphelp for proxyhelp
--keepalive-time durationTime for gRPC agent server keepalive.help
--kube-api-content-type stringContent type of requests sent to apiserver.help
--kubeconfig stringabsolute path to the kubeconfig file (used with agent-namespace, agent-service-account, authentication-audience).help
--kubeconfig-burst intMaximum client burst (proxy server uses this client to authenticate agent tokens).help
--kubeconfig-qps float32Maximum client QPS (proxy server uses this client to authenticate agent tokens).help
--lease-label stringThe labels on which the lease objects are managed.help
--lease-namespace stringThe namespace where lease objects are managed by the controller.help
--legacy-stderr-threshold-behaviorIf true, stderrthreshold is ignored when logtostderr=true (legacy behavior).help
--log-backtrace-at traceLocationwhen logging hits line file:N, emit a stack trace (default :0)help
--log-dir stringIf non-empty, write log files in this directory (no effect when -logtostderr=true)help
--log-file stringIf non-empty, use this log file (no effect when -logtostderr=true)help
--log-file-max-size uintDefines the maximum size a log file can grow to (no effect when -logtostderr=true).help
--logtostderrlog to standard error instead of files (default true)help
--mode stringmode can be either 'grpc' or 'http-connect'.help
--one-outputIf true, only write logs to their native severity level (vs also writing to each lower severity level;help
--proxy-strategies stringThe list of proxy strategies used by the server to pick an agent/tunnel, available strategies are: default, destHost, defaultRoute.help
--server-bind-address stringBind address for server connections.help
--server-ca-cert stringIf non-empty the CA we use to validate KAS clients.help
--server-cert stringIf non-empty secure communication with this cert.help
--server-count intThe number of proxy server instances, should be 1 unless it is an HA server.help
--server-id stringThe unique ID of this server.help
--server-key stringIf non-empty secure communication with this key.help
--server-port intPort we listen for server connections on.help
--skip-headersIf true, avoid header prefixes in the log messageshelp
--skip-log-headersIf true, avoid headers when opening log files (no effect when -logtostderr=true)help
--stderrthreshold severitylogs at or above this threshold go to stderr when writing to files and stderr (no effect when -logtostderr=true or -alsologtostderr=true unless -legacy_stderr_threshold_behavior=false) (default 2)help
--tls-min-version stringMinimum TLS version for server connections.help
--uds-name stringuds-name should be empty for TCP traffic.help
-v, --v Levelnumber for the log level verbosity (default 4)help
--vmodule moduleSpeccomma-separated list of pattern=N settings for file-filtered logginghelp
--xfr-channel-size intThe size of the two KNP server channels used in server for transferring data.help

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.