使用 public ip 访问 运行 kubernetes 安全吗?
Is it safe to run kubernetes with public ip?
我是 kubernetes 的新手。所以可能是菜鸟问题。
我想知道通过互联网 运行 kubernetes 集群是否安全(使用 public ip 连接主节点 <-> 节点)。
生产也足够安全吗?如果是,是否可以在不同的供应商(如 AWS)上创建服务器并使其作为节点工作?
非常感谢。
可能普遍不同意运行在public上进行此操作是不安全的,但这里有一些建议:
- 任何 pods 开放端口默认为 public 的说法基本上是错误的。每个 pod 都有自己的网络命名空间,因此即使它监听
0.0.0.0
以捕获任何流量,这也仅发生在该本地命名空间内,因此决不会向外暴露。直到您配置 NodePort 或 LoadBalancer 类的 kubernetes 服务以明确将此服务(并且它支持 pods 端口)公开到网络。你甚至可以通过网络策略来管理它。
- 在通常的 kubernetes 设置中 pods 之间的流量通过覆盖网络传递,例如 ie。法兰绒,印花布或编织。 Weave Net,明确支持流量加密,使覆盖层通过 public 网络通信更安全。
- 在 public 互联网上公开 master 绝对没问题,就像您对任何其他服务器所做的那样。它在设计上受 authentication/cipher 保护。显然,定期的安全强化应该到位,但对于任何面向互联网的系统来说都是如此。你的主人也会 运行 调度程序和控制器管理器之类的东西,都在本地,所以不是真正的问题。
- 您还应该在每个节点上设置适当的防火墙规则以区分内部和 public 流量
我认为你可以 运行 通过 public 网络以安全的方式进行。
希望对您有所帮助!
我是 kubernetes 的新手。所以可能是菜鸟问题。
我想知道通过互联网 运行 kubernetes 集群是否安全(使用 public ip 连接主节点 <-> 节点)。
生产也足够安全吗?如果是,是否可以在不同的供应商(如 AWS)上创建服务器并使其作为节点工作?
非常感谢。
可能普遍不同意运行在public上进行此操作是不安全的,但这里有一些建议:
- 任何 pods 开放端口默认为 public 的说法基本上是错误的。每个 pod 都有自己的网络命名空间,因此即使它监听
0.0.0.0
以捕获任何流量,这也仅发生在该本地命名空间内,因此决不会向外暴露。直到您配置 NodePort 或 LoadBalancer 类的 kubernetes 服务以明确将此服务(并且它支持 pods 端口)公开到网络。你甚至可以通过网络策略来管理它。 - 在通常的 kubernetes 设置中 pods 之间的流量通过覆盖网络传递,例如 ie。法兰绒,印花布或编织。 Weave Net,明确支持流量加密,使覆盖层通过 public 网络通信更安全。
- 在 public 互联网上公开 master 绝对没问题,就像您对任何其他服务器所做的那样。它在设计上受 authentication/cipher 保护。显然,定期的安全强化应该到位,但对于任何面向互联网的系统来说都是如此。你的主人也会 运行 调度程序和控制器管理器之类的东西,都在本地,所以不是真正的问题。
- 您还应该在每个节点上设置适当的防火墙规则以区分内部和 public 流量
我认为你可以 运行 通过 public 网络以安全的方式进行。
希望对您有所帮助!