使用Calico在kubernetes中公开服务的最佳实践

问题描述 投票:1回答:2

为one-ip-per-pod网络建立了一个带有calico的kubernetes集群,我想知道将服务暴露给外界的最佳做法是什么。

恕我直言我在这里有两个选择,BGP将内部pod IP(172 ...)发送到边缘路由器/防火墙(在我的情况下是vyos)并在防火墙/路由器上执行SNAT。但是,我需要每个pod一个公共IP来暴露。

Pro:需要使用较少的公共IP Con:Pod更改需要更新防火墙规则?!

或者第二步:将提供的公共网络交给calico作为用于pod的IP池。骗局:许多公共IP浪费在内部服务上,不会暴露在互联网上

希望有人能够启发我或指出我正确的方向。

谢谢!

networking kubernetes nat project-calico
2个回答
1
投票

Calico没有提供任何特殊方式来揭露Kubernetes中的服务。您应该使用标准Kubernetes服务,节点端口等来公开您的服务。在未来,Calico可能会提供kube-proxy目前为Kubernetes所做的一些功能(例如暴露服务IP),但目前,Calico只适用于低级网络API层。 Calico在Kubernetes集成中的真正优势在于能够使用新的Kubernetes NetworkPolicy API定义网络安全策略。

来源:我是Calico的核心开发人员之一。


0
投票

Calico不负责k8s服务IP管理或将服务ip转换为容器(工作负载端点)它将IP地址分配给新创建的pod并进行必要的系统配置更改以实现calico策略

© www.soinside.com 2019 - 2024. All rights reserved.