You need to enable JavaScript to run this app.
文档中心
容器服务

容器服务

复制全文
下载 pdf
安全
安全组配置最佳实践
复制全文
下载 pdf
安全组配置最佳实践
本文主要介绍在容器服务(VKE)集群中进行安全组管理的一系列最佳实践。通过设置安全组,可以为 VKE 集群中的节点或 Pod 提供流量入口处的安全保障,杜绝实例受到非法访问乃至攻击。
每一个 VKE 集群在创建时,都会根据其网络模型生成默认安全组。在 Flannel 网络模型中,仅会生成节点默认安全组,而在 VPC-CNI 网络模型中,则会额外生成 Pod 默认安全组。安全组以白名单的形式工作,即只有符合安全组规则的流量可以被放行。默认安全组相关说明,请参见 安全组设置
基本原则
结合容器服务的特性,在配置安全组时,应该遵循以下基本原则:
  • 设置安全组端口时保证最小化原则,只允许指定的端口可以被访问。
  • 设置放行的源地址时保证最小化原则,建议不要使用0.0.0.0/0进行配置。
  • VKE 不允许直接使用 NodePort 类型的 Service 对外暴露 Pod 所提供的服务,因此配置安全组时,建议禁止集群以外的网络对象直接访问到节点对应云服务器(ECS)实例的 30000~32768 端口。
  • 建议不要为节点对应的 ECS 实例配置公网 IP(EIP)。
  • 建议使用应用型负载均衡(ALB)或者负载均衡(CLB)对外暴露 Pod 所提供的服务,同时确保安全组已放通上述云资源。
  • 位于同一个私有网络(VPC)内的网络对象(例如 Pod 、ECS 等)属于内部访问,可以完全放行。若有内部网络对象之间的隔离需求,管理人员可根据实际需求,单独配置规则。
VKE 端口介绍
VKE 使用主要端口及说明如下:
  • 22: 该端口为节点对应 ECS 的 SSH 应用端口,管理人员可以通过 VKE 控制台的 ECS Terminal 功能远程登录 ECS。
  • 6443: 该端口是 VKE 中 kube-apiserver 托管服务的入口。如果管理人员通过远程的客户端管理 VKE 集群,则该端口应面向远程客户端的 IP 地址放行。
  • 30000-32768:该端口是 NodePort 类型 Service 启动监听的端口段。Pod 通过该端口段暴露服务。
  • 10250:该端口是 kubelet 默认对外暴露的访问端口。
VKE 默认安全组
默认安全组是指随私有网络创建而自动创建,随私有网络删除而删除的安全组。 VKE 为保证集群和节点本身功能的正常运作,确保集群和节点之间的网络正常连通,避免绑定无效安全组造成集群功能异常,提供默认安全组。VKE 默认安全组详细的出、入方向规则,请参见 安全组设置
不同网络模型的集群,提供的默认安全组不同:
  • VPC-CNI 网络模型下的安全组
  • 在 VPC-CNI 网络模型集群中,Pod 的网络将直接从 VPC 的子网中分配,Pod 与 ECS 在网络上位于同一个平面。ALB 与 CLB 等云资源可以利用直通 Pod 的能力,直接将流量转发到 Pod 的真实 IP,免除对 NodePort 的依赖,故此可以专门为 Pod 提供一个单独的安全组,用于管控流量入口。
  • alt
  • Flannel 网络下的安全组
  • 在 Flannel 网络模型集群中,Pod 位于由 Flannel 提供的虚拟网络中,网络流量的入口依赖于 ECS 类型 Node 提供的 NodePort。ALB 与 CLB 等云资源仅可以将流量转发到 Node 的指定端口上,故而由节点安全组统一管理流量放行。
  • alt
最小化安全组最佳实践
默认生成的安全组适用于一般场景,在对网络安全要求较为严格的场景中,容器服务支持自行管理和配置最小化访问规则的安全组。您可以参考下文配置最小化安全组访问规则。更多自行管理的安全组规则相关说明,请参见 集群访问规则
在火山引擎安全组中,有如下较特殊的 IP 地址段:
  • 100.64.0.0/10:该地址段用于私有网络内云资源 IPv4 私网互通。
  • fd00:64::/32:该地址段用于私有网络内云资源 IPv6 私网互通。
面向 VKE 集群所发起的管控操作以及 ALB/CLB 等云资源的流量转发均来自上述两个地址段,因此可以利用上述两个地址段大规模替换 0.0.0.0/0
说明
IPv6 私网目前在 VPC 侧处于 邀测 阶段。更多介绍,请参见 搭建 IPv4&IPv6 私有网络
VPC-CNI 最小化安全组
在 VPC-CNI 网络模型集群中,优化后的节点和 Pod 最小化规则安全组如下表所示。
  • 节点安全组
  • 协议
    端口范围
    源地址
    描述
    集群的私有网络仅使用 IPv4 CIDR 时:
    ALL
    ALL
    ******-common
    关联该节点默认安全组的所有网络对象可以自由访问。
    ALL
    ALL
    ******-pod
    关联该 Pod 默认安全组的所有网络对象可以自由访问。
    TCP
    22
    100.64.0.0/10
    仅允许集群管控服务访问节点对应 ECS 的 SSH 端口。
    TCP
    6443
    100.64.0.0/10
    仅允许集群管控服务访问集群 kube-apiserver 入口。
    TCP
    30000-32768
    100.64.0.0/10
    仅允许 ALB/CLB 等云资源访问 TCP 协议的 NodePort。
    UDP
    30000-32768
    100.64.0.0/10
    仅允许 ALB/CLB 等云资源访问 UDP 协议的 NodePort。
    TCP
    10250
    100.64.0.0/10
    提供节点上工作负载的监控信息和容器的访问通道。
    集群的私有网络启用 IPv6 CIDR 时:
    TCP
    22
    fd00:64::/32
    仅允许集群管控服务访问节点对应 ECS 的 SSH 端口。
    TCP
    6443
    fd00:64::/32
    仅允许集群管控服务访问集群 kube-apiserver 入口。
    TCP
    30000-32768
    fd00:64::/32
    仅允许 ALB/CLB 等云资源访问 TCP 协议的 NodePort。
    UDP
    30000-32768
    fd00:64::/32
    仅允许 ALB/CLB 等云资源访问 UDP 协议的 NodePort。
    TCP
    10250
    fd00:64::/32
    提供节点上工作负载的监控信息和容器的访问通道。
  • Pod 安全组
  • 协议
    端口范围
    源地址
    描述
    集群的私有网络仅使用 IPv4 CIDR 时:
    ALL
    ALL
    ******-pod
    关联该 Pod 默认安全组的所有网络对象可以自由访问。
    ALL
    ALL
    100.64.0.0/10
    仅允许 ALB/CLB 等云资源访问 Pod 所有端口。
    ALL
    ALL
    ******-common
    关联该节点默认安全组的所有网络对象可以自由访问。
    集群的私有网络启用 IPv6 CIDR 时:
    ALL
    ALL
    fd00:64::/32
    仅允许 ALB/CLB 等云资源访问 Pod 所有端口。
Flannel 最小化安全组
在 Flannel 网络模型集群中,优化后的节点最小化规则安全组如下表所示。
协议
端口范围
源地址
描述
集群的私有网络仅使用 IPv4 CIDR 时:
ALL
ALL
******-common
关联当前安全组的所有网络对象可以自由访问。
ALL
ALL
x.x.x.x/x
Pod 可以自由访问节点对应的 ECS。x.x.x.x/x为 Pod CIDR。
TCP
22
100.64.0.0/10
仅允许集群管控服务访问节点对应 ECS 的 SSH 端口。
TCP
6443
100.64.0.0/10
仅允许集群管控服务访问集群 kube-apiserver 入口。
TCP
30000-32768
100.64.0.0/10
仅允许 ALB/CLB 等云资源访问 TCP 协议的 NodePort。
UDP
30000-32768
100.64.0.0/10
仅允许 ALB/CLB 等云资源访问 UDP 协议的 NodePort。
TCP
10250
100.64.0.0/10
提供节点上工作负载的监控信息和容器的访问通道。
集群的私有网络启用 IPv6 CIDR 时:
TCP
22
fd00:64::/32
仅允许集群管控服务访问节点对应 ECS 的 SSH 端口。
TCP
6443
fd00:64::/32
仅允许集群管控服务访问集群 kube-apiserver 入口。
TCP
30000-32768
fd00:64::/32
仅允许 ALB/CLB 等云资源访问 TCP 协议的 NodePort。
UDP
30000-32768
fd00:64::/32
仅允许 ALB/CLB 等云资源访问 UDP 协议的 NodePort。
TCP
10250
fd00:64::/32
提供节点上工作负载的监控信息和容器的访问通道。
对四层 CLB 的特殊处理
CLB 提供四层流量转发能力,配置基于 CLB 实现的路由规则时安全组会产生透传,需要节点或 Pod 安全组放行来自客户端的访问流量。因此需要在上述最小化安全组中附加以下规则,以确保指定客户端的访问被放行。
协议
端口范围
源地址
描述
ALL
用户自定义端口
x.x.x.x/x
允许指定的客户端访问节点。x.x.x.x/x为客户端的公网 IP 地址或 CIDR。
最近更新时间:2025.12.15 19:15:39
这个页面对您有帮助吗?
有用
有用
无用
无用