我们正在扩大我们的微服务群应用程序,我正在考虑Kubernetes满足我们的需求。我潜入现代配器之前,我想通过以下方式服务发现:Kubernetes - 内部负载平衡安全
- 集群的自举了某种分布式服务注册(在我们的例子领事)的
- 每个服务与服务注册表启动端点莫名其妙
- 通过每个服务自行注册本身在注册表
- 每当服务需要一些其他服务的地址,它将从注册表中的接触点
在这种情况下,如果有任何服务失败或某种网络中断发生,客户端服务可能会继续执行下一个联系点并最终成功(如果它未完全中断)。至于我已经明白,kubernetes使用完全不同的模式:
- 在kubernetes所有舱体自行注册
- Kubernetes提供单一的负载平衡器例如,通过传递流量服务
- 负载均衡本身可能被发现通过环境变量或DNS查询(这可能会导致令人毛骨悚然的东西,如从DNS记录获取端口或只是陈旧的环境变量)
而这让我感到困惑。如果我是正确的(随时告诉我我不是,如果是这种情况),这基本上将负载平衡器转换为SPOF,可能会停止整个应用程序在它死亡的那一刻。我对吗? Kubernetes有任何保证,这种情况不会发生或将在<N> <时间单位>解决?
我现在很困,但我想我明白了。我想问的最后一件事情 - iptables的实现总是路由到相同的后端,直到重新配置,对吧? – Etki
单个连接将路由到相同的后端,但多个连接将进行负载平衡。对于每个后端,kube-proxy配置iptables w /'-m statistic --mode random --probability {1/N}',其中N是后端的数量。 –