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