From fcd6c8e046d8c6b563bf26f38e392e4d0153bc75 Mon Sep 17 00:00:00 2001 From: Qiming Teng Date: Sat, 11 Dec 2021 17:45:50 +0800 Subject: [PATCH] [zh] Translation of the kube-proxy configuration struct --- .../config-api/kube-proxy-config.v1alpha1.md | 739 ++++++++++++------ 1 file changed, 481 insertions(+), 258 deletions(-) diff --git a/content/zh/docs/reference/config-api/kube-proxy-config.v1alpha1.md b/content/zh/docs/reference/config-api/kube-proxy-config.v1alpha1.md index 86315856b2..1c89395b51 100644 --- a/content/zh/docs/reference/config-api/kube-proxy-config.v1alpha1.md +++ b/content/zh/docs/reference/config-api/kube-proxy-config.v1alpha1.md @@ -1,601 +1,824 @@ --- -title: kube-proxy Configuration (v1alpha1) +title: kube-proxy 配置 (v1alpha1) content_type: tool-reference package: kubeproxy.config.k8s.io/v1alpha1 auto_generated: true --- + -## Resource Types - + +## 资源类型 {#resource-types} - [KubeProxyConfiguration](#kubeproxy-config-k8s-io-v1alpha1-KubeProxyConfiguration) - - - ## `KubeProxyConfiguration` {#kubeproxy-config-k8s-io-v1alpha1-KubeProxyConfiguration} - - - - + +KubeProxyConfiguration 包含用来配置 Kubernetes 代理服务器的所有配置信息。 - + - - - - + + featureGates 是一个功能特性名称到布尔值的映射表,用来启用或者禁用测试性质的功能特性。 + - - - - - - - - - - - - + + bindAddressHardFail 设置为 true 时,kube-proxy 将无法绑定到某端口这类问题视为致命错误并直接退出。 + - - - - - - - - - + + hostnameOverride 非空时,所给的字符串(而不是实际的主机名)将被用作 kube-proxy 的标识。 + - - - - - - + + iptables 字段包含与 iptables 相关的配置选项。 + - - - + + ipvs 中包含与 ipvs 相关的配置选项。 + - - - - - - + + mode 用来设置将使用的代理模式。 + - - - - - - - - - + + conntrack 包含与 conntrack 相关的配置选项。 + - - - - - - - - - + + winkernel 包含与 winkernel 相关的配置选项。 + - - - + + showHiddenMetricsForVersion 给出的是一个 Kubernetes 版本号字符串,用来设置你希望 + 显示隐藏度量值的版本。 + - - - + + detectLocalMode 用来确定检测本地流量的方式,默认为 LocalModeClusterCIDR。 + - -
FieldDescription
字段描述
apiVersion
string
kubeproxy.config.k8s.io/v1alpha1
kind
string
KubeProxyConfiguration
featureGates [Required]
+
featureGates [必需]
map[string]bool
- featureGates is a map of feature names to bools that enable or disable alpha/experimental features.
bindAddress [Required]
+
bindAddress [必需]
string
+ + bindAddress 是代理服务器提供服务时所用 IP 地址(设置为 0.0.0.0 +时意味着在所有网络接口上提供服务)。 +
healthzBindAddress [Required]
+
healthzBindAddress [必需]
string
+ + healthzBindAddress 是健康状态检查服务器提供服务时所使用的的 IP 地址和端口, + 默认设置为 '0.0.0.0:10256'。 +
metricsBindAddress [Required]
+
metricsBindAddress [必需]
string
+ + metricsBindAddress 是度量值服务器提供服务时所使用的的 IP 地址和端口, + 默认设置为 '127.0.0.1:10249'(设置为 0.0.0.0 意味着在所有接口上提供服务)。 +
bindAddressHardFail [Required]
+
bindAddressHardFail [必需]
bool
- bindAddressHardFail, if true, kube-proxy will treat failure to bind to a port as fatal and exit
enableProfiling [Required]
+
enableProfiling [必需]
bool
+ + enableProfiling 通过 '/debug/pprof' 处理程序在 Web 界面上启用性能分析。 + 性能分析处理程序将由度量值服务器执行。 +
clusterCIDR [Required]
+
clusterCIDR [必需]
string
+ + clusterCIDR 是集群中 Pods 所使用的 CIDR 范围。这一地址范围用于对来自集群外的请求 + 流量进行桥接。如果未设置,则 kube-proxy 不会对非集群内部的流量做桥接。 +
hostnameOverride [Required]
+
hostnameOverride [必需]
string
- hostnameOverride, if non-empty, will be used as the identity instead of the actual hostname.
clientConnection [Required]
+
clientConnection [必需]
ClientConnectionConfiguration
+ + clientConnection 给出代理服务器与 API 服务器通信时要使用的 kubeconfig 文件和客户端链接设置。 +
iptables [Required]
+
iptables [必需]
KubeProxyIPTablesConfiguration
- iptables contains iptables-related configuration options.
ipvs [Required]
+
ipvs [必需]
KubeProxyIPVSConfiguration
- ipvs contains ipvs-related configuration options.
oomScoreAdj [Required]
+
oomScoreAdj [必需]
int32
+ + oomScoreAdj 是为 kube-proxy 进程所设置的 oom-score-adj 值。 + 此设置值必须介于 [-1000, 1000] 范围内。 +
mode [Required]
+
mode [必需]
ProxyMode
- mode specifies which proxy mode to use.
portRange [Required]
+
portRange [必需]
string
+ + portRange 是主机端口的范围,形式为 ‘beginPort-endPort’(包含边界), + 用来设置代理服务所使用的端口。如果未指定(即‘0-0’),则代理服务会随机选择端口号。 +
udpIdleTimeout [Required]
+
udpIdleTimeout [必需]
meta/v1.Duration
+ + udpIdleTimeout 用来设置 UDP 链接保持活跃的时长(例如,'250ms'、'2s')。 + 此值必须大于 0。此字段仅适用于 mode 值为 'userspace' 的场合。 +
conntrack [Required]
+
conntrack [必需]
KubeProxyConntrackConfiguration
- conntrack contains conntrack-related configuration options.
configSyncPeriod [Required]
+
configSyncPeriod [必需]
meta/v1.Duration
+ + configSyncPeriod 是从 API 服务器刷新配置的频率。此值必须大于 0。 +
nodePortAddresses [Required]
+
nodePortAddresses [必需]
[]string
+ + nodePortAddresses 是 kube-proxy 进程的 --nodeport-addresses 命令行参数设置。 + 此值必须是合法的 IP 段。所给的 IP 段会作为参数来选择 NodePort 类型服务所使用的接口。 + 如果有人希望将本地主机(Localhost)上的服务暴露给本地访问,同时暴露在某些其他网络接口上 + 以实现某种目标,可以使用 IP 段的列表。 + 如果此值被设置为 "127.0.0.0/8",则 kube-proxy 将仅为 NodePort 服务选择本地回路(loopback)接口。 + 如果此值被设置为非零的 IP 段,则 kube-proxy 会对 IP 作过滤,仅使用适用于当前节点的 IP 地址。 + 空的字符串列表意味着选择所有网络接口。 +
winkernel [Required]
+
winkernel [必需]
KubeProxyWinkernelConfiguration
- winkernel contains winkernel-related configuration options.
showHiddenMetricsForVersion [Required]
+
showHiddenMetricsForVersion [必需]
string
- ShowHiddenMetricsForVersion is the version for which you want to show hidden metrics.
detectLocalMode [Required]
+
detectLocalMode [必需]
LocalMode
- DetectLocalMode determines mode to use for detecting local traffic, defaults to LocalModeClusterCIDR
- - ## `KubeProxyConntrackConfiguration` {#kubeproxy-config-k8s-io-v1alpha1-KubeProxyConntrackConfiguration} - - - + +**出现在:** - [KubeProxyConfiguration](#kubeproxy-config-k8s-io-v1alpha1-KubeProxyConfiguration) - + +KubeProxyConntrackConfiguration 包含为 Kubernetes 代理服务器提供的 conntrack 设置。 - + - - - - - - - - - - - - - -
FieldDescription
字段描述
maxPerCore [Required]
+
maxPerCore [必需]
int32
+ + maxPerCore 是每个 CPU 核所跟踪的 NAT 链接个数上限 + (0 意味着保留当前上限限制并忽略 min 字段设置值)。 +
min [Required]
+
min [必需]
int32
+ + min 给出要分配的链接跟踪记录个数下限。 + 设置此值时会忽略 maxPerCore 的值(将 maxPerCore 设置为 0 时不会调整上限值)。 +
tcpEstablishedTimeout [Required]
+
tcpEstablishedTimeout [必需]
meta/v1.Duration
+ + tcpEstablishedTimeout 给出空闲 TCP 连接的保留时间(例如,'2s')。 + 此值必须大于 0。 +
tcpCloseWaitTimeout [Required]
+
tcpCloseWaitTimeout [必需]
meta/v1.Duration
+ + tcpCloseWaitTimeout 用来设置空闲的、处于 CLOSE_WAIT 状态的 conntrack 条目 + 保留在 conntrack 表中的时间长度(例如,'60s')。 + 此设置值必须大于 0。 +
- - ## `KubeProxyIPTablesConfiguration` {#kubeproxy-config-k8s-io-v1alpha1-KubeProxyIPTablesConfiguration} - - - + +**出现在:** - [KubeProxyConfiguration](#kubeproxy-config-k8s-io-v1alpha1-KubeProxyConfiguration) - + +KubeProxyIPTablesConfiguration 包含用于 Kubernetes 代理服务器的、与 iptables 相关的配置细节。 - + - - - - - - + + masqueradeAll 用来通知 kube-proxy 在使用纯 iptables 代理模式时对所有流量执行 + SNAT 操作。 + - - - - - - + + minSyncPeriod 给出 iptables 规则被刷新的最小周期(例如,'5s'、'1m'、'2h22m')。 + - -
FieldDescription
字段描述
masqueradeBit [Required]
+
masqueradeBit [必需]
int32
+ + masqueradeBit 是 iptables fwmark 空间中的具体一位,用来在纯 iptables 代理模式下 + 设置 SNAT。此值必须介于 [0, 31](含边界值)。 +
masqueradeAll [Required]
+
masqueradeAll [必需]
bool
- masqueradeAll tells kube-proxy to SNAT everything if using the pure iptables proxy mode.
syncPeriod [Required]
+
syncPeriod [必需]
meta/v1.Duration
+ + syncPeriod 给出 iptables 规则的刷新周期(例如,'5s'、'1m'、'2h22m')。 + 此值必须大于 0。 +
minSyncPeriod [Required]
+
minSyncPeriod [必需]
meta/v1.Duration
- minSyncPeriod is the minimum period that iptables rules are refreshed (e.g. '5s', '1m', -'2h22m').
- - ## `KubeProxyIPVSConfiguration` {#kubeproxy-config-k8s-io-v1alpha1-KubeProxyIPVSConfiguration} - - - + +**出现在:** - [KubeProxyConfiguration](#kubeproxy-config-k8s-io-v1alpha1-KubeProxyConfiguration) - + +KubeProxyIPVSConfiguration 包含用于 Kubernetes 代理服务器的、与 ipvs 相关的配置细节。 - + - - - - - - - + + minSyncPeriod 给出 ipvs 规则被刷新的最小周期(例如,'5s'、'1m'、'2h22m')。 + - - - + + IPVS 调度器。 + - - - - - - - - - - - - - - - - -
FieldDescription
字段描述
syncPeriod [Required]
+ +
syncPeriod [必需]
meta/v1.Duration
+ + syncPeriod 给出 ipvs 规则的刷新周期(例如,'5s'、'1m'、'2h22m')。 + 此值必须大于 0。 +
minSyncPeriod [Required]
+
minSyncPeriod [必需]
meta/v1.Duration
- minSyncPeriod is the minimum period that ipvs rules are refreshed (e.g. '5s', '1m', -'2h22m').
scheduler [Required]
+
scheduler [必需]
string
- ipvs scheduler
excludeCIDRs [Required]
+
excludeCIDRs [必需]
[]string
+ + excludeCIDRs 取值为一个 CIDR 列表,ipvs 代理程序在清理 IPVS 服务时不应触碰这些 IP 地址。 +
strictARP [Required]
+
strictARP [必需]
bool
+ + strictARP 用来配置 arp_ignore 和 arp_announce,以避免(错误地)响应来自 kube-ipvs0 接口的 + ARP 查询请求。 +
tcpTimeout [Required]
+
tcpTimeout [必需]
meta/v1.Duration
+ + tcpTimeout 是用于设置空闲 IPVS TCP 会话的超时值。 + 默认值为 0,意味着使用系统上当前的超时值设置。 +
tcpFinTimeout [Required]
+
tcpFinTimeout [必需]
meta/v1.Duration
+ + tcpFinTimeout 用来设置 IPVS TCP 会话在收到 FIN 之后的超时值。 + 默认值为 0,意味着使用系统上当前的超时值设置。 +
udpTimeout [Required]
+
udpTimeout [必需]
meta/v1.Duration
+ + udpTimeout 用来设置 IPVS UDP 包的超时值。 + 默认值为 0,意味着使用系统上当前的超时值设置。 +
- - ## `KubeProxyWinkernelConfiguration` {#kubeproxy-config-k8s-io-v1alpha1-KubeProxyWinkernelConfiguration} - - - + +**出现在:** - [KubeProxyConfiguration](#kubeproxy-config-k8s-io-v1alpha1-KubeProxyConfiguration) - + +KubeProxyWinkernelConfiguration 包含 Kubernetes 代理服务器的 Windows/HNS 设置。 - + - - - - - - - - - - -
FieldDescription
字段描述
networkName [Required]
+
networkName [必需]
string
+ + networkName 是 kube-proxy 用来创建端点和策略的网络名称。 +
sourceVip [Required]
+
sourceVip [必需]
string
+ + sourceVip 是执行负载均衡时进行 NAT 转换所使用的源端 VIP 端点 IP 地址。 +
enableDSR [Required]
+
enableDSR [必需]
bool
+ + enableDSR 通知 kube-proxy 是否使用 DSR 来创建 HNS 策略。 +
- - ## `LocalMode` {#kubeproxy-config-k8s-io-v1alpha1-LocalMode} - + + +(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 平台上有三种可用的代理模式:'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} - - - + +**出现在:** - [KubeProxyConfiguration](#kubeproxy-config-k8s-io-v1alpha1-KubeProxyConfiguration) - + +ClientConnectionConfiguration 包含构造客户端所需要的细节信息。 - + - - - + + kubeconfig 是指向一个 KubeConfig 文件的路径。 + - - - - - - + + contentType 是从此客户端向服务器发送数据时使用的内容类型(Content Type)。 + - - - + + qps 控制此连接上每秒钟可以发送的查询请求个数。 + - - - + + 允许客户端超出其速率限制时可以临时累积的额外查询个数。 + - -
FieldDescription
字段描述
kubeconfig [Required]
+
kubeconfig [必需]
string
- kubeconfig is the path to a KubeConfig file.
acceptContentTypes [Required]
+
acceptContentTypes [必需]
string
+ + acceptContentTypes 定义客户端在连接到服务器时所发送的 Accept 头部字段。 + 此设置值会覆盖默认配置 'application/json'。 + 此字段会控制某特定客户端与指定服务器的所有链接。 +
contentType [Required]
+
contentType [必需]
string
- contentType is the content type used when sending data to the server from this client.
qps [Required]
+
qps [必需]
float32
- qps controls the number of queries per second allowed for this connection.
burst [Required]
+
burst [必需]
int32
- burst allows extra queries to accumulate when a client is exceeding its rate.
+ +## `FormatOptions` {#FormatOptions} + + + + +FormatOptions 包含不同日志记录格式的配置选项。 + + + + + + + + + + + +
字段描述
json [必需]
+JSONOptions +
+ + [实验特性] json 字段包含 “JSON” 日志格式的配置选项。 +
+ +## `JSONOptions` {#JSONOptions} + + +**出现在:** + +- [FormatOptions](#FormatOptions) + + +JSONOptions 包含“json”日志格式的配置选项。 + + + + + + + + + + + + + +
字段描述
splitStream [必需]
+bool +
+ + [实验特性] splitStream 将信息类型的信息输出到标准输出,错误信息重定向到标准 + 错误输出,并提供缓存。默认行为是将二者都输出到标准输出且不提供缓存。 +
infoBufferSize [必需]
+k8s.io/apimachinery/pkg/api/resource.QuantityValue +
+ + [实验特性] infoBufferSize 设置在使用分离数据流时 info 数据流的缓冲区大小。 + 默认值为 0,意味着不提供缓存。 +
+ +## `VModuleConfiguration` {#VModuleConfiguration} + + +(`[]k8s.io/component-base/config/v1alpha1.VModuleItem` 的别名) + + +VModuleConfiguration 是一组文件名或文件名模式,及其对应的日志详尽程度阈值配置。 +