问题描述
为方便连接集群进行相关操作,通常需要开启集群 API Server 公网访问,目前容器服务通过负载均衡(CLB)和公网 IP(EIP)方式暴露 API Server 公网访问。
若不想直接暴露 EIP 给所有地址访问,是否可以针对源地址在 CLB 上进行网络访问控制配置?
解决方法
可以配置。可以通过 CLB 的访问控制设置白名单访问。
- 登录 容器服务控制台。
- 在左侧导航栏单击 集群,找到目标集群,单击集群名称。
- 在集群的 基本信息 页面 网络信息 页签,复制私网 IP。
- 登录 负载均衡控制台。
- 左侧导航栏单击 实例管理,然后在 实例管理 页面搜索上一步复制的私网 IP。
- 单击搜索到的 CLB 实例名称,进入实例详情页面。
- 在 概览 页签下的 实例属性配置 区域,关闭 修改保护 按钮。
- 选择 监听器 页签,单击 添加监听器,为 CLB 实例添加监听器并开启 访问控制。
- 详细的监听器参数配置,请参见 创建监听器 中的说明,根据实际情况设置。
- 访问控制 参数:如下图所示,开启 访问控制,选择 白名单,单击 创建访问控制策略,设置负载均衡访问控制白名单。访问控制策略相关说明,请参见 访问控制。
注意
- 除用户侧访问 API Server 外,集群控制面组件和控制台也需要访问 API Server,因此白名单地址段还需要额外放通:
100.64.0.0/10
网段:用于控制面对集群的健康检查。- 节点所在私有网络(VPC)子网网段:用于集群中的节点访问 API Server。
- 请填写准确的客户端请求源地址,并确保访问链路不会进行源网络地址转换(SNAT)。
- 为避免后续的误操作,配置完访问控制后,在 CLB 实例详情页面的 概览 页签,请重新开启 CLB 的 修改保护。