kube-proxy 配置 (v1alpha1)
资源类型
ClientConnectionConfiguration
出现于
ClientConnectionConfiguration 包含用于构建客户端的详细信息。
| 字段 | 描述 |
|---|---|
kubeconfig [必需]string | kubeconfig 是指向 KubeConfig 文件的路径。 |
acceptContentTypes [必需]string | acceptContentTypes 定义了客户端连接到服务器时发送的 Accept 标头,覆盖了默认值“application/json”。此字段将控制所有与特定客户端使用的服务器的连接。 |
contentType [必需]string | contentType 是从该客户端将数据发送到服务器时使用的内容类型。 |
qps [必需]float32 | qps 控制此连接允许的每秒查询次数。 |
burst [必需]int32 | burst 允许在客户端超出速率时累积额外的查询。 |
DebuggingConfiguration
出现于
DebuggingConfiguration 保存与调试相关功能的配置。
| 字段 | 描述 |
|---|---|
enableProfiling [必需]bool | enableProfiling 通过 web 界面启用概要分析 host:port/debug/pprof/ |
enableContentionProfiling [必需]bool | 如果 enableProfiling 为真,则 enableContentionProfiling 启用阻塞概要分析。 |
LeaderElectionConfiguration
出现于
LeaderElectionConfiguration 定义了可以运行启用领导者选举的组件的领导者选举客户端的配置。
| 字段 | 描述 |
|---|---|
leaderElect [必需]bool | leaderElect 启用领导者选举客户端在执行主循环之前获得领导权。在运行复制的组件以实现高可用性时启用此功能。 |
leaseDuration [必需]meta/v1.Duration | leaseDuration 是非领导者候选人在观察到领导者续期后等待的时间,直到尝试获取已领导但未续期的领导者插槽的领导权。这实际上是领导者停止运行后才能被另一个候选者替换的最大持续时间。这仅在启用领导者选举时适用。 |
renewDeadline [必需]meta/v1.Duration | renewDeadline 是代理主服务器在停止领导之前尝试续期领导者插槽的间隔。这必须小于或等于租约持续时间。这仅在启用领导者选举时适用。 |
retryPeriod [必需]meta/v1.Duration | retryPeriod 是客户端在尝试获取和续期领导权之间应等待的持续时间。这仅在启用领导者选举时适用。 |
resourceLock [必需]string | resourceLock 指示将在领导者选举周期中用于锁定的资源对象类型。 |
resourceName [必需]string | resourceName 指示将在领导者选举周期中用于锁定的资源对象的名称。 |
resourceNamespace [必需]string | resourceName 指示将在领导者选举周期中用于锁定的资源对象的命名空间。 |
KubeProxyConfiguration
KubeProxyConfiguration 包含配置 Kubernetes 代理服务器所需的一切。
| 字段 | 描述 |
|---|---|
apiVersionstring | kubeproxy.config.k8s.io/v1alpha1 |
kindstring | KubeProxyConfiguration |
featureGates [必需]map[string]bool | featureGates 是一个将功能名称映射到布尔值的映射,这些布尔值启用或禁用 alpha/实验性功能。 |
clientConnection [必需]ClientConnectionConfiguration | clientConnection 指定代理服务器在与 apiserver 通信时使用的 kubeconfig 文件和客户端连接设置。 |
logging [必需]LoggingConfiguration | logging 指定日志记录选项。有关更多信息,请参阅 日志选项。 |
hostnameOverride [必需]string | hostnameOverride 如果非空,将用作 kube-proxy 正在运行的节点的名称。如果未设置,则节点名称假定与节点的主机名相同。 |
bindAddress [必需]string | bindAddress 可用于覆盖 kube-proxy 对其节点主要 IP 的看法。请注意,该名称是历史遗留物,kube-proxy 实际上不会将任何套接字绑定到此 IP。 |
healthzBindAddress [必需]string | healthzBindAddress 是健康检查服务器将要在其上提供服务的 IP 地址和端口,默认为“0.0.0.0:10256”(如果 bindAddress 未设置或为 IPv4),或“[::]:10256”(如果 bindAddress 为 IPv6)。 |
metricsBindAddress [必需]string | metricsBindAddress 是指标服务器将要在其上提供服务的 IP 地址和端口,默认为“127.0.0.1:10249”(如果 bindAddress 未设置或为 IPv4),或“[::1]:10249”(如果 bindAddress 为 IPv6)。(设置为“0.0.0.0:10249” / “[::]:10249” 以绑定到所有接口。) |
bindAddressHardFail [必需]bool | bindAddressHardFail 如果为真,则告诉 kube-proxy 将无法绑定到端口视为致命错误并退出 |
enableProfiling [必需]bool | enableProfiling 通过 /debug/pprof 处理程序上的 web 界面启用概要分析。概要分析处理程序将由指标服务器处理。 |
showHiddenMetricsForVersion [必需]string | showHiddenMetricsForVersion 是您要显示隐藏指标的版本。 |
mode [必需]ProxyMode | mode 指定要使用的代理模式。 |
iptables [必需]KubeProxyIPTablesConfiguration | iptables 包含与 iptables 相关的配置选项。 |
ipvs [必需]KubeProxyIPVSConfiguration | ipvs 包含与 ipvs 相关的配置选项。 |
nftables [必需]KubeProxyNFTablesConfiguration | nftables 包含与 nftables 相关的配置选项。 |
winkernel [必需]KubeProxyWinkernelConfiguration | winkernel 包含与 winkernel 相关的配置选项。 |
detectLocalMode [必需]LocalMode | detectLocalMode 确定用于检测本地流量的模式,默认为 LocalModeClusterCIDR |
detectLocal [必需]DetectLocalConfiguration | detectLocal 包含与 DetectLocalMode 选项相关的可选配置设置。 |
clusterCIDR [必需]string | clusterCIDR 是集群中 Pod 的 CIDR 范围。(对于双栈集群,这可以是 CIDR 范围的逗号分隔双栈对。)当 DetectLocalMode 设置为 LocalModeClusterCIDR 时,kube-proxy 将认为源 IP 在此范围内的流量是本地的。(否则不使用。) |
nodePortAddresses [必需][]string | nodePortAddresses 是一个包含有效节点 IP 的 CIDR 范围列表。如果设置,则仅在指示的范围之一中的节点 IP 上接受对 NodePort 服务的连接。如果未设置,则将在所有本地 IP 上接受 NodePort 连接。 |
oomScoreAdj [必需]int32 | oomScoreAdj 是 kube-proxy 进程的 oom-score-adj 值。值必须在 [-1000, 1000] 范围内 |
conntrack [必需]KubeProxyConntrackConfiguration | conntrack 包含与 conntrack 相关的配置选项。 |
configSyncPeriod [必需]meta/v1.Duration | configSyncPeriod 是从 apiserver 刷新配置的频率。必须大于 0。 |
portRange [必需]string | portRange 以前用于配置用户空间代理,但现在未使用。 |
DetectLocalConfiguration
出现于
DetectLocalConfiguration 包含与 DetectLocalMode 选项相关的可选设置
| 字段 | 描述 |
|---|---|
bridgeInterface [必需]string | bridgeInterface 是桥接接口名称。当 DetectLocalMode 设置为 LocalModeBridgeInterface 时,kube-proxy 将认为来自此桥接的流量是本地的。 |
interfaceNamePrefix [必需]string | interfaceNamePrefix 是接口名称前缀。当 DetectLocalMode 设置为 LocalModeInterfaceNamePrefix 时,kube-proxy 将认为来自名称以该前缀开头的任何接口的流量是本地的。 |
KubeProxyConntrackConfiguration
出现于
KubeProxyConntrackConfiguration 包含 Kubernetes 代理服务器的 conntrack 设置。
| 字段 | 描述 |
|---|---|
maxPerCore [必需]int32 | maxPerCore 是每个 CPU 内核跟踪的 NAT 连接的最大数量(0 表示将限制保持原样并忽略最小值)。 |
min [必需]int32 | min 是分配的连接跟踪记录的最小值,无论 maxPerCore 如何(将 maxPerCore=0 设置为将限制保持原样)。 |
tcpEstablishedTimeout [必需]meta/v1.Duration | tcpEstablishedTimeout 是保持空闲 TCP 连接打开的时间(例如“2s”)。必须大于 0 才能设置。 |
tcpCloseWaitTimeout [必需]meta/v1.Duration | tcpCloseWaitTimeout 是 conntrack 表中 CLOSE_WAIT 状态的空闲 conntrack 条目将保留的时间。(例如“60s”)。必须大于 0 才能设置。 |
tcpBeLiberal [必需]bool | 如果 tcpBeLiberal 为真,kube-proxy 将配置 conntrack 以对 TCP 连接运行宽松模式,并且带有窗口外序列号的数据包不会被标记为无效。 |
udpTimeout [必需]meta/v1.Duration | udpTimeout 是 conntrack 表中 UNREPLIED 状态的空闲 UDP conntrack 条目将保留的时间(例如“30s”)。必须大于 0 才能设置。 |
udpStreamTimeout [必需]meta/v1.Duration | udpStreamTimeout 是 conntrack 表中 ASSURED 状态的空闲 UDP conntrack 条目将保留的时间(例如“300s”)。必须大于 0 才能设置。 |
KubeProxyIPTablesConfiguration
出现于
KubeProxyIPTablesConfiguration 包含 Kubernetes 代理服务器的与 iptables 相关的配置详细信息。
| 字段 | 描述 |
|---|---|
masqueradeBit [必需]int32 | masqueradeBit 是如果使用 iptables 或 ipvs 代理模式,则用于 SNAT 的 iptables fwmark 空间的位。值必须在 [0, 31] 范围内。 |
masqueradeAll [必需]bool | masqueradeAll 告诉 kube-proxy 在使用 iptables 或 ipvs 代理模式时对发送到 Service 集群 IP 的所有流量进行 SNAT。这可能需要与某些 CNI 插件一起使用。 |
localhostNodePorts [必需]bool | localhostNodePorts 如果为假,则告诉 kube-proxy 禁用允许通过 localhost 访问 NodePort 服务的传统行为。(仅适用于 iptables 模式和 IPv4;localhost NodePort 从不允许使用其他代理模式或 IPv6。) |
syncPeriod [必需]meta/v1.Duration | syncPeriod 是一个间隔(例如“5s”、“1m”、“2h22m”),表示各种重新同步和清理操作执行的频率。必须大于 0。 |
minSyncPeriod [必需]meta/v1.Duration | minSyncPeriod 是 iptables 规则重新同步之间的最小间隔(例如“5s”、“1m”、“2h22m”)。值为 0 表示每个服务或 EndpointSlice 更改都会导致立即重新同步 iptables 规则。 |
KubeProxyIPVSConfiguration
出现于
KubeProxyIPVSConfiguration 包含 Kubernetes 代理服务器的与 ipvs 相关的配置详细信息。
| 字段 | 描述 |
|---|---|
syncPeriod [必需]meta/v1.Duration | syncPeriod 是一个间隔(例如“5s”、“1m”、“2h22m”),表示各种重新同步和清理操作执行的频率。必须大于 0。 |
minSyncPeriod [必需]meta/v1.Duration | minSyncPeriod 是 IPVS 规则重新同步之间的最小间隔(例如“5s”、“1m”、“2h22m”)。值为 0 表示每个服务或 EndpointSlice 更改都会导致立即重新同步 IPVS 规则。 |
scheduler [必需]string | scheduler 是要使用的 IPVS 调度器 |
excludeCIDRs [必填][]string | excludeCIDRs 是一个 CIDR 列表,ipvs 代理在清理 ipvs 服务时不应触及这些 CIDR。 |
strictARP [必填]bool | strictARP 配置 arp_ignore 和 arp_announce 以避免响应来自 kube-ipvs0 接口的 ARP 查询。 |
tcpTimeout [必填]meta/v1.Duration | tcpTimeout 是用于空闲 IPVS TCP 会话的超时值。默认值为 0,保留系统上当前的超时值。 |
tcpFinTimeout [必填]meta/v1.Duration | tcpFinTimeout 是在收到 FIN 后用于 IPVS TCP 会话的超时值。默认值为 0,保留系统上当前的超时值。 |
udpTimeout [必需]meta/v1.Duration | udpTimeout 是用于 IPVS UDP 数据包的超时值。默认值为 0,保留系统上当前的超时值。 |
KubeProxyNFTablesConfiguration
出现于
KubeProxyNFTablesConfiguration 包含 Kubernetes 代理服务器的与 nftables 相关的配置详细信息。
| 字段 | 描述 |
|---|---|
masqueradeBit [必需]int32 | masqueradeBit 是 iptables fwmark 空间中用于 SNAT 的位,如果使用 nftables 代理模式。值必须在 [0, 31] 范围内。 |
masqueradeAll [必需]bool | masqueradeAll 指示 kube-proxy 在使用 nftables 模式时,对发送到服务集群 IP 的所有流量进行 SNAT。在某些 CNI 插件中可能需要这样做。 |
syncPeriod [必需]meta/v1.Duration | syncPeriod 是一个间隔(例如“5s”、“1m”、“2h22m”),表示各种重新同步和清理操作执行的频率。必须大于 0。 |
minSyncPeriod [必需]meta/v1.Duration | minSyncPeriod 是 iptables 规则重新同步之间的最小间隔(例如“5s”、“1m”、“2h22m”)。值为 0 表示每个服务或 EndpointSlice 更改都会导致立即重新同步 iptables 规则。 |
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 是连接到根网络命名空间的 l2bridge 的 hnsendpoint 名称。 |
forwardHealthCheckVip [必填]bool | forwardHealthCheckVip 在 Windows 上转发用于健康检查端口的服务 VIP。 |
LocalMode
(string 的别名)
出现于
LocalMode 表示用于检测来自节点的本地流量的模式。
ProxyMode
(string 的别名)
出现于
ProxyMode 表示 Kubernetes 代理服务器使用的模式。
目前,Linux 平台上提供两种代理模式:'iptables' 和 'ipvs'。Windows 平台上提供一种代理模式:'kernelspace'。
如果未指定代理模式,将使用最佳可用代理模式(目前在 Linux 上为 iptables,在 Windows 上为 kernelspace)。如果选择的代理模式无法使用(由于缺乏内核支持、缺少用户空间组件等),则 kube-proxy 将退出并显示错误。
此页面是自动生成的。
如果您打算报告此页面的问题,请在问题描述中提及此页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。