【问题标题】:kubernetes: intra-cluster isolation of applicationsKubernetes:应用程序的集群内隔离
【发布时间】:2018-06-20 13:02:13
【问题描述】:

我一直在试验k8s/kops/aws套件。

到目前为止,一切进展顺利(通过kops 更新集群时的issue 除外)

我希望能够利用我现有的资源/集群并在同一个集群中部署我的应用程序的两种风格(即productiontesting)。

为了安全起见,我希望最大限度地隔离这两个部署的 k8s 资源。

肯定会有不同的命名空间。

通过一些调查我发现我还需要申请NetworkPolicy来防止namespace之间的通信;但是,应用 NetworkPolicy 资源需要支持网络解决方案(当前使用 kubenet,默认为 kops没有)。

解决方案/插件是什么?

只想要(至少暂时)上面描述的隔离级别,我认为可以通过NetworkPolicy 实现,即使所有 pod 都有一个共同的CIDR(只是说是为了强调有只需要最简单的网络解决方案即可实现这一目标,没有更多花哨的CIDRs 等)。

理想情况下,我希望能够NetworkPolicy 资源用于一些基于namespace (namespaceSelector) 和基于pod (podSelector) 的入口规则和就这样(?)

【问题讨论】:

    标签: networking kubernetes kubernetes-security


    【解决方案1】:

    在我的 kops 集群上,我使用 weave 网络(我也将它们设置为私有拓扑,无论如何都不包括 kubenet)。所以我的第一个建议是使用不同的网络,我首先想到的是编织和印花布。

    除此之外,您可能还想研究 Istio 之类的服务网格解决方案,它也可以利用 NetworkPolicies(一些 istio policy reading

    【讨论】:

    • 我还假设您使用堡垒 ssh-ing 到您的集群,因为您在私有拓扑上?
    • 确实是堡垒
    • 请允许我补充一个问题:weave 仅用于支持NetworkPolicy 的执行?如果我用weave just 启动我的集群以便能够强制执行NetworkPolicy,这是否被认为是一种不好的做法? (我在问,因为我认为任何网络解决方案的目的不仅仅是启用NetworkPolicy,对吧?)
    • 我所有的跨 pod 通信都是通过 weave 进行的,NetworkPolicy 支持对我来说是一种副作用。私有拓扑强制使用与 kubenet 不同的网络解决方案,所以无论如何我都必须选择。在其他设置中,我使用编织能力在公共网络上建立加密的对等通道(在纯 kops/aws 中没有用,但我有一些混合)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-12
    • 2019-12-01
    • 2018-10-10
    • 1970-01-01
    • 2020-06-17
    相关资源
    最近更新 更多