文档
kubeadm 概述
kubeadm init
安装 kubeadm
Setup
Picking the Right Solution (EN)
Kubernetes Version and Version Skew Support Policy (EN)
Building Large Clusters (EN)
Running in Multiple Zones (EN)
CRI installation (EN)
Installing Kubernetes with Digital Rebar Provision (DRP) via KRIB (EN)
PKI Certificates and Requirements (EN)
Running Kubernetes Locally via Minikube (EN)
Validate Node Setup (EN)
使用 kubeadm 创建一个单主集群
概念
概念
Taint 和 Toleration
DNS Pod 与 Service
Kubernetes 中的代理
Kubernetes 组件
Kubernetes集群中使用Sysctls
Managing Compute Resources for Containers
Master 节点通信
Nodes
Pod 安全策略
Secret
Service
云供应商
使用 HostAliases 向 Pod /etc/hosts 文件添加条目
安装扩展(Addons)
容器环境变量
应用连接到 Service
概念模板示例
理解 Kubernetes 对象
网络策略
联邦
认识 Kubernetes?
设备插件
证书
资源配额
镜像
集群管理概述
Tasks
Administer a Cluster
Access Clusters Using the Kubernetes API (EN)
Access Services Running on Clusters (EN)
Advertise Extended Resources for a Node (EN)
Autoscale the DNS Service in a Cluster (EN)
Change the Reclaim Policy of a PersistentVolume (EN)
Change the default StorageClass (EN)
Cluster Management (EN)
Configure Multiple Schedulers (EN)
Configure Out Of Resource Handling (EN)
Configure Quotas for API Objects (EN)
Control CPU Management Policies on the Node (EN)
Customizing DNS Service (EN)
Debugging DNS Resolution (EN)
Declare Network Policy (EN)
Developing Cloud Controller Manager (EN)
Encrypting Secret Data at Rest (EN)
Guaranteed Scheduling For Critical Add-On Pods (EN)
IP Masquerade Agent User Guide (EN)
Kubernetes Cloud Controller Manager (EN)
Limit Storage Consumption (EN)
Namespaces Walkthrough (EN)
Operating etcd clusters for Kubernetes (EN)
Reconfigure a Node's Kubelet in a Live Cluster (EN)
Reserve Compute Resources for System Daemons (EN)
Safely Drain a Node while Respecting Application SLOs (EN)
Securing a Cluster (EN)
Set Kubelet parameters via a config file (EN)
Set up High-Availability Kubernetes Masters (EN)
Share a Cluster with Namespaces (EN)
Static Pods (EN)
Storage Object in Use Protection (EN)
Using CoreDNS for Service Discovery (EN)
Using a KMS provider for data encryption (EN)
Using sysctls in a Kubernetes Cluster (EN)
Extend kubectl with plugins (EN)
Manage HugePages (EN)
Schedule GPUs (EN)
授权概述
Reference
Standardized Glossary (EN)
Tools (EN)
使用 Salt 配置 Kubernetes 集群
(EN)
Advanced Topics (EN)
Docker 用户使用 kubectl 命令指南
Docs smoke test page (EN)
Foundational (EN)
Foundational (EN)
Intermediate (EN)
Intermediate (EN)
JSONPath 支持
Search Results (EN)
Tasks
Setup an extension API server
Administer a Cluster
Access Clusters Using the Kubernetes API (EN)
Access Services Running on Clusters (EN)
Advertise Extended Resources for a Node (EN)
Autoscale the DNS Service in a Cluster (EN)
Change the Reclaim Policy of a PersistentVolume (EN)
Change the default StorageClass (EN)
Cluster Management (EN)
Configure Multiple Schedulers (EN)
Configure Out Of Resource Handling (EN)
Configure Quotas for API Objects (EN)
Control CPU Management Policies on the Node (EN)
Customizing DNS Service (EN)
Debugging DNS Resolution (EN)
Declare Network Policy (EN)
Developing Cloud Controller Manager (EN)
Encrypting Secret Data at Rest (EN)
Guaranteed Scheduling For Critical Add-On Pods (EN)
IP Masquerade Agent User Guide (EN)
Kubernetes Cloud Controller Manager (EN)
Limit Storage Consumption (EN)
Namespaces Walkthrough (EN)
Operating etcd clusters for Kubernetes (EN)
Reconfigure a Node's Kubelet in a Live Cluster (EN)
Reserve Compute Resources for System Daemons (EN)
Safely Drain a Node while Respecting Application SLOs (EN)
Securing a Cluster (EN)
Set Kubelet parameters via a config file (EN)
Set up High-Availability Kubernetes Masters (EN)
Share a Cluster with Namespaces (EN)
Static Pods (EN)
Storage Object in Use Protection (EN)
Using CoreDNS for Service Discovery (EN)
Using a KMS provider for data encryption (EN)
Using sysctls in a Kubernetes Cluster (EN)
Accessing Clusters
Use Port Forwarding to Access Applications in a Cluster
Provide Load-Balanced Access to an Application in a Cluster
Use a Service to Access an Application in a Cluster
删除 StatefulSet
Create an External Load Balancer
配置你的云平台防火墙
List All Container Images Running in a Cluster
Configure DNS for a Cluster
Federation - Run an App on Multiple Clusters
Administer-clusters
Access Clusters Using the Kubernetes API (EN)
Advertise Extended Resources for a Node (EN)
Autoscale the DNS Service in a Cluster (EN)
Configure Multiple Schedulers (EN)
Configure Out Of Resource Handling (EN)
Configure Quotas for API Objects (EN)
Debugging DNS Resolution (EN)
Developing Cloud Controller Manager (EN)
Encrypting Secret Data at Rest
IP Masquerade Agent User Guide (EN)
Kubernetes Cloud Controller Manager (EN)
Limit Storage Consumption (EN)
Namespaces Walkthrough (EN)
Operating etcd clusters for Kubernetes (EN)
Reconfigure a Node's Kubelet in a Live Cluster (EN)
Reserve Compute Resources for System Daemons (EN)
Safely Drain a Node while Respecting Application SLOs (EN)
Securing a Cluster (EN)
Set up High-Availability Kubernetes Masters (EN)
Share a Cluster with Namespaces (EN)
Storage Object in Use Protection (EN)
Using CoreDNS for Service Discovery (EN)
Using a KMS provider for data encryption (EN)
使用 Calico 来提供 NetworkPolicy
使用 Romana 来提供 NetworkPolicy
使用 Weave 网络来提供 NetworkPolicy
关键插件 Pod 的调度保证
在 Kubernetes 中配置私有 DNS 和上游域名服务器
在 Kubernetes 集群中使用 sysctl
声明网络策略
将 kubeadm 集群在 v1.8 版本到 v1.9 版本之间升级/降级
应用资源配额和限额
控制节点上的CPU管理策略
改变默认 StorageClass
更改 PersistentVolume 的回收策略
设置 Pod CPU 和内存限制
访问集群上运行的服务
通过配置文件设置 Kubelet 参数
配置命名空间下pod总数
集群管理
静态Pods
Extend kubectl with plugins (EN)
使用 Service 把前端连接到后端
使用Deployment运行一个无状态应用
同 Pod 内的容器使用共享卷通信
基于Replication Controller执行滚动升级
对 DaemonSet 执行回滚
弹缩StatefulSet
管理巨页(HugePages)
证书轮换
调度 GPU
运行一个单实例有状态应用
配置对多集群的访问
Tools
Tutorials
Hello Minikube (EN)
Clusters
Kubernetes 对象管理
StatefulSet基本使用
“示例:使用 Stateful Sets 部署 Cassandra”
使用 Source IP
使用ConfigMap来配置Redis
使用命令式的方式管理 Kubernetes 对象
基于 Persistent Volumes 搭建 WordPress 和 MySQL 应用
运行 ZooKeeper, 一个 CP 分布式系统
kube-proxy
kube-scheduler
kubectl
kubectl概述
kubelet
使用准入控制插件
知名标签(Label)、注解(Annotation)和 Taints
认识 Kubernetes?

Edit This Page

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)
Initializers=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
如果设置,将配置值写入此文件并退出。

反馈