网络隔离的最小配置

作者:任云康,青云科技研发工程师

前言

对于项目下的网络隔离,有用户提出了以下疑问:

  • 网络隔离是针对 Pod 的吗?
  • 网络隔离的最小配置是什么?
    • 配置后,哪些是可以访问的,哪些是不可以访问的?
    • 通过 Ingress 暴露、LB 类型的 Service 暴露、NodePort 类型的 Service 暴露的流量的具体链路是什么样的?

KubeSphere 网络策略的实现思路

KubeSphere 对于 NetworkPolicy 的集成中主要包含:

  • 集群网络策略管理:主要提供一个原生的 NetworkPolicy 资源的管理,当 KubeSphere 租户网络隔离无法满足用户的全部需求时,可以在此通过 yaml 管理原生的 NetworkPolicy。

  • 租户网络隔离管理:分为企业空间网络隔离和项目空间的网络隔离。

    • 当开启企业空间网络隔离时,会自动为该企业空间的所有项目创建一条只允许本企业空间访问的入站规则的网络策略,默认不限制出站流量;
    • 当开启项目网络隔离时,会自动为该项目创建一条只允许项目访问的入站规则的网络策略;
    • 项目网络隔离下可以配置白名单列表,内部白名单允许当前项目中的容器组与当前企业空间其他项目中的服务进行通信,外部白名单允许当前项目中的容器组与企业空间外部的特定网段和端口进行通信;
    • 默认不限制出站流量;如果配置出站白名单,那只会放行白名单上的出站项。