繁体   English   中英

如何使用多个apiservers配置kube-proxy master_url

[英]How to configure kube-proxy master_url with multiple apiservers

我正在使用具有多个apiservers的群集设置,其前面有一个负载均衡器,用于外部访问,并在裸机上安装。

就像高可用性Kubernetes Clusters文档中提到的那样,我想在集群中使用kubernetes服务来使用内部负载kubernetes 这到目前为止工作正常,但我不确定什么是设置kube-proxy的最佳方法。 它显然不能使用服务IP,因为它根据来自apiserver( master )的数据进行代理。 我可以使用任何一个apiservers的IP,但这会导致失去高可用性。 因此,我目前看到的唯一可行的选择是利用我的外部负载均衡器,但这似乎有点错误。

有人有什么想法或最佳实践吗?

这是一个非常古老的问题,但问题仍然存在......这就是它。

Kubernetes restclient中存在一个错误,它不允许使用多个IP / URL,因为它将始终获取列表中的第一个IP / URL。 这会影响kube-proxy和kubelet,如果您在多主设置中不使用负载均衡器(就像您一样),则会在这些工具中留下单点故障。 解决方案可能不是最优雅的解决方案,但目前(我认为)更容易解决。

其他解决方案(我更喜欢,但可能不适用于所有人并且它不能解决所有问题)是创建一个将围绕您的API服务器循环的DNS条目,但正如下面的一个链接所指出的那样,只能解决负载均衡,而不是HA。

您可以通过以下链接查看此故事的进展:

kube-proxy / kubelet问题: https//github.com/kubernetes/kubernetes/issues/18174
restclient PR: https//github.com/kubernetes/kubernetes/pull/30588
“官方”解决方案: https//github.com/kubernetes/kubernetes/issues/18174#issuecomment-199381822

我认为它的设置方式是每个主节点上都有一个kube-proxy,所以每个kube-proxy都指向127.0.0.1 / localhost上的主服务器

podmaster确定应该运行哪个api-server,然后使用该主服务器的本地代理

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM