amazon-web-services - 使用公共 ip 运行 kubernetes 是否安全?
问题描述
我是 Kubernetes 的新手。所以可能是菜鸟问题。
我想知道在互联网上运行 kubernetes 集群是否安全(使用公共 ip 连接主 <-> 节点)。
生产也足够安全吗?如果是,是否可以在不同的供应商(如 AWS)上创建服务器并使其作为节点工作?
非常感谢。
解决方案
可能存在普遍的分歧,即在公共上运行它是不安全的,但这里有一些提示:
- 任何开放端口的 Pod 默认为 public的说法基本上是错误的。每个 pod 都有自己的网络命名空间,因此即使它侦听
0.0.0.0
以捕获任何流量,这也仅发生在该本地命名空间内,因此绝不会向外暴露。直到您配置 NodePort 或 LoadBalancer 排序的 kubernetes 服务以明确将此服务(以及它的支持 pod 端口)公开给网络。你甚至可以通过网络策略来管理它。 - 通常 kubernetes 设置中 pod 之间的流量通过覆盖网络(如 ie)传递。法兰绒、印花布或编织。Weave Net,明确支持流量加密,使覆盖层在公共网络上通信更安全。
- 在公共互联网上公开 master 绝对没问题,就像您对任何其他服务器所做的那样。它在设计上受身份验证/密码保护。显然,应该进行常规的 sec 加固,但这适用于任何面向互联网的系统。您的主人还将在本地运行调度程序和控制器管理器之类的东西,所以这不是一个真正的问题。
- 您还应该在每个节点上设置适当的防火墙规则,以区分内部流量和公共流量
我认为您可以以安全的方式在公共网络上运行它。
希望这对你有帮助!
推荐阅读
- graph - 尝试在 Gnuplot 中绘制多个图形时出错
- c++ - 为什么我从串口读取垃圾?
- javascript - 通过 AJAX 传递带有函数的 JSON
- android - java.lang.SecurityExcption:WifiService:既不是 usr 10140 也不是当前进程 hs andrid.prmission.CHANGE_WIFI_STATE
- vue.js - 没有从 rails vue.js 表单返回条纹令牌
- f# - 如何将浮点数 (1,2) 拆分为 1 和 2 个整数?
- angular - 需要 angular-google-maps fitBoundsAccessor 抽象类示例
- typescript - 将打字稿编译成不同的路径
- python - 如何使用 matplotlib 绘制 collections.Counter 直方图?
- c++ - 类型推理“自动”和引用调用如何工作?