ACK集群使用安全组来约束控制面节点和Worker节点之间的网络流量。安全组还用于控制节点、VPC资源和外部IP地址之间的流量。创建集群或节点池时,系统会默认自动为您分配一个安全组,您也可以指定关联已有安全组。指定已有安全组时,系统默认不会为安全组配置额外的访问规则,请自行管理并收敛安全组规则。
您可以通过添加安全组规则,允许或禁止安全组内的ECS实例对公网或私网的访问。更多信息,请参见安全组概述、添加安全组规则。
集群安全组出、入规则推荐配置
普通安全组
入方向
集群访问规则 | 协议 | 端口 | 授权对象 |
推荐范围 | ICMP | -1/-1(不限制端口) | 0.0.0.0/0 |
所有协议 | -1/-1(不限制端口) |
| |
最小范围 | 所有协议 | 53/53(DNS) |
|
ICMP | -1/-1(不限制端口) | ||
TCP |
| ||
所有协议 | 所有应用或组件期望被访问的端口 | 所有应用或组件期望被访问的来源地址或者来源安全组 |
出方向
集群访问规则 | 协议 | 端口 | 授权对象 |
推荐范围 | 所有协议 | -1/-1(不限制端口) | 0.0.0.0/0 |
最小范围 | 所有协议 | -1/-1(不限制端口) | 100.64.0.0/10 (云产品网段) |
所有协议 | 53/53(DNS) |
| |
TCP |
| ||
所有协议 | 所有应用或组件期望访问的端口 | 所有应用或组件期望访问的目的地址或者目的安全组 |
企业安全组
入方向
集群访问规则 | 协议 | 端口 | 授权对象 |
推荐范围 | ICMP | -1/-1(不限制端口) | 0.0.0.0/0 |
所有协议 | -1/-1(不限制端口) |
| |
最小范围 | 所有协议 | 53/53(DNS) |
|
ICMP | -1/-1(不限制端口) | ||
TCP |
| ||
所有协议 | 所有应用或组件期望被访问的端口 | 所有应用或组件期望被访问的来源地址或者来源安全组 |
出方向
集群访问规则 | 协议 | 端口 | 授权对象 |
推荐范围 | 所有协议 | -1/-1(不限制端口) | 0.0.0.0/0 |
最小范围 | 所有协议 | -1/-1(不限制端口) | 100.64.0.0/10 (云产品网段) |
所有协议 | 53/53(DNS) |
| |
TCP |
| ||
所有协议 | 所有应用或组件期望访问的端口 | 所有应用或组件期望访问的目的地址或者目的安全组 |
关闭安全组删除保护
为了防止集群关联的安全组被误删除,ACK会为所有集群关联的安全组开启删除保护功能。当您在ECS控制台释放安全组时遇到如下报错,表明该安全组被ACK开启了删除保护功能。
目前安全组的删除保护功能无法通过控制台或API手动关闭。只有当所有依赖该安全组的集群均被删除后,ACK才会自动释放对该安全组的删除保护。请依次查询ACK集群所关联的安全组,并删除所有依赖该安全组的集群。查询步骤如下。
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称。单击集群资源页签,查看集群所在的安全组。
当所有依赖该安全组的集群均已删除后,您可以通过ECS控制台继续释放该安全组。如果释放失败,请提交工单给容器服务团队。
关于如何删除安全组,请参见删除安全组。
相关文档
关于网络安全的最佳实践,例如默认允许或拒绝规则、命名空间隔离等,请参见网络安全。
关于如何规划Kubernetes集群网络,包括ECS地址、Kubernetes Pod地址、Service地址等,请参见Kubernetes集群网络规划。