全部产品
Search
文档中心

容器服务 Kubernetes 版 ACK:使用跨域运维通信组件Raven

更新时间:Nov 14, 2024

ACK Edge集群中,跨网络域通信组件Raven提供了基础的多地域网络通信能力,以实现云边运维能力。您可以配置Raven组件,选择云边通信模式(代理模式、隧道模式),也可以增删访问控制白名单条目,放行边缘网关节点以使其与云上构建隧道。

说明

如果您的集群采用专线打通云边网络通信,您可以卸载Raven组件。

前提条件

  • 已创建ACK Edge集群,且集群版本为v1.26.3及以上。具体操作,请参见通过控制台创建集群

  • 如开启代理模式,边缘侧安全策略请勿阻挡TCP[10280,10285)区间的端口。

  • 如开启隧道模式,边缘侧安全策略请勿阻挡UDP 4500,云端安全组放开UDP 8472端口。

  • 由于边缘侧需要与云上构建反向通道,因此边缘侧安全策略请勿阻挡Raven组件挂载的EIP地址。

    如何查看Raven挂载的EIP地址,请参见云资源信息

注意事项

  • Raven组件的跨域通信能力依赖弹性公网IP、传统型负载均衡CLB、访问控制ACL等云资源。

  • 托管组件Edge-Controller-Manager(ECM)会根据您是否开启Raven的跨域通信能力来购买CLB、EIP、ACL等云产品资源;关闭或卸载Raven跨域能力则会释放相关云产品资源。您可以根据实际需求变配云产品的资源规格。

    以上云资源的命名方式为k8s/raven-agent-ds/kube-system/{CLUSTER_ID},请勿修改资源名称,否则可能导致ECM组件无法识别该资源,进而导致资源泄露问题。

    请勿擅自删除以上资源导致Raven能力不可用。

  • 云资源信息记录在集群资源configmap kube-system/raven-cfg中,请勿手动删除。

    展开查看raven-cfg的示例代码

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: raven-cfg
      namespace: kube-system
    data:
      acl-id: acl-xxx
      acl-entry: ""
      eip-id: eip-xxx
      eip-ip: 47.XX.XX.47
      enable-l3-tunnel: "false"
      enable-l7-proxy: "true"
      loadbalancer-id: lb-xxx
      loadbalancer-ip: 192.XX.XX.1

基于raven-agent-ds配置通信模式和访问控制白名单

ACK Edge集群安装时,会自动安装raven-agent-ds组件,并默认启动代理模式。您可以自行同步配置通信模式(代理模式、隧道模式)并设置边缘网关节点的访问控制白名单。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择运维管理 > 组件管理

  3. 搜索并定位raven-agent-ds,在目标卡片区域,单击配置,然后完成相关参数配置。

    配置项

    说明

    controller

    • Raven 组件是否开启代理模式(推荐配置):代理模式,构建反向代理通道,实现跨域主机网络通信。

    • Raven 组件是否开启隧道模式:隧道模式仅支持节点间网络互通的节点池。通过构建VPN隧道,实现跨域容器网络通信,主要支持云边容器Metrics监控。

      重要

      由于跨域通信通过公网传输,可能存在数据丢失风险,请勿传输重要业务数据。如在使用过程中遇到问题或有相关产品建议,请提交工单联系容器服务团队。

    关于两种通信模式的更多信息,请参见跨域运维通信组件Raven

    accessControlListEntry

    访问控制白名单条目。放行的边缘网关节点可以与云上构建隧道,增强网络安全性。

    采用CIDR标准格式,固定IP地址以“/32”为掩码,多个地址之间使用英文半角逗号(,)分隔。不填写时,表示所有源地址均可被负载均衡放行访问云上服务。

    如果您添加ACL条目,请放行CLB健康检查IP地址段100.64.0.0/10

通过Label自定义网关节点

Raven组件会通过在网关节点之间构建通道实现跨域通信的目的,默认会在节点池中随机选择一些网关节点,建议您指定一些固定的节点作为网关节点用于构建稳定运维通道,您可以使用以下命令选择:

kubectl label node node-xxx raven.openyurt.io/gateway-node=true

相关文档