--- title: kube-proxy 配置 (v1alpha1) content_type: tool-reference package: kubeproxy.config.k8s.io/v1alpha1 --- ## 资源类型 {#resource-types} - [KubeProxyConfiguration](#kubeproxy-config-k8s-io-v1alpha1-KubeProxyConfiguration) ## `FormatOptions` {#FormatOptions} **出现在:** - [LoggingConfiguration](#LoggingConfiguration)
`FormatOptions` 包含不同日志格式的选项。
字段 | 描述 |
---|---|
text [必需]TextOptions
|
[Alpha] text 包含日志格式 "text" 的选项。 仅在启用了 `LoggingAlphaOptions` 特性门控时可用。 |
json [必需]JSONOptions
|
[Alpha] JSON 包含日志格式 "json" 的选项。 仅在启用了 `LoggingAlphaOptions` 特性门控时可用。 |
`JSONOptions` 包含日志格式 "json" 的选项。
字段 | 描述 |
---|---|
OutputRoutingOptions [必需]OutputRoutingOptions
|
(OutputRoutingOptions 的成员嵌入到此类型中。)
未提供描述。
|
`LogFormatFactory` 提供对某种额外的、非默认日志格式的支持。
## `LoggingConfiguration` {#LoggingConfiguration} **出现在:** - [KubeProxyConfiguration](#kubeproxy-config-k8s-io-v1alpha1-KubeProxyConfiguration) - [KubeletConfiguration](#kubelet-config-k8s-io-v1beta1-KubeletConfiguration)`LoggingConfiguration` 包含日志记录选项。
字段 | 描述 |
---|---|
format [必需]string
|
`format` 标志指定日志消息的结构。
格式的默认值是 |
flushFrequency [必需]TimeOrMetaDuration
|
指定两次日志清洗之间的最大时间: - 如果是字符串,则被解析为持续时间(例如 "1s")。 - 如果是整数,则表示最大纳秒数(例如 1s = 1000000000)。 如果选择的日志后端在写入日志消息时不进行缓冲,则此设置将被忽略。 |
verbosity [必需]VerbosityLevel
|
verbosity 是决定哪些日志消息会被记录的阈值。 默认值为零,仅记录最重要的消息。更高的值会启用额外的消息记录。错误消息始终会被记录。 |
vmodule [必需]VModuleConfiguration
|
vmodule 为个别文件覆盖 verbosity 阈值。 仅支持 "text" 日志格式。 |
options [必需]FormatOptions
|
[Alpha] options 包含特定于不同日志格式的附加参数。 只有与选中格式相关的选项会被使用,但所有选项都会被校验。 仅在启用了 LoggingAlphaOptions 特性门控时可用。 |
LoggingOptions 可以与 ValidateAndApplyWithOptions 一起使用,以覆盖某些全局默认设置。
字段 | 描述 |
---|---|
ErrorStream [必需]io.Writer
|
ErrorStream 可以用于覆盖默认的 os.Stderr。 |
InfoStream [必需]io.Writer
|
InfoStream 可以用于覆盖默认的 os.Stdout。 |
OutputRoutingOptions 包含同时被 "text" 和 "json" 日志格式支持的选项。
字段 | 描述 |
---|---|
splitStream [必需]bool
|
[Alpha] SplitStream 将错误消息重定向到 stderr,而信息消息则输出到 stdout,并且带有缓冲。 默认情况下,两者都写入 stdout,且不带缓冲。 仅在启用了 LoggingAlphaOptions 特性门控时可用。 |
infoBufferSize [必需]k8s.io/apimachinery/pkg/api/resource.QuantityValue
|
[Alpha] infoBufferSize 设置在使用分离流时信息流的缓冲区大小。默认值为零,表示禁用缓冲。 仅在启用了 LoggingAlphaOptions 特性门控时可用。 |
TextOptions 包含日志格式 "text" 的选项。
字段 | 描述 |
---|---|
OutputRoutingOptions [必需]OutputRoutingOptions
|
(OutputRoutingOptions 的成员嵌入到此类型中。)
未提供描述。
|
TimeOrMetaDuration 仅出于 flushFrequency 字段的向后兼容性而存在, 新字段应使用 `metav1.Duration`。
字段 | 描述 |
---|---|
Duration [必需]meta/v1.Duration
|
Duration 包含持续时间。 |
- [必需]bool
|
SerializeAsString 控制值是被序列化为字符串还是整数。 |
VModuleConfiguration 是个别文件名或模式及其对应 verbosity 阈值的集合。
## `VerbosityLevel` {#VerbosityLevel} (`uint32` 的别名) **出现在:** - [LoggingConfiguration](#LoggingConfiguration)VerbosityLevel 表示 klog 或 logr 的日志详细程度(verbosity)阈值。
## `ClientConnectionConfiguration` {#ClientConnectionConfiguration} **出现在:** - [KubeProxyConfiguration](#kubeproxy-config-k8s-io-v1alpha1-KubeProxyConfiguration) - [KubeSchedulerConfiguration](#kubescheduler-config-k8s-io-v1-KubeSchedulerConfiguration) - [GenericControllerManagerConfiguration](#controllermanager-config-k8s-io-v1alpha1-GenericControllerManagerConfiguration) ClientConnectionConfiguration 包含构造客户端所需要的细节信息。字段 | 描述 |
---|---|
kubeconfig [必需]string
|
|
acceptContentTypes [必需]string
|
|
contentType [必需]string
|
|
qps [必需]float32
|
|
burst [必需]int32
|
|
字段 | 描述 |
---|---|
enableProfiling [Required]bool
|
|
enableContentionProfiling [Required]bool
|
|
字段 | 描述 |
---|---|
leaderElect [必需]bool
|
|
leaseDuration [必需]meta/v1.Duration
|
|
renewDeadline [必需]meta/v1.Duration
|
|
retryPeriod [必需]meta/v1.Duration
|
|
resourceLock [必需]string
|
|
resourceName [必需]string
|
|
resourceNamespace [必需]string
|
|
字段 | 描述 |
---|---|
apiVersion string | kubeproxy.config.k8s.io/v1alpha1 |
kind string | KubeProxyConfiguration |
featureGates [必需]map[string]bool
|
|
clientConnection [必需]ClientConnectionConfiguration
|
|
logging [必需]LoggingConfiguration
|
|
hostnameOverride [必需]string
|
|
bindAddress [必需]string
|
|
healthzBindAddress [必需]string
|
|
metricsBindAddress [必需]string
|
|
bindAddressHardFail [必需]bool
|
|
enableProfiling [必需]bool
|
|
showHiddenMetricsForVersion [必需]string
|
|
mode [必需]ProxyMode
|
|
iptables [必需]KubeProxyIPTablesConfiguration
|
|
ipvs [必需]KubeProxyIPVSConfiguration
|
|
nftables [必需]KubeProxyNFTablesConfiguration
|
|
winkernel [必需]KubeProxyWinkernelConfiguration
|
|
detectLocalMode [必需]LocalMode
|
|
detectLocal [必需]DetectLocalConfiguration
|
|
clusterCIDR [必需]string
|
|
nodePortAddresses [必需][]string
|
|
oomScoreAdj [必需]int32
|
|
conntrack [必需]KubeProxyConntrackConfiguration
|
|
configSyncPeriod [必需]meta/v1.Duration
|
|
portRange [必需]string
|
|
windowsRunAsService [Required]bool
|
如果为 |
字段 | 描述 |
---|---|
bridgeInterface [必需]string
|
|
interfaceNamePrefix [必需]string
|
|
字段 | 描述 |
---|---|
maxPerCore [必需]int32
|
|
min [必需]int32
|
|
tcpEstablishedTimeout [必需]meta/v1.Duration
|
|
tcpCloseWaitTimeout [必需]meta/v1.Duration
|
|
tcpBeLiberal [必需]bool
|
|
udpTimeout [必需]meta/v1.Duration
|
|
udpStreamTimeout [必需]meta/v1.Duration
|
|
字段 | 描述 |
---|---|
masqueradeBit [必需]int32
|
|
masqueradeAll [必需]bool
|
|
localhostNodePorts [必需]bool
|
|
syncPeriod [必需]meta/v1.Duration
|
|
minSyncPeriod [必需]meta/v1.Duration
|
|
字段 | 描述 |
---|---|
syncPeriod [必需]meta/v1.Duration
|
|
minSyncPeriod [必需]meta/v1.Duration
|
|
scheduler [必需]string
|
|
excludeCIDRs [必需][]string
|
|
strictARP [必需]bool
|
|
tcpTimeout [必需]meta/v1.Duration
|
|
tcpFinTimeout [必需]meta/v1.Duration
|
|
udpTimeout [必需]meta/v1.Duration
|
|
KubeProxyNFTablesConfiguration 包含 Kubernetes 代理服务器的 nftables 相关配置详细信息。
Field | Description |
---|---|
masqueradeBit [必需]int32
|
|
masqueradeAll [必需]bool
|
|
syncPeriod [必需]meta/v1.Duration
|
|
minSyncPeriod [必需]meta/v1.Duration
|
|
字段 | 描述 |
---|---|
networkName [必需]string
|
|
sourceVip [必需]string
|
|
enableDSR [必需]bool
|
|
rootHnsEndpointName [必需]string
|
|
forwardHealthCheckVip [必需]bool
|
|
string
类型的别名)
**出现在:**
- [KubeProxyConfiguration](#kubeproxy-config-k8s-io-v1alpha1-KubeProxyConfiguration)
LocalMode 代表的是对节点上本地流量进行检测的模式。
## `ProxyMode` {#kubeproxy-config-k8s-io-v1alpha1-ProxyMode}
(string
类型的别名)
**出现在:**
- [KubeProxyConfiguration](#kubeproxy-config-k8s-io-v1alpha1-KubeProxyConfiguration)
ProxyMode 表示的是 Kubernetes 代理服务器所使用的模式。
Linux 平台上有三种可用的代理模式:iptables
、ipvs
和 nftables
。
在 Windows 平台上可用的一种代理模式是:kernelspace
。
如果代理模式未被指定,将使用默认的代理模式(目前在 Linux 上是 iptables
,在 Windows 上是 kernelspace
)。
如果不能使用选定的代理模式(由于缺少内核支持、缺少用户空间组件等),则 kube-proxy 将出错并退出。