- kube-proxy
- 概要
- 选项
- 反馈
kube-proxy
概要
Kubernetes 在每个节点上运行网络代理。这反映每个节点上 Kubernetes API 中定义的服务,并且可以做简单的TCP 和 UDP 流转发或在一组后端中轮询,进行 TCP 和 UDP 转发。目前服务集群 IP 和端口通过由服务代理打开的端口的 Docker-links-compatible 环境变量找到。有一个可选的为这些集群 IP 提供集群 DNS 的插件。用户必须通过 apiserver API 创建服务去配置代理。
kube-proxy [flags]
选项
—azure-container-registry-config string | |
包含 Azure 容器仓库配置信息的文件的路径。 | |
—bind-address 0.0.0.0 默认: 0.0.0.0 | |
要服务的代理服务器的 IP 地址(对于所有 IPv4 接口设置为 0.0.0.0,对于所有 IPv6 接口设置为 ::) | |
—cleanup | |
如果为 true,清理 iptables 和 ipvs 规则并退出。 | |
—cleanup-ipvs 默认: true | |
如果为 true,则使 kube-proxy 在运行之前清理 ipvs 规则。 默认为 true | |
—cluster-cidr string | |
集群中的 CIDR 范围。 配置后,从该范围之外发送到服务集群 IP 的流量将被伪装,从 pod 发送到外部 LoadBalancer IP 的流量将被定向到相应的集群 IP | |
—config string | |
配置文件的路径。 | |
—config-sync-period duration 默认: 15m0s | |
来自 apiserver 的配置的刷新频率。必须大于 0。 | |
—conntrack-max-per-core int32 默认: 32768 | |
每个 CPU 核跟踪的最大 NAT 连接数(0 表示保留原样限制并忽略 conntrack-min)。 | |
—conntrack-min int32 默认: 131072 | |
要分配的最小 conntrack 条目数,不管 conntrack-max-per-core(设置 conntrack-max-per-core = 0 保留原样限制)。 | |
—conntrack-tcp-timeout-close-wait duration 默认: 1h0m0s | |
处于 CLOSE_WAIT 状态的 TCP 连接的 NAT 超时 | |
—conntrack-tcp-timeout-established duration 默认: 24h0m0s | |
已建立的 TCP 连接的空闲超时(0 保持原样) | |
—feature-gates mapStringBool | |
一组 key=value 对,用于描述 alpha/experimental 特征的特征门。选项包括:APIListChunking=true|false (BETA - 默认=true)APIResponseCompression=true|false (ALPHA - 默认=false)AdvancedAuditing=true|false (BETA - 默认=true)AllAlpha=true|false (ALPHA - 默认=false)AppArmor=true|false (BETA - 默认=true)AttachVolumeLimit=true|false (ALPHA - 默认=false)BalanceAttachedNodeVolumes=true|false (ALPHA - 默认=false)BlockVolume=true|false (ALPHA - 默认=false)CPUManager=true|false (BETA - 默认=true)CRIContainerLogRotation=true|false (BETA - 默认=true)CSIBlockVolume=true|false (ALPHA - 默认=false)CSIPersistentVolume=true|false (BETA - 默认=true)CustomPodDNS=true|false (BETA - 默认=true)CustomResourceSubresources=true|false (BETA - 默认=true)CustomResourceValidation=true|false (BETA - 默认=true)DebugContainers=true|false (ALPHA - 默认=false)DevicePlugins=true|false (BETA - 默认=true)DynamicKubeletConfig=true|false (BETA - 默认=true)DynamicProvisioningScheduling=true|false (ALPHA - 默认=false)EnableEquivalenceClassCache=true|false (ALPHA - 默认=false)ExpandInUsePersistentVolumes=true|false (ALPHA - 默认=false)ExpandPersistentVolumes=true|false (BETA - 默认=true)ExperimentalCriticalPodAnnotation=true|false (ALPHA - 默认=false)ExperimentalHostUserNamespaceDefaulting=true|false (BETA - 默认=false)GCERegionalPersistentDisk=true|false (BETA - 默认=true)HugePages=true|false (BETA - 默认=true)HyperVContainer=true|false (ALPHA - 默认=false)KubeletPluginsWatcher=true|false (ALPHA - 默认=false)LocalStorageCapacityIsolation=true|false (BETA - default=true)MountContainers=true|false (ALPHA - 默认=false)MountPropagation=true|false (BETA - 默认=true)PersistentLocalVolumes=true|false (BETA - 默认=true)PodPriority=true|false (BETA - 默认=true)PodReadinessGates=true|false (BETA - 默认=false)PodShareProcessNamespace=true|false (ALPHA - 默认=false)QOSReserved=true|false (ALPHA - 默认=false)ReadOnlyAPIDataVolumes=true|false (弃用 - 默认=true)ResourceLimitsPriorityFunction=true|false (ALPHA - 默认=false)ResourceQuotaScopeSelectors=true|false (ALPHA - 默认=false)RotateKubeletClientCertificate=true|false (BETA - 默认=true)RotateKubeletServerCertificate=true|false (ALPHA - 默认=false)RunAsGroup=true|false (ALPHA - 默认=false)ScheduleDaemonSetPods=true|false (ALPHA - 默认=false)ServiceNodeExclusion=true|false (ALPHA - 默认=false)ServiceProxyAllowExternalIPs=true|false (弃用 - 默认=false)StorageObjectInUseProtection=true|false (default=true)StreamingProxyRedirects=true|false (BETA - 默认=true)SupportIPVSProxyMode=true|false (默认=true)SupportPodPidsLimit=true|false (ALPHA - 默认=false)Sysctls=true|false (BETA - 默认=true)TaintBasedEvictions=true|false (ALPHA - 默认=false)TaintNodesByCondition=true|false (ALPHA - 默认=false)TokenRequest=true|false (ALPHA - 默认=false)TokenRequestProjection=true|false (ALPHA - 默认=false)VolumeScheduling=true|false (BETA - 默认=true)VolumeSubpath=true|false (默认=true)VolumeSubpathEnvExpansion=true|false (ALPHA - 默认=false) | |
—healthz-bind-address 0.0.0.0 默认: 0.0.0.0:10256 | |
服务健康检查的 IP 地址和端口(对于所有 IPv4 接口设置为 0.0.0.0,对于所有 IPv6 接口设置为 ::) | |
—healthz-port int32 默认: 10256 | |
绑定健康检查服务的端口。使用 0 禁用。 | |
-h, —help | |
kube-proxy 帮助信息 | |
—hostname-override string | |
如果非空,将使用此字符串作为标识而不是实际的主机名。 | |
—iptables-masquerade-bit int32 默认: 14 | |
如果使用纯 iptables 代理,则 fwmark 空间的位用于标记需要 SNAT 的数据包。 必须在 [0,31] 范围内。 | |
—iptables-min-sync-period duration | |
当端点和服务发生变化时,iptables 规则的刷新的最小间隔(例如 '5s','1m','2h22m')。 | |
—iptables-sync-period duration 默认: 30s | |
iptables 规则刷新的最大时间间隔(例如 '5s','1m','2h22m')。必须大于 0。 | |
—ipvs-exclude-cidrs stringSlice | |
以逗号分隔的 CIDR 列表,在清理 IPVS 规则时,不应该触及 ipvs proxier。 | |
—ipvs-min-sync-period duration | |
当端点和服务发生变化时,ipvs 规则的刷新的最小间隔(例如 '5s','1m','2h22m')。 | |
—ipvs-scheduler string | |
代理模式为 ipvs 时的 ipvs 调度器类型 | |
—ipvs-sync-period duration 默认: 30s | |
ipvs 规则刷新的最大时间间隔(例如 '5s','1m','2h22m')。必须大于 0。 | |
—kube-api-burst int32 默认: 10 | |
每秒与 kubernetes apiserver 交互的数量 | |
—kube-api-content-type string 默认: "application/vnd.kubernetes.protobuf" | |
发送到 apiserver 的请求的内容类型。 | |
—kube-api-qps float32 默认: 5 | |
与 kubernetes apiserver 交互时使用的 QPS | |
—kubeconfig string | |
包含授权信息的 kubeconfig 文件的路径(master 位置由 master 标志设置)。 | |
—log-flush-frequency duration 默认: 5s | |
日志刷新最大间隔 | |
—masquerade-all | |
如果使用纯 iptables 代理,SNAT 所有通过服务句群 IP 发送的流量(这通常不需要) | |
—master string | |
Kubernetes API 服务器的地址(覆盖 kubeconfig 中的任何值) | |
—metrics-bind-address 0.0.0.0 默认: 127.0.0.1:10249 | |
要服务的度量服务器的 IP 地址和端口(对于所有 IPv4 接口设置为 0.0.0.0,对于所有 IPv6 接口设置为 ::) | |
—nodeport-addresses stringSlice | |
一个字符串值,指定用于 NodePorts 的地址。 值可以是有效的 IP 块(例如 1.2.3.0/24, 1.2.3.4/32)。 默认的空字符串切片([])表示使用所有本地地址。 | |
—oom-score-adj int32 默认: -999 | |
kube-proxy 进程的 oom-score-adj 值。 值必须在 [-1000,1000] 范围内 | |
—profiling | |
如果为 true,则通过 Web 接口 /debug/pprof 启用性能分析。 | |
—proxy-mode ProxyMode | |
使用哪种代理模式:'userspace'(较旧)或 'iptables'(较快)或 'ipvs'(实验)。 如果为空,使用最佳可用代理(当前为 iptables)。 如果选择了 iptables 代理,无论如何,但系统的内核或 iptables 版本不足,这总是会回退到用户空间代理。 | |
—proxy-port-range port-range | |
主机端口的范围(beginPort-endPort,单端口或 beginPort + offset,包括),可以被代理服务流量消耗。 如果(未指定,0 或 0-0)则随机选择端口。 | |
—udp-timeout duration 默认: 250ms | |
空闲 UDP 连接将保持打开的时长(例如 '250ms','2s')。 必须大于 0。仅适用于 proxy-mode=userspace | |
—version version[=true] | |
打印版本信息并退出 | |
—write-config-to string | |
如果设置,将配置值写入此文件并退出。 |
反馈
此页是否对您有帮助?
感谢反馈。如果您有一个关于如何使用 Kubernetes 的特定的、需要答案的问题,可以访问Stack Overflow.在 GitHub 仓库上登记新的问题报告问题或者提出改进建议.