全部产品
云市场

透明劫持

更新时间:2020-05-26 17:06:55

通过透明劫持功能,应用无需改造,即可获得服务治理和观测能力。应用开启透明劫持功能后,出入应用的业务流量将会被 Sidecar Proxy 自动拦截,继而按照您在控制台配置的规则进行观测与治理。

注意:当前仅适用于 HTTP 协议的服务端应用。后续版本将会同时适用于客户端和服务端,也将支持更多协议。

使用透明劫持功能的完整操作步骤如下:

  1. 添加应用:添加需要进行透明劫持的目标应用。
  2. 开启并配置劫持参数:在目标节点开启透明劫持功能,并配置劫持参数。
  3. 运行透明劫持脚本:下载并运行透明劫持脚本,以安装并启动 Sidecar proxy。
  4. 应用治理:为应用配置治理最大请求数,实现应用治理。

添加应用

  1. 前往 微服务平台 > 服务网格 > 透明劫持 页面,点击 添加应用
  2. 添加应用 窗口中,输入需要进行透明劫持的应用的相关信息,包括应用名称、端口信息以及节点信息。
    注意:应用添加成功后,暂无法修改或新增应用治理的端口,请在添加时确保端口信息正确。
    添加应用
  3. 点击 提交

开启并配置劫持参数

  1. 返回 透明劫持 页面,找到刚刚添加的应用,点击该应用名称,进入应用详情页面。
  2. 在应用详情页的 节点管理 页签,开启透明劫持功能:
    • 单独启用:在节点列表中找到需要开启透明劫持的节点,在 透明劫持状态 列开启透明劫持功能。
    • 批量启用:在节点列表中勾选需要开启透明劫持的节点,点击列表左上方的 开启透明劫持
      启用透明劫持功能
  3. 在应用详情页,点击右上角的 参数配置 按钮,配置劫持参数。
    • 入方向:劫持黑名单中端口范围之外的所有 TCP 流量。
    • 出方向:劫持黑名单网段范围和端口范围之外的 TCP 流量。
      参数配置
  4. 点击 确定,完成参数配置。

运行透明劫持脚本

透明劫持开启并配置完成后,您需要下载并安装透明劫持脚本。

注意
  • 在控制台页面中开启/关闭透明劫持功能后,必须运行透明劫持脚本,以安装/卸载 Sidecar。
  • Sidecar 安装完成后,如重新修改了劫持参数配置。修改后,还必须重新运行脚本,进行 Sidecar 卸载与安装。
  1. 服务网格 > 透明劫持 页面,点击右上角 查看环境信息,获取以下信息。
    • tenant:即所在的租户名称。
    • workspace:即所在的工作空间名称。
    • instanceid:即所在环境的中间件实例 ID。
    • region:即所在环境的区域。
      环境信息
  2. 根据您当前所在的环境(即 region)与网络环境,下载透明劫持脚本到您的目标应用节点上。
  3. 运行 chmod +x sofamesh.sh,继而执行以下透明劫持脚本(bash 脚本),安装并启动 Sidecar proxy。
    1. sofamesh.sh install \
    2. --tenant <租户名>,也支持使用 -t,可在透明劫持页面上点击右上角“查看环境信息”获取 \
    3. --workspace <工作空间名称>,也支持使用 -w,可在透明劫持页面上点击右上角“查看环境信息”获取 \
    4. --instanceid <中间件实例 ID>,也支持使用 -i,可在透明劫持页面上点击右上角“查看环境信息”获取 \
    5. --appname <应用名称>,也支持使用 -n,必须与您添加应用时的应用名称保持一致 \
    6. --accesskey <阿里云 AccessKey>,也支持使用 -a \
    7. --secretkey <阿里云 SecretKey>,也支持使用 -s \
    8. --artifacts <安装包链接>,也支持使用 -f,脚本依赖的安装包下载链接,下载地址参见下方参数说明 \
    9. --verbose,也支持使用 -v,以打印更详细的执行安装过程。
    参数说明
  4. 脚本执行完成后,节点完成初始化,请求将被 MOSN 劫持转发。

应用治理

  1. 在应用详情页,点击右上角的 应用治理 按钮。
  2. 在右侧出现的 应用治理 窗口中,选择需要劫持的端口, 并配置治理最大请求数。
    注意:最大请求数不能超过 2147483647,设置为 0 则表示无限制。
    应用治理
  3. 在应用详情页,选择 应用治理记录 页签,即可查看应用治理记录,包括了修改人、修改时间、针对的端口号以及修改值变化信息,如下图所示。
    应用治理记录