kube-proxy Configuration (v1alpha1)

    KubeProxyConfiguration

    KubeProxyConntrackConfiguration

    Appears in:

    KubeProxyConntrackConfiguration contains conntrack settings for the Kubernetes proxy server.

    FieldDescription
    maxPerCore [Required]
    int32
    maxPerCore is the maximum number of NAT connections to track per CPU core (0 to leave the limit as-is and ignore min).
    min [Required]
    int32
    min is the minimum value of connect-tracking records to allocate, regardless of conntrackMaxPerCore (set maxPerCore=0 to leave the limit as-is).
    tcpEstablishedTimeout [Required]
    meta/v1.Duration
    tcpEstablishedTimeout is how long an idle TCP connection will be kept open (e.g. ‘2s’). Must be greater than 0 to set.
    tcpCloseWaitTimeout [Required]
    tcpCloseWaitTimeout is how long an idle conntrack entry in CLOSE_WAIT state will remain in the conntrack table. (e.g. ‘60s’). Must be greater than 0 to set.

    KubeProxyIPTablesConfiguration

    Appears in:

    KubeProxyIPTablesConfiguration contains iptables-related configuration details for the Kubernetes proxy server.

    FieldDescription
    masqueradeBit [Required]
    int32
    masqueradeBit is the bit of the iptables fwmark space to use for SNAT if using the pure iptables proxy mode. Values must be within the range [0, 31].
    masqueradeAll [Required]
    bool
    masqueradeAll tells kube-proxy to SNAT everything if using the pure iptables proxy mode.
    syncPeriod [Required]
    meta/v1.Duration
    syncPeriod is the period that iptables rules are refreshed (e.g. ‘5s’, ‘1m’, ‘2h22m’). Must be greater than 0.
    minSyncPeriod [Required]
    minSyncPeriod is the minimum period that iptables rules are refreshed (e.g. ‘5s’, ‘1m’, ‘2h22m’).

    KubeProxyIPVSConfiguration

    Appears in:

    KubeProxyIPVSConfiguration contains ipvs-related configuration details for the Kubernetes proxy server.

    Appears in:

    KubeProxyWinkernelConfiguration contains Windows/HNS settings for the Kubernetes proxy server.

    FieldDescription
    networkName [Required]
    string
    networkName is the name of the network kube-proxy will use to create endpoints and policies
    sourceVip [Required]
    string
    sourceVip is the IP address of the source VIP endoint used for NAT when loadbalancing
    enableDSR [Required]
    bool
    enableDSR tells kube-proxy whether HNS policies should be created with DSR

    LocalMode

    (Alias of string)

    Appears in:

    LocalMode represents modes to detect local traffic from the node

    ProxyMode

    (Alias of string)

    Appears in:

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

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

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

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

    ClientConnectionConfiguration

    Appears in:

    ClientConnectionConfiguration contains details for constructing a client.

    FieldDescription
    [Required]
    string
    kubeconfig is the path to a KubeConfig file.
    acceptContentTypes [Required]
    string
    acceptContentTypes defines the Accept header sent by clients when connecting to a server, overriding the default value of ‘application/json’. This field will control all connections to the server used by a particular client.
    contentType [Required]
    string
    contentType is the content type used when sending data to the server from this client.
    qps [Required]
    float32
    qps controls the number of queries per second allowed for this connection.
    burst [Required]
    int32
    burst allows extra queries to accumulate when a client is exceeding its rate.

    DebuggingConfiguration

    Appears in:

    DebuggingConfiguration holds configuration for Debugging related features.

    Appears in:

    FormatOptions contains options for the different logging formats.

    FieldDescription
    json [Required]
    [Experimental] JSON contains options for logging format “json”.

    JSONOptions

    Appears in:

    JSONOptions contains options for logging format “json”.

    FieldDescription
    splitStream [Required]
    bool
    [Experimental] SplitStream redirects error messages to stderr while info messages go to stdout, with buffering. The default is to write both to stdout, without buffering.
    infoBufferSize [Required]
    k8s.io/apimachinery/pkg/api/resource.QuantityValue
    [Experimental] InfoBufferSize sets the size of the info stream when using split streams. The default is zero, which disables buffering.

    LeaderElectionConfiguration

    Appears in:

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

    LoggingConfiguration

    Appears in:

    LoggingConfiguration contains logging options Refer Logs Options for more information.

    FieldDescription
    format [Required]
    string
    Format Flag specifies the structure of log messages. default value of format is text
    flushFrequency [Required]
    Maximum number of seconds between log flushes. Ignored if the selected logging backend writes log messages without buffering.
    verbosity [Required]
    uint32
    Verbosity is the threshold that determines which log messages are logged. Default is zero which logs only the most important messages. Higher values enable additional messages. Error messages are always logged.
    vmodule [Required]
    VModuleConfiguration
    VModule overrides the verbosity threshold for individual files. Only supported for “text” log format.
    sanitization [Required]
    bool
    [Experimental] When enabled prevents logging of fields tagged as sensitive (passwords, keys, tokens). Runtime log sanitization may introduce significant computation overhead and therefore should not be enabled in production.`)
    options [Required]
    [Experimental] Options holds additional parameters that are specific to the different logging formats. Only the options for the selected format get used, but all of them get validated.

    (Alias of []k8s.io/component-base/config/v1alpha1.VModuleItem)

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