3

我想在我们的本地数据中心内运行一个具有 1 个主节点和 2 个工作节点的 Kubernetes 集群,所有 3 个节点都位于不同的单独私有子网中。在将前端应用程序暴露给实现良好 Kubernetes 安全性的公共网络时,实现 Kubernetes 集群的最佳策略是什么?

4

2 回答 2

3

在云端我的答案会有所不同!据我了解,טםו 不会扩展您的节点,所以我的回答是基于此。

  1. 在 K8S 集群中创建所有服务(不要公开其中任何一个)。

  2. 创建 Nginx 或任何您喜欢作为 VM 的负载均衡器(如果您可以更好地为 HA 创建 2 个 VM)。

  3. 将 Nginx 路由到前端(请使用不暴露的入口控制器)

现在关于安全性:

  1. 将 WAF 添加到您的负载均衡器。

  2. 控制每种容器类型中允许的进程(为此使用 Falco)。

  3. 创建网络策略来定义允许与什么服务对话的服务,或者我强烈建议使用 Istio。

  4. 为数据库创建证书,只有包含证书的 pod 才能与他交谈。

祝你好运。

于 2018-08-14T06:14:17.913 回答
0
  • 在私有网络上创建一个 Kubernetes 集群
  • 在单独的网络上创建一个外部负载均衡器,将流量暴露给外部
  • 将您的 DNS 指向外部负载均衡器的公共 IP
  • 从外部负载均衡器中发现 Kubernetes 服务
  • 在大多数情况下,您只需要外部负载均衡器将与之通信的 nodeport 类型的 kubernetes 服务。
  • 如果您的应用程序需要会话持久性,请将 k8s 服务配置为仅从本地节点提供服务
于 2019-01-10T20:06:00.780 回答