kube-proxy 配置 (v1alpha1)
资源类型
KubeProxyConfiguration
KubeProxyConfiguration 包含用来配置 Kubernetes 代理服务器的所有配置信息。
字段 | 描述 |
---|---|
apiVersion string | kubeproxy.config.k8s.io/v1alpha1 |
kind string | KubeProxyConfiguration |
featureGates [必需]map[string]bool
|
|
bindAddress [必需]string
|
|
healthzBindAddress [必需]string
|
|
metricsBindAddress [必需]string
|
|
bindAddressHardFail [必需]bool
|
|
enableProfiling [必需]bool
|
|
clusterCIDR [必需]string
|
|
hostnameOverride [必需]string
|
|
clientConnection [必需]ClientConnectionConfiguration
|
|
iptables [必需]KubeProxyIPTablesConfiguration
|
|
ipvs [必需]KubeProxyIPVSConfiguration
|
|
oomScoreAdj [必需]int32
|
|
mode [必需]ProxyMode
|
|
portRange [必需]string
|
|
udpIdleTimeout [必需]meta/v1.Duration
|
|
conntrack [必需]KubeProxyConntrackConfiguration
|
|
configSyncPeriod [必需]meta/v1.Duration
|
|
nodePortAddresses [必需][]string
|
|
winkernel [必需]KubeProxyWinkernelConfiguration
|
|
showHiddenMetricsForVersion [必需]string
|
|
detectLocalMode [必需]LocalMode
|
|
detectLocal [必需]DetectLocalConfiguration
|
|
DetectLocalConfiguration
出现在:
DetectLocalConfiguration 包含与 DetectLocalMode 选项相关的可选设置。
字段 | 描述 |
---|---|
bridgeInterface [必需]string
|
|
interfaceNamePrefix [必需]string
|
|
KubeProxyConntrackConfiguration
出现在:
KubeProxyConntrackConfiguration 包含为 Kubernetes 代理服务器提供的 conntrack 设置。
字段 | 描述 |
---|---|
maxPerCore [必需]int32
|
|
min [必需]int32
|
|
tcpEstablishedTimeout [必需]meta/v1.Duration
|
|
tcpCloseWaitTimeout [必需]meta/v1.Duration
|
|
KubeProxyIPTablesConfiguration
出现在:
KubeProxyIPTablesConfiguration 包含用于 Kubernetes 代理服务器的、与 iptables 相关的配置细节。
字段 | 描述 |
---|---|
masqueradeBit [必需]int32
|
|
masqueradeAll [必需]bool
|
|
syncPeriod [必需]meta/v1.Duration
|
|
minSyncPeriod [必需]meta/v1.Duration
|
|
KubeProxyIPVSConfiguration
出现在:
KubeProxyIPVSConfiguration 包含用于 Kubernetes 代理服务器的、与 ipvs 相关的配置细节。
字段 | 描述 |
---|---|
syncPeriod [必需]meta/v1.Duration
|
|
minSyncPeriod [必需]meta/v1.Duration
|
|
scheduler [必需]string
|
IPVS 调度器。 |
excludeCIDRs [必需][]string
|
|
strictARP [必需]bool
|
|
tcpTimeout [必需]meta/v1.Duration
|
|
tcpFinTimeout [必需]meta/v1.Duration
|
|
udpTimeout [必需]meta/v1.Duration
|
|
KubeProxyWinkernelConfiguration
出现在:
KubeProxyWinkernelConfiguration 包含 Kubernetes 代理服务器的 Windows/HNS 设置。
字段 | 描述 |
---|---|
networkName [必需]string
|
|
sourceVip [必需]string
|
|
enableDSR [必需]bool
|
|
rootHnsEndpointName [必需]string
|
|
forwardHealthCheckVip [必需]bool
|
|
LocalMode
(string
类型的别名)
出现在:
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
|
|
acceptContentTypes [必需]string
|
|
contentType [必需]string
|
|
qps [必需]float32
|
|
burst [必需]int32
|
|
DebuggingConfiguration
出现在:
DebuggingConfiguration 包含调试相关功能的配置。
字段 | 描述 |
---|---|
enableProfiling [Required]bool
|
|
enableContentionProfiling [Required]bool
|
|
FormatOptions
FormatOptions 包含不同日志记录格式的配置选项。
字段 | 描述 |
---|---|
json [必需]JSONOptions
|
[实验特性] |
JSONOptions
出现在:
JSONOptions 包含 "json" 日志格式的配置选项。
字段 | 描述 |
---|---|
splitStream [必需]bool
|
[实验特性] |
infoBufferSize [必需]k8s.io/apimachinery/pkg/api/resource.QuantityValue
|
[实验特性] |
LeaderElectionConfiguration
出现在:
LeaderElectionConfiguration 为能够支持领导者选举的组件定义其领导者选举客户端的配置。
字段 | 描述 |
---|---|
leaderElect [必需]bool
|
|
leaseDuration [必需]meta/v1.Duration
|
|
renewDeadline [必需]meta/v1.Duration
|
|
retryPeriod [必需]meta/v1.Duration
|
|
resourceLock [必需]string
|
|
resourceName [必需]string
|
|
resourceNamespace [必需]string
|
|
LoggingConfiguration
出现在:
LoggingConfiguration 包含日志选项。 参考 Logs Options 以了解更多信息。
字段 | 描述 |
---|---|
format [必需]string
|
|
flushFrequency [必需]time.Duration
|
对日志进行清洗的最大间隔纳秒数(例如,1s = 1000000000)。 如果所选的日志后端在写入日志消息时不提供缓存,则此配置会被忽略。 |
verbosity [必需]uint32
|
|
vmodule [必需]VModuleConfiguration
|
|
options [Required]FormatOptions
|
[实验特性] |
VModuleConfiguration
([]k8s.io/component-base/config/v1alpha1.VModuleItem
的别名)
出现在:
VModuleConfiguration 是一组文件名或文件名模式,及其对应的日志详尽程度阈值配置。