Kubernetes 互联网上的库伯内特斯

Kubernetes 互联网上的库伯内特斯,kubernetes,kubernetes-security,Kubernetes,Kubernetes Security,我的VPS提供商不可能在VSE之间拥有专用网络。因此,主节点和节点通过internet相互连接。这是否足够安全?或者最好转到AWS?当另一个回答说它不安全时,我强烈反对 1:在公共互联网上公开master是完全可以的,就像你在其他服务器上一样。通过设计,它受到身份验证/密码保护。显然,应该有一个常规的sec强化机制,但任何面向互联网的系统都是如此。您的主机还将运行调度器和控制器管理器之类的东西,所有这些都在本地运行,所以这并不是一个真正的问题 2:在通常的kubernetes设置中,吊舱之间的流

我的VPS提供商不可能在VSE之间拥有专用网络。因此,主节点和节点通过internet相互连接。这是否足够安全?或者最好转到AWS?

当另一个回答说它不安全时,我强烈反对

1:在公共互联网上公开master是完全可以的,就像你在其他服务器上一样。通过设计,它受到身份验证/密码保护。显然,应该有一个常规的sec强化机制,但任何面向互联网的系统都是如此。您的主机还将运行调度器和控制器管理器之类的东西,所有这些都在本地运行,所以这并不是一个真正的问题

2:在通常的kubernetes设置中,吊舱之间的流量通过覆盖网络,如法兰绒、印花布或编织。从经验来看,其中一些,比如我的Weave Net,明确支持流量加密,以使覆盖层在公共网络上通信更安全

3:声明
任何打开端口的吊舱默认为公共的
是根本错误的。每个pod都有自己的网络名称空间,因此即使它侦听0.0.0.0以捕获任何流量,这也只发生在该本地名称空间内,因此它决不会暴露在外部。直到您配置NodePort或LoadBalancer类型的kubernetes服务,将此服务(及其支持的pods端口)显式公开到internet。通过网络策略,您可以更好地控制这一点


所以,是的,您可以在公共网络上以安全的方式运行kubernetes群集。

您还应该在每个节点上设置适当的防火墙规则,以区分内部流量和公共流量。NAT下的端口转发可以吗?主节点或节点具有内部和公共IP。因此,他们只使用公共IP(Kubernetes仅通过互联网)。如果是,您知道应该打开哪些端口吗?非常感谢