服务跨集群通信时网络不通,如何解决?
操作场景
企业版网格可以管理多个集群(CCE集群和CCE Turbo集群均可),服务在跨集群通信时,如果网络访问不通,可能是因为未放通安全组规则导致的,需要按照本文指导配置安全组规则,有如下两种场景:
- CCE集群服务访问CCE集群服务,需要为集群的Node安全组入方向放通对方集群的容器网段。
- CCE集群服务访问CCE Turbo集群服务,需要为Turbo集群的ENI安全组入方向放通CCE集群的容器网段。
CCE Turbo集群服务访问CCE集群服务,以及CCE Turbo集群服务之间互访,均无需额外配置安全组规则。
如果两个集群不在一个VPC内,需要先通过对等连接打通网络,具体操作请参见如何通过对等连接打通两个集群的VPC网络,实现实例跨集群通信?。
场景一:CCE集群服务访问CCE集群服务
为方便描述,假设两个集群名称为ccecluster01、ccecluster02。
- 登录CCE控制台,在集群信息页面获取ccecluster01、ccecluster02集群的容器网段。
- 进入VPC控制台,在左侧导航栏选择“访问控制 > 安全组”,搜索框输入集群名称“ccecluster01”。
- 选择{集群名}-cce-node-{随机ID}的安全组,单击操作列的“配置规则”,添加入方向规则。
- 协议端口:选择“基本协议/全部协议”。
- 源地址:填写1中获取的ccecluster02集群的容器网段。
- 按照上述方法,为ccecluster02集群的Node安全组入方向放通ccecluster01集群的容器网段。
场景二:CCE集群服务访问CCE Turbo集群服务
- 登录CCE控制台,单击CCE集群名称,在集群信息页面获取CCE集群的容器网段。
- 进入VPC控制台,在左侧导航栏选择“访问控制 > 安全组”,搜索框输入Turbo集群名称。
- 选择{集群名}-cce-eni-{随机ID}的安全组,单击操作列的“配置规则”,添加入方向规则。
- 协议端口:选择“基本协议/全部协议”。
- 源地址:填写1中获取的CCE集群的容器网段。
结果验证
以场景二为例,在CCE集群中访问Turbo集群中的服务(假设为nginx-turbo),访问成功的回显示例如下: