kube-proxy 配置 (v1alpha1)

    KubeProxyConfiguration

    KubeProxyConntrackConfiguration

    出现在:

    KubeProxyConntrackConfiguration 包含为 Kubernetes 代理服务器提供的 conntrack 设置。

    字段描述
    maxPerCore [必需]
    int32
    maxPerCore 是每个 CPU 核所跟踪的 NAT 链接个数上限 (0 意味着保留当前上限限制并忽略 min 字段设置值)。
    min [必需]
    int32
    min 给出要分配的链接跟踪记录个数下限。 设置此值时会忽略 maxPerCore 的值(将 maxPerCore 设置为 0 时不会调整上限值)。
    tcpEstablishedTimeout [必需]
    tcpEstablishedTimeout 给出空闲 TCP 连接的保留时间(例如,’2s’)。 此值必须大于 0。
    tcpCloseWaitTimeout [必需]
    meta/v1.Duration
    tcpCloseWaitTimeout 用来设置空闲的、处于 CLOSE_WAIT 状态的 conntrack 条目 保留在 conntrack 表中的时间长度(例如,’60s’)。 此设置值必须大于 0。

    KubeProxyIPTablesConfiguration

    出现在:

    KubeProxyIPTablesConfiguration 包含用于 Kubernetes 代理服务器的、与 iptables 相关的配置细节。

    出现在:

    KubeProxyIPVSConfiguration 包含用于 Kubernetes 代理服务器的、与 ipvs 相关的配置细节。

    字段描述
    syncPeriod [必需]
    meta/v1.Duration
    syncPeriod 给出 ipvs 规则的刷新周期(例如,’5s’、’1m’、’2h22m’)。 此值必须大于 0。
    minSyncPeriod [必需]
    minSyncPeriod 给出 ipvs 规则被刷新的最小周期(例如,’5s’、’1m’、’2h22m’)。
    scheduler [必需]
    string
    IPVS 调度器。
    excludeCIDRs [必需]
    excludeCIDRs 取值为一个 CIDR 列表,ipvs 代理程序在清理 IPVS 服务时不应触碰这些 IP 地址。
    strictARP [必需]
    bool
    strictARP 用来配置 arp_ignore 和 arp_announce,以避免(错误地)响应来自 kube-ipvs0 接口的 ARP 查询请求。
    tcpTimeout [必需]
    meta/v1.Duration
    tcpTimeout 是用于设置空闲 IPVS TCP 会话的超时值。 默认值为 0,意味着使用系统上当前的超时值设置。
    tcpFinTimeout [必需]
    tcpFinTimeout 用来设置 IPVS TCP 会话在收到 FIN 之后的超时值。 默认值为 0,意味着使用系统上当前的超时值设置。
    udpTimeout [必需]
    meta/v1.Duration
    udpTimeout 用来设置 IPVS UDP 包的超时值。 默认值为 0,意味着使用系统上当前的超时值设置。

    KubeProxyWinkernelConfiguration

    出现在:

    KubeProxyWinkernelConfiguration 包含 Kubernetes 代理服务器的 Windows/HNS 设置。

    LocalMode

    出现在:

    LocalMode 代表的是对节点上本地流量进行检测的模式。

    ProxyMode

    string 类型的别名)

    出现在:

    ProxyMode 表示的是 Kubernetes 代理服务器所使用的模式。

    目前 Linux 平台上有三种可用的代理模式:’userspace’(相对较老,即将被淘汰)、 ‘iptables’(相对较新,速度较快)、’ipvs’(最新,在性能和可扩缩性上表现好)。

    在 Windows 平台上有两种可用的代理模式:’userspace’(相对较老,但稳定)和 ‘kernelspace’(相对较新,速度更快)。

    在 Linux 平台上,如果代理的 mode 为空,则使用可用的最佳代理(目前是 iptables, 将来可能会发生变化)。如果选择的是 iptables 代理(无论原因如何),但系统的内核 或者 iptables 的版本不够高,kube-proxy 也会回退为 userspace 代理服务器所使用的模式。 当代理的 mode 设置为 ‘ipvs’ 时会启用 IPVS 模式,对应的回退路径是先尝试 iptables, 最后回退到 userspace。

    出现在:

    ClientConnectionConfiguration 包含构造客户端所需要的细节信息。

    字段描述
    kubeconfig [必需]
    string
    kubeconfig 是指向一个 KubeConfig 文件的路径。
    acceptContentTypes [必需]
    string
    acceptContentTypes 定义客户端在连接到服务器时所发送的 Accept 头部字段。 此设置值会覆盖默认配置 ‘application/json’。 此字段会控制某特定客户端与指定服务器的所有链接。
    contentType [必需]
    string
    contentType 是从此客户端向服务器发送数据时使用的内容类型(Content Type)。
    qps [必需]
    float32
    qps 控制此连接上每秒钟可以发送的查询请求个数。
    burst [必需]
    int32
    允许客户端超出其速率限制时可以临时累积的额外查询个数。

    FormatOptions

    FormatOptions 包含不同日志记录格式的配置选项。

    JSONOptions

    出现在:

    JSONOptions 包含“json”日志格式的配置选项。

    字段描述
    splitStream [必需]
    bool
    [实验特性] splitStream 将信息类型的信息输出到标准输出,错误信息重定向到标准 错误输出,并提供缓存。默认行为是将二者都输出到标准输出且不提供缓存。
    infoBufferSize [必需]
    k8s.io/apimachinery/pkg/api/resource.QuantityValue
    [实验特性] infoBufferSize 设置在使用分离数据流时 info 数据流的缓冲区大小。 默认值为 0,意味着不提供缓存。

    VModuleConfiguration

    ( 的别名)

    VModuleConfiguration 是一组文件名或文件名模式,及其对应的日志详尽程度阈值配置。

    最后修改 December 11, 2021 at 5:45 PM PST: [zh] Translation of the kube-proxy configuration struct (fcd6c8e04)