在使用calico为每pod一个ip网络设置了kubernetes集群之后,我想知道向外部世界公开服务的最佳实践是什么。
我这里有两个选项,BGP内部pod IP (172...)到边缘路由器/防火墙(在我的例子中是vyos),并在防火墙/路由器上执行SNAT。但是我需要每个pod有一个公共IP来暴露。
优点:需要使用较少的公有IP缺点: Pod更改需要更新防火墙规则?!
第二步:获取提供的公共网络,并将其作为IP池移交给calico,用于pods。缺点:大量公网IP被浪费在内部服务上,不会暴露在互联网上
希望有人能开导我,指引我正确的方向。
谢谢!
发布于 2016-08-01 18:50:54
Calico没有提供任何特殊的方式来公开Kubernetes中的服务。您应该使用标准的Kubernetes服务、节点端口等来公开您的服务。在未来,Calico可能会提供kube-proxy目前为Kubernetes所做的一些功能(例如公开服务IP),但目前,Calico只适用于低级网络API层。Calico在Kubernetes集成中的真正优势是能够使用新的Kubernetes NetworkPolicy API定义网络安全策略。
来源:我是Calico的核心开发人员之一。
发布于 2019-04-22 17:08:42
Calico不负责k8s服务IP管理或将服务ip转换为容器(工作负载端点),它将IP地址分配给新创建的pod,并进行必要的系统配置更改以实现calico策略
https://stackoverflow.com/questions/38638106
复制相似问题