kube-proxy 配置 (v1alpha1)
资源类型
FormatOptions
出现在
FormatOptions 包含用于不同日志格式的选项。
字段 | 描述 |
---|---|
text [必需]TextOptions | [Alpha] Text 包含用于日志格式“text”的选项。仅当启用 LoggingAlphaOptions 功能门时才可用。 |
json [必需]JSONOptions | [Alpha] JSON 包含用于日志格式“json”的选项。仅当启用 LoggingAlphaOptions 功能门时才可用。 |
JSONOptions
出现在
JSONOptions 包含用于日志格式“json”的选项。
字段 | 描述 |
---|---|
OutputRoutingOptions [必需]OutputRoutingOptions | (OutputRoutingOptions 的成员嵌入到此类型中。)未提供描述。 |
LogFormatFactory
LogFormatFactory 为某些额外的、非默认的日志格式提供支持。
LoggingConfiguration
出现在
LoggingConfiguration 包含日志选项。
字段 | 描述 |
---|---|
format [必需]字符串 | Format 标志指定日志消息的结构。格式的默认值为 |
flushFrequency [必需]TimeOrMetaDuration | 日志刷新之间的最大时间。如果是一个字符串,则解析为持续时间(例如“1s”)。如果是一个整数,则为最大纳秒数(例如 1s = 1000000000)。如果所选日志后端在不缓冲的情况下写入日志消息,则忽略此设置。 |
verbosity [必需]VerbosityLevel | Verbosity 是确定记录哪些日志消息的阈值。默认值为零,仅记录最重要的消息。较高的值会启用其他消息。始终记录错误消息。 |
vmodule [必需]VModuleConfiguration | VModule 覆盖单个文件的详细级别阈值。仅支持 “text” 日志格式。 |
options [必需]FormatOptions | [Alpha] Options 保存特定于不同日志格式的附加参数。仅使用所选格式的选项,但会验证所有选项。仅当启用 LoggingAlphaOptions 功能门时才可用。 |
LoggingOptions
LoggingOptions 可以与 ValidateAndApplyWithOptions 一起使用来覆盖某些全局默认值。
字段 | 描述 |
---|---|
ErrorStream [必需]io.Writer | ErrorStream 可用于覆盖 os.Stderr 默认值。 |
InfoStream [必需]io.Writer | InfoStream 可用于覆盖 os.Stdout 默认值。 |
OutputRoutingOptions
出现在
OutputRoutingOptions 包含“text”和“json”都支持的选项。
字段 | 描述 |
---|---|
splitStream [必需]布尔值 | [Alpha] SplitStream 将错误消息重定向到 stderr,而信息消息则发送到 stdout,并带有缓冲。默认情况下,两者都写入 stdout,不带缓冲。仅当启用 LoggingAlphaOptions 功能门时才可用。 |
infoBufferSize [必需]k8s.io/apimachinery/pkg/api/resource.QuantityValue | [Alpha] InfoBufferSize 设置在使用拆分流时信息流的大小。默认值为零,这将禁用缓冲。仅当启用 LoggingAlphaOptions 功能门时才可用。 |
TextOptions
出现在
TextOptions 包含用于日志格式 “text” 的选项。
字段 | 描述 |
---|---|
OutputRoutingOptions [必需]OutputRoutingOptions | (OutputRoutingOptions 的成员嵌入到此类型中。)未提供描述。 |
TimeOrMetaDuration
出现在
TimeOrMetaDuration 仅为了与 flushFrequency 字段向后兼容而存在,新字段应使用 metav1.Duration。
字段 | 描述 |
---|---|
Duration [必需]meta/v1.Duration | Duration 保存持续时间 |
- [必需]布尔值 | SerializeAsString 控制值是否序列化为字符串或整数 |
VModuleConfiguration
([]k8s.io/component-base/logs/api/v1.VModuleItem
的别名)
出现在
VModuleConfiguration 是单独的文件名或模式以及相应详细级别阈值的集合。
VerbosityLevel
(uint32
的别名)
出现在
VerbosityLevel 表示 klog 或 logr 详细级别阈值。
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 确定用于检测本地流量的模式,默认为 ClusterCIDR |
detectLocal [必需]DetectLocalConfiguration(本地检测配置) | detectLocal 包含与 DetectLocalMode 相关的可选配置设置。 |
clusterCIDR [必需]字符串 | clusterCIDR 是集群中 Pod 的 CIDR 范围。(对于双栈集群,这可以是一个以逗号分隔的双栈 CIDR 范围对)。当 DetectLocalMode 设置为 ClusterCIDR 时,如果源 IP 在此范围内,kube-proxy 将认为流量是本地的。(否则不使用。) |
nodePortAddresses [必需][]string | nodePortAddresses 是包含有效节点 IP 的 CIDR 范围列表,或者可以是单个字符串 'primary'。如果设置为 CIDR 列表,则只有在指示的范围内的节点 IP 上才会接受到 NodePort 服务的连接。如果设置为 'primary',则只会在根据 Node 对象确定的节点的首选 IPv4 和/或 IPv6 地址上接受 NodePort 服务。如果未设置,则所有本地 IP 上都接受 NodePort 连接。 |
oomScoreAdj [必需]int32 | oomScoreAdj 是 kube-proxy 进程的 oom-score-adj 值。值必须在 [-1000, 1000] 范围内。 |
conntrack [必需]KubeProxyConntrackConfiguration | conntrack 包含与连接跟踪相关的配置选项。 |
configSyncPeriod [必需]meta/v1.Duration | configSyncPeriod 是从 apiserver 刷新配置的频率。必须大于 0。 |
portRange [必需]字符串 | portRange 以前用于配置 userspace 代理,但现在未使用。 |
windowsRunAsService [必需]布尔值 | 如果 windowsRunAsService 为 true,则启用 Windows 服务控制管理器 API 集成。 |
DetectLocalConfiguration(本地检测配置)
出现在
DetectLocalConfiguration 包含与 DetectLocalMode 选项相关的可选设置
字段 | 描述 |
---|---|
bridgeInterface [必需]字符串 | bridgeInterface 是桥接接口名称。当 DetectLocalMode 设置为 LocalModeBridgeInterface 时,如果流量来自此桥接接口,kube-proxy 将认为流量是本地的。 |
interfaceNamePrefix [必需]字符串 | interfaceNamePrefix 是接口名称前缀。当 DetectLocalMode 设置为 LocalModeInterfaceNamePrefix 时,如果流量来自任何名称以此前缀开头的接口,kube-proxy 将认为流量是本地的。 |
KubeProxyConntrackConfiguration
出现在
KubeProxyConntrackConfiguration 包含 Kubernetes 代理服务器的连接跟踪设置。
字段 | 描述 |
---|---|
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 状态的空闲连接跟踪条目在连接跟踪表中保留的时间。(例如 '60s')。必须大于 0 才能设置。 |
tcpBeLiberal [必需]布尔值 | 如果 tcpBeLiberal 为 true,则 kube-proxy 会将连接跟踪配置为在宽松模式下运行 TCP 连接,并且窗口外序列号的数据包不会被标记为 INVALID。 |
udpTimeout [必需]meta/v1.Duration | udpTimeout 是处于 UNREPLIED 状态的空闲 UDP 连接跟踪条目在连接跟踪表中保留的时间。(例如 '30s')。必须大于 0 才能设置。 |
udpStreamTimeout [必需]meta/v1.Duration | udpStreamTimeout 是处于 ASSURED 状态的空闲 UDP 连接跟踪条目在连接跟踪表中保留的时间。(例如 '300s')。必须大于 0 才能设置。 |
KubeProxyIPTablesConfiguration
出现在
KubeProxyIPTablesConfiguration 包含 Kubernetes 代理服务器的 iptables 相关配置详细信息。
字段 | 描述 |
---|---|
masqueradeBit [必需]int32 | masqueradeBit 是在使用 iptables 或 ipvs 代理模式时用于 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 | masqueradeBit 是在使用 nftables 代理模式时用于 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 项目的其他地方进行。