kube-proxy 配置 (v1alpha1)

    KubeProxyConfiguration

    DetectLocalConfiguration

    出现在:

    DetectLocalConfiguration 包含与 DetectLocalMode 选项相关的可选设置。

    字段描述
    bridgeInterface [必需]
    string

    bridgeInterface 字段是一个表示单个桥接接口名称的字符串参数。 Kube-proxy 将来自这个给定桥接接口的流量视为本地流量。 如果 DetectLocalMode 设置为 LocalModeBridgeInterface,则应设置该参数。

    interfaceNamePrefix [必需]
    string

    interfaceNamePrefix 字段是一个表示单个接口前缀名称的字符串参数。 Kube-proxy 将来自一个或多个与给定前缀匹配的接口流量视为本地流量。 如果 DetectLocalMode 设置为 LocalModeInterfaceNamePrefix,则应设置该参数。

    KubeProxyConntrackConfiguration

    出现在:

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

    字段描述
    maxPerCore [必需]
    int32

    maxPerCore 字段是每个 CPU 核所跟踪的 NAT 链接个数上限 (0 意味着保留当前上限限制并忽略 min 字段设置值)。

    min [必需]
    int32

    min 字段给出要分配的链接跟踪记录个数下限。 设置此值时会忽略 maxPerCore 的值(将 maxPerCore 设置为 0 时不会调整上限值)。

    tcpEstablishedTimeout [必需]
    meta/v1.Duration

    tcpEstablishedTimeout 字段给出空闲 TCP 连接的保留时间(例如,’2s’)。 此值必须大于 0。

    tcpCloseWaitTimeout [必需]

    tcpCloseWaitTimeout 字段用来设置空闲的、处于 CLOSE_WAIT 状态的 conntrack 条目 保留在 conntrack 表中的时间长度(例如,’60s’)。 此设置值必须大于 0。

    KubeProxyIPTablesConfiguration

    出现在:

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

    字段描述
    masqueradeBit [必需]
    int32

    masqueradeBit 字段是 iptables fwmark 空间中的具体一位, 用来在纯 iptables 代理模式下设置 SNAT。此值必须介于 [0, 31](含边界值)。

    masqueradeAll [必需]
    bool

    masqueradeAll 字段用来通知 kube-proxy 在使用纯 iptables 代理模式时对所有流量执行 SNAT 操作。

    syncPeriod [必需]
    meta/v1.Duration
    minSyncPeriod [必需]

    minSyncPeriod 字段给出 iptables 规则被刷新的最小周期(例如,’5s’、’1m’、’2h22m’)。

    出现在:

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

    KubeProxyWinkernelConfiguration

    出现在:

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

    字段描述
    networkName [必需]
    string

    networkName 字段是 kube-proxy 用来创建端点和策略的网络名称。

    sourceVip [必需]
    string

    sourceVip 字段是执行负载均衡时进行 NAT 转换所使用的源端 VIP 端点 IP 地址。

    enableDSR [必需]
    bool

    enableDSR 字段通知 kube-proxy 是否使用 DSR 来创建 HNS 策略。

    rootHnsEndpointName [必需]
    string

    rootHnsEndpointName 字段是附加到用于根网络命名空间二层桥接的 hnsendpoint 的名称。

    forwardHealthCheckVip [必需]
    bool

    forwardHealthCheckVip 字段为 Windows 上的健康检查端口转发服务 VIP。

    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。

    在 Windows 平台上,如果代理 mode 为空,则使用可用的最佳代理(目前是 userspace, 不过将来可能会发生变化)。如果所选择的是 winkernel 代理(无论原因如何), 但 Windows 内核不支持此代理模式,则 kube-proxy 会回退到 userspace 代理。

    ClientConnectionConfiguration

    出现在:

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

    字段描述
    kubeconfig [必需]
    string

    kubeconfig 字段是指向一个 KubeConfig 文件的路径。

    acceptContentTypes [必需]
    string

    acceptContentTypes 字段定义客户端在连接到服务器时所发送的 Accept 头部字段。 此设置值会覆盖默认配置 ‘application/json’。 此字段会控制某特定客户端与指定服务器的所有链接。

    contentType [必需]
    string
    qps [必需]
    float32

    qps 字段控制此连接上每秒钟可以发送的查询请求个数。

    burst [必需]
    int32

    burst 字段允许客户端超出其速率限制时可以临时累积的额外查询个数。

    出现在:

    DebuggingConfiguration 包含调试相关功能的配置。

    字段描述
    enableProfiling [Required]
    bool

    enableProfiling 字段通过位于 host:port/debug/pprof/ 的 Web 接口启用性能分析。

    enableContentionProfiling [Required]
    bool

    enableContentionProfiling 字段在 enableProfiling 为 true 时允许执行锁竞争分析。

    FormatOptions

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

    JSONOptions

    出现在:

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

    字段描述
    splitStream [必需]
    bool

    [实验特性] splitStream 字段将信息类型的信息输出到标准输出,错误信息重定向到标准 错误输出,并提供缓存。默认行为是将二者都输出到标准输出且不提供缓存。

    infoBufferSize [必需]

    [实验特性] infoBufferSize 字段设置在使用分离数据流时 info 数据流的缓冲区大小。 默认值为 0,意味着不提供缓存。

    LeaderElectionConfiguration

    出现在:

    LeaderElectionConfiguration 为能够支持领导者选举的组件定义其领导者选举客户端的配置。

    字段描述
    leaderElect [必需]
    bool

    leaderElect 字段允许领导者选举客户端在进入主循环执行之前先获得领导者角色。 运行多副本组件时启用此功能有助于提高可用性。

    leaseDuration [必需]
    meta/v1.Duration

    leaseDuration 字段是非领导角色候选者在观察到需要领导席位更新时要等待的时间; 只有经过所设置时长才可以尝试去获得一个仍处于领导状态但需要被刷新的席位。 这里的设置值本质上意味着某个领导者在被另一个候选者替换掉之前可以停止运行的最长时长。 只有当启用了领导者选举时此字段有意义。

    renewDeadline [必需]

    renewDeadline 字段设置的是当前领导者在停止扮演领导角色之前需要刷新领导状态的时间间隔。 此值必须小于或等于租约期限的长度。只有到启用了领导者选举时此字段才有意义。

    retryPeriod [必需]
    meta/v1.Duration

    retryPeriod 字段是客户端在连续两次尝试获得或者刷新领导状态之间需要等待的时长。 只有当启用了领导者选举时此字段才有意义。

    resourceLock [必需]
    string

    resourceLock 字段给出在领导者选举期间要作为锁来使用的资源对象类型。

    resourceName [必需]
    string

    resourceName 字段给出在领导者选举期间要作为锁来使用的资源对象名称。

    resourceNamespace [必需]
    string

    resourceNamespace 字段给出在领导者选举期间要作为锁来使用的资源对象所在名字空间。

    LoggingConfiguration

    出现在:

    LoggingConfiguration 包含日志选项。 参考 Logs Options 以了解更多信息。

    字段描述
    format [必需]
    string

    format 字段设置日志消息的结构。默认的格式取值为 text

    flushFrequency [必需]

    对日志进行清洗的最大间隔纳秒数(例如,1s = 1000000000)。 如果所选的日志后端在写入日志消息时不提供缓存,则此配置会被忽略。

    verbosity [必需]
    uint32

    verbosity 字段用来确定日志消息记录的详细程度阈值。 默认值为 0,意味着仅记录最重要的消息。 数值越大,额外的消息越多。错误消息总是被记录下来。

    vmodule [必需]
    VModuleConfiguration

    vmodule 字段会在单个文件层面重载 verbosity 阈值的设置。 这一选项仅支持 “text” 日志格式。

    options [Required]

    [实验特性] options 字段中包含特定于不同日志格式的配置参数。 只有针对所选格式的选项会被使用,但是合法性检查时会查看所有选项配置。

    []k8s.io/component-base/config/v1alpha1.VModuleItem 的别名)

    出现在: