我想在我们的本地数据中心内运行一个具有 1 个主节点和 2 个工作节点的 Kubernetes 集群,所有 3 个节点都位于不同的单独私有子网中。在将前端应用程序暴露给实现良好 Kubernetes 安全性的公共网络时,实现 Kubernetes 集群的最佳策略是什么?
2 回答
3
在云端我的答案会有所不同!据我了解,טםו 不会扩展您的节点,所以我的回答是基于此。
在 K8S 集群中创建所有服务(不要公开其中任何一个)。
创建 Nginx 或任何您喜欢作为 VM 的负载均衡器(如果您可以更好地为 HA 创建 2 个 VM)。
将 Nginx 路由到前端(请使用不暴露的入口控制器)
现在关于安全性:
将 WAF 添加到您的负载均衡器。
控制每种容器类型中允许的进程(为此使用 Falco)。
创建网络策略来定义允许与什么服务对话的服务,或者我强烈建议使用 Istio。
为数据库创建证书,只有包含证书的 pod 才能与他交谈。
祝你好运。
于 2018-08-14T06:14:17.913 回答
0
- 在私有网络上创建一个 Kubernetes 集群
- 在单独的网络上创建一个外部负载均衡器,将流量暴露给外部
- 将您的 DNS 指向外部负载均衡器的公共 IP
- 从外部负载均衡器中发现 Kubernetes 服务
- 在大多数情况下,您只需要外部负载均衡器将与之通信的 nodeport 类型的 kubernetes 服务。
- 如果您的应用程序需要会话持久性,请将 k8s 服务配置为仅从本地节点提供服务
于 2019-01-10T20:06:00.780 回答