设置安全组服务

最近更新时间: 2024-12-19 17:12:00

安全问题向来是一个大家非常关注的问题,云平台将安全性作为产品设计中的最高原则,严格要求产品做到安全隔离,容器服务同样非常看重这一点。云平台的基础网络可以提供充分的安全保障,容器服务选择了网络特性更丰富的云私有网络VPC来作为容器服务的底层网络,本文档主要介绍容器服务下使用安全组的最佳实践,帮助大家选择安全组策略。

安全组

安全组是一种有状态的包过滤功能的虚拟防火墙,它用于设置单台或多台云服务器的网络访问控制,是云平台提供的重要的网络安全隔离手段。更多安全组的介绍请参见安全组。

容器服务选择安全组的原则

  • 由于在容器集群中,服务实例采用分布式的方式进行部署,不同的服务实例分布在集群的节点上。建议同一个集群下的主机绑定同一个安全组,集群的安全组不添加其他云服务器。
  • 安全组只对外开放最小权限。
  • 需放通以下容器服务使用规则:
    • 放通容器实例网络和集群节点网络 当服务访问到达主机节点后,会通过 Kube-proxy 模块设置的 iptable 规则将请求进行转发到服务的任意一个实例。由于服务的实例有可能在另外的节点上,这时会出现跨节点访问。例如访问的目的 IP有服务实例IP、集群中其它的节点 IP、节点上集群 cbr0 网桥的 IP。这就需要在对端节点上放通容器实例网络和集群节点网络访问。

    • 同一 VPC 不同集群互访的情况,需要放通对应集群的容器网络和节点网络。

    • 需要 SSH 登录节点的放通22端口。

    • 放通节点30000 - 32768端口。 在访问路径中,需要通过负载均衡器将数据包转发到容器集群的 NodeIP:NodePort 上。其中 NodeIP 为集群中任意一节点的主机 IP ,而 NodePort 是在创建服务时容器集群为服务默认分配的,NodePort 的范围为30000 - 32768。 下图以外网访问服务为例:

容器服务默认安全组规则

节点默认安全组规则

集群节点间的正常通信需要放通部分端口,为避免绑定无效安全组造成客户创建集群失败,容器服务为您提供了默认安全组配置规则。如下表:

注意

若当前默认安全组不能满足业务需求,并且已创建绑定该安全组的集群时,您可参照管理安全组规则进行该集群安全组规则的查看、修改等操作。

入站规则

协议规则端口来源策略备注
ALLALL容器网络 CIDR允许放通容器网络内 Pod 间通信
ALLALL集群网络 CIDR允许放通集群网络内节点间通信
tcp30000 - 327680.0.0.0/0允许放通 NodePort 访问(LoadBalancer 类型的 Service 需经过 NodePort 转发)
udp30000 - 327680.0.0.0/0允许放通 NodePort 访问(LoadBalancer 类型的 Service 需经过 NodePort 转发)
icmp-0.0.0.0/0允许放通 ICMP 协议,支持 Ping 操作

出站规则

协议规则端口来源策略
ALLALL0.0.0.0/0允许

说明

  • 自定义出站规则时需放通节点网段和容器网段。
  • 容器节点配置该规则,可满足不同的访问方式访问集群中服务。
  • 集群中服务的访问方式,可参考 Service 管理 服务访问方式

独立集群 Master 默认安全组规则

创建独立集群时,会默认为 Master 机型绑定 TKE 默认安全组,降低集群创建后 Master 与 Node 无法正常通信及 Service 无法正常访问的风险。默认安全组配置规则如下表:

说明

创建安全组的权限继承至 TKE 服务角色,详情请参见 服务授权相关角色权限说明

入站规则

协议端口网段策略备注
ICMPALL0.0.0.0/0允许支持 Ping 操作
TCP30000 - 32768集群网络 CIDR允许放通 NodePort 访问(LoadBalancer 类型的 Service 需经过 NodePort 转发)
UDP30000 - 32768集群网络 CIDR允许放通 NodePort 访问(LoadBalancer 类型的 Service 需经过 NodePort 转发)
TCP60001,60002,10250,2380,2379,53,17443,50055,443,61678集群网络 CIDR允许放通 API Server 通信
TCP60001,60002,10250,2380,2379,53,17443容器网络 CIDR允许放通 API Server 通信
TCP30000 - 32768容器网络 CIDR允许放通 NodePort 访问(LoadBalancer 类型的 Service 需经过 NodePort 转发)
UDP30000 - 32768容器网络 CIDR允许放通 NodePort 访问(LoadBalancer 类型的 Service 需经过 NodePort 转发)
UDP53容器网络 CIDR允许放通 CoreDNS 通信
UDP53集群网络 CIDR允许放通 CoreDNS 通信

出站规则

协议规则端口来源策略
ALLALL0.0.0.0/0允许