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.34 0.34.0-r15 (enterprise-packages), captured 2026-11-08 by running proxy-server --help (exit 0). permalink

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)
      --authentication-audience string     Expected agent's token authentication audience (used with agent-namespace, agent-service-account, kubeconfig).
      --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)
      --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")
      --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 "0dc52b30-f433-474c-92b1-3c553184fa9a")
      --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) (default 2)
      --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 (50)
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
--authentication-audience stringExpected agent's token authentication audience (used with agent-namespace, agent-service-account, kubeconfig).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
--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
--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) (default 2)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.