首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在K8S中,每个kube-proxy (在每个节点上运行)都有相同的实现吗?

在K8S中,每个kube-proxy (在每个节点上运行)都有相同的实现吗?
EN

Stack Overflow用户
提问于 2019-12-29 02:49:11
回答 1查看 207关注 0票数 2

我是K8S的新手,我正在尝试理解在集群中的每个节点上运行的kube-proxy的确切角色。文档中提到"kube-proxy反映了每个节点上Kubernetes API中定义的服务,并且可以跨一组后端执行简单的TCP、UDP和SCTP流转发或循环调度TCP、UDP和SCTP转发“。为了实现这一点,每个kube-proxy将需要具有关于在集群中运行的所有服务的完整信息,因为它是kube-proxy的责任,以提供对pod (在相应节点上)上运行的应用所要求的任何服务的访问。那么,这是否意味着K8S集群中的所有kube-proxies (在每个节点上运行)都是镜像?如果是这样,为什么每个节点上都有kube-proxy,而不是整个集群的集中式代理?

有关代理的K8S文档的链接:https://kubernetes.io/docs/concepts/cluster-administration/proxies/

EN

回答 1

Stack Overflow用户

发布于 2019-12-29 04:24:43

那么,这是否意味着K8S集群中的所有kube-proxies (在每个节点上运行)都是镜像?

是的,它们是相同图像的实例。

如果是这样的话,为什么每个节点上都有kube-proxy,而不是整个集群的集中式代理?

kube-proxy使用操作系统包过滤层(如果有),并且它是可用的,例如IPtable、IPVS。否则,kube-proxy会自行转发流量。kube-proxy

Kube-是一个k8s控制器代理本身,它监视集群的所需状态(服务和端点),并在节点上进行更改,因为它管理IPtabels (在使用iptable模式)

要实现这一点,每个kube-proxy都需要有关于集群中运行的所有服务的完整信息.....

有以下标志用于设置kube-proxy的行为

代码语言:javascript
复制
--iptables-min-sync-period duration
The minimum interval of how often the iptables rules can be refreshed as endpoints and services change (e.g. '5s', '1m', '2h22m').
--iptables-sync-period duration     Default: 30s
The maximum interval of how often iptables rules are refreshed (e.g. '5s', '1m', '2h22m'). Must be greater than 0.

在IMO中,节点上pods之间的连接(转发、接受)应该由节点组件决定,而不是由中央平面组件决定。此外,K8s控制平面(api-server等)保留了集群的期望状态和当前状态,因此所有控制器都可以根据其设置的行为进行协调。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59513928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档