用户指南

容器服务安全组设置

最近更新时间:2020-06-18 09:43:07

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

安全组

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

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

  • 由于在容器集群中,服务实例采用分布式的方式进行部署,不同的服务实例分布在集群的节点上。建议同一个集群下的主机绑定同一个安全组,集群的安全组不添加其他云服务器。
  • 安全组只对外开放最小权限。
  • 需放通以下容器服务使用规则:
    • 放通容器实例网络和集群节点网络
      当服务访问到达主机节点后,会通过 Kube-proxy 模块设置的 iptables 规则将请求进行转发到服务的任意一个实例。由于服务的实例有可能在另外的节点上,这时会出现跨节点访问。例如访问的目的 IP有服务实例IP、集群中其它的节点 IP、节点上集群 cbr0 网桥的 IP。这就需要在对端节点上放通容器实例网络和集群节点网络访问。
    • 同一 VPC 不同集群互访的情况,需要放通对应集群的容器网络和节点网络。
    • 需要 SSH 登录节点的放通22端口。
    • 放通节点30000 - 32768端口。
      在访问路径中,需要通过负载均衡器将数据包转发到容器集群的 NodeIP:NodePort 上。其中 NodeIP 为集群中任意一节点的主机 IP ,而 NodePort 是在创建服务时容器集群为服务默认分配的,NodePort 的范围为30000 - 32768。
      下图以外网访问服务为例:
      外网负载均衡访问

容器服务默认安全组规则

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

注意:

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

入站规则

协议规则 端口 来源 策略 备注
ALL ALL 容器网络 CIDR 允许 放通容器网络内 Pod 间通信
ALL ALL 集群网络 CIDR 允许 放通集群网络内节点间通信
tcp 22 0.0.0.0/0 允许 放通 SSH 登录端口
tcp 30000 - 32768 0.0.0.0/0 允许 放通 Master 与 Worker 节点间通信
udp 30000 - 32768 0.0.0.0/0 允许 放通 Master 与 Worker 节点间通信
icmp - 0.0.0.0/0 允许 放通 ICMP 协议,支持 Ping 操作

出站规则

协议规则 端口 来源 策略
ALL ALL 0.0.0.0/0 允许
说明:

  • 容器节点配置该规则,可满足不同的访问方式访问集群中服务。
  • 集群中服务的访问方式,可参考 Service 管理 服务访问方式
目录