【问题标题】:Google Container Engine SubnetsGoogle 容器引擎子网
【发布时间】:2016-06-21 04:23:34
【问题描述】:

我正在尝试将服务彼此隔离。

假设 ops-human 有一堆 mysql 存储在 Google Container Engine 上运行,而 dev-human 有一堆节点应用程序在同一个集群上运行。我不希望 dev-human 能够以任何方式访问任何 ops-human 的 mysql 实例。

最简单的解决方案:将它们放在单独的子网中。我该怎么做这样的事情?我也对其他实现持开放态度。

【问题讨论】:

  • 如果把它们放在不同的namespaces,问题解决了吗?
  • @caesarxuchao 命名空间可防止用户错误(或只是方便的配置),例如将每个数据库命名为“db”。然后将找到该命名空间中的本地“db”。但是,如果您使用 FQDN 并且拥有像 Kubernetes 使用的平面网络,则可以访问命名空间之外的不同资源。最好不要让 dev 和 ops 在同一个集群上运行:如果 dev 生成一些新代码来推出 ops 所需的资源怎么办?

标签: kubernetes google-kubernetes-engine isolation


【解决方案1】:

Kubernetes Network-SIG 团队一直在研究网络隔离问题,kubernetes 1.2 中有一个实验性的 API 可以支持这一点。基本思想是在每个命名空间的基础上提供网络策略。然后,第三方网络控制器可以对资源的更改做出反应并执行该策略。详情请看最后blog post这个话题。

编辑:这个答案更多的是关于开源 kubernetes,而不是专门针对 GKE。

【讨论】:

    【解决方案2】:

    NetworkPolicy 资源现在在 GKE 中的 alpha 集群 (see latest blog post) 中可用。

    【讨论】:

      猜你喜欢
      • 2017-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-29
      • 1970-01-01
      • 2017-09-13
      • 1970-01-01
      • 2018-02-25
      相关资源
      最近更新 更多