更新时间:2024-10-18 GMT+08:00
分享

在SLB中创建监听

创建负载均衡实例后,需要为SLB实例添加一个或多个监听。监听负责监听负载均衡实例上的请求,根据配置流量分配策略,分发流量到后端服务器处理。

前提条件

需要具备AppStage服务运维岗位权限或运维管理员权限,权限申请操作请参见申请权限

创建监听

  1. 进入AppStage运维中心
  2. 在顶部导航栏选择服务。
  3. 单击,选择微服务开发 > 负载均衡
  4. 选择左侧导航栏的“监听管理”,单击“创建监听”
  5. “选择电子流”窗口中,选择以下任一方式:

    • 运维操作记录选择“关联电子流”,并选择要关联的电子流,单击“提交”
    • 运维操作记录选择“紧急问题处理”,并填写紧急原因,单击“提交”

  6. 创建监听基本信息,关联SLB实例,参数说明如表1所示。配置完成后单击“下一步”

    表1 创建监听参数说明

    参数

    说明

    监听名称(英文)

    SLB监听的英文名称。

    长度<=50,不能包含-in-字符,不能以in-开头,不能以.conf结尾。

    可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符。

    监听名称(中文)

    SLB监听的中文名称。

    注册中心

    选择监听关联的实例所在的注册中心。

    所属服务

    监听所属的服务。

    关联SLB实例

    选择SLB实例,仅能关联同一注册中心下的SLB实例。

  7. 单击“新增集群”,创建后端服务器集群,通过SLB进行管理和调度,SLB会将客户端的请求转发给后端服务器处理。参数说明如表2所示。

    您也可以单击“导入upstream.conf”,上传txt或config格式的SLB配置文件。将配置文件中的集群信息解析到SLB管理台。

    单击集群信息区域右上角的,可以编辑集群配置。

    单击集群信息区域右上角的,删除当前集群。

    单击“重置集群”,清空所有集群。

    表2 新增集群参数说明

    参数

    说明

    基本信息

    集群名称

    后端服务器集群名称。

    字符长度0~150,可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符,不能包含-in-字符,后端服务器为tomcat时,建议不要包含下划线,转发可能返回400,例:Cluster_home-001。

    后端协议

    后端服务器协议,支持HTTP、HTTPS。

    负载均衡策略

    • 加权轮询算法:可配权重,根据权重进行轮询,默认权重相同。
    • 自定义参数哈希:可以配置nginx变量进行哈希,nginx变量,例如:$http_x_forwarded_for。
    • IP哈希:根据发送给SLB请求的IP进行哈希。
      说明:

      如前面有ELB或者F5,此IP通常为ELB的IP或者F5的IP,因此请慎用。

    • 最小连接数:根据服务器的连接数,向连接数最少的服务器优先转发。

    自定义参数哈希

    负载均衡策略选择为“自定义参数哈希”时,配置此参数。

    字符长度0~50,以$符开头,可以由字母、数字、点、下划线、短横线组成,不能包含其他特殊字符,例:$http_x_forwarded_for。

    预热参数(当负载均衡策略为“加权轮询算法”时,配置此参数)

    预热周期

    配置新节点启动后在多长时间范围内进行预热,范围0-30,0表示不开启预热。

    预热因子

    配置预热增长速率,值越大预热增长速率越快,范围1-100,默认为10,表示匀速增长。

    预热延迟

    新节点启动后延迟多长时间才进行预热,范围0-30,延迟时间中,节点被选中的概率为0。

    自定义参数

    自定义参数配置

    配置自定义参数。

  8. 集群创建完成后,单击“新增节点”,在节点列表中配置相关参数,参数说明如表3所示。配置完成后单击“下一步”

    勾选多条节点,单击“批量删除”,可以批量删除节点。

    单击“全部勾选”,可以快速勾选当前集群下的所有节点。

    单击“清除多选”,取消选择选中的多条节点。
    表3 新增节点参数说明

    参数

    说明

    IP

    节点IP地址。取值范围为0.0.0.0~255.255.255.255,例:127.10.12.10。

    端口

    节点端口号。由数字组成,大小在0-65535之间,例:8000。

    权重

    大于0且小于等于100的正整数,例:1。

    最大尝试失败次数

    对应nginx upstream配置中的max_fails字段。如果后端节点fail_timeout秒内出现max_fails次不可用情况,判定节点不可用。判定不可用后fail_timeout秒内请求不会转发到此节点,直到fail_timeout秒后重新检测节点健康情况;范围为0-1000,默认为3,如果不填,使用默认值。

    失效持续时间

    对应nginx upstream配置中的fail_timeout字段。如果后端节点fail_timeout秒内出现max_fails次不可用情况,判定节点不可用。判定不可用后fail_timeout秒内请求不会转发到此节点,直到fail_timeout秒后重新检测节点健康情况;范围是0-300秒,默认为2,如果不填,使用默认值。

    灰度状态

    • 生产
    • 灰度

    节点状态

    • 在线
    • 热备
    • 下线

    主机名

    字符长度0~100,可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符,例:host-10-23-0-133。

    AZ

    字符长度0~100,可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符,例:az_01。

    自定义分组

    字符长度0~50,可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符,例:group_01。

    操作

    :删除节点。

  9. 对后端集群配置健康检查,检查后端服务集群中的机器。参数说明如表4所示,配置完成后单击“下一步”

    表4 健康检查参数说明

    参数

    说明

    集群名称

    展示后端服务器集群名称,检查的是后端服务集群里的机器。

    域名

    输入健康检查的请求域名。

    检查路径

    检查路径存在,采取的是http/https形式。

    后端协议

    展示后端服务器协议。

    检查连接

    单击“测试连接”,测试连接状态。

    是否开启健康检查

    选择开启或关闭健康检查,默认关闭。

    正常状态码

    检查到后端服务器状态正常时,返回的状态码。

    默认为200、302,可以自定义。

    响应超时时间

    检查的超时时间,即超过该时间后结束检查。

    健康检查周期

    每次健康检查的间隔时间。

    不健康阈值

    选择2~10,当未收到正常状态码的次数大于不健康阈值时,即认定后端服务异常,将该集群中的这台服务器做下线处理。

    健康阈值

    选择2~10,当收到状态码的次数等于健康阈值时,即认定后端服务正常,将下线的这台服务器上线。

  10. 配置监听,参数说明如表5所示,配置完成后单击“下一步”

    您也可以单击“导入server.conf”,导入本地SLB配置文件。

    • 导入server.conf功能会重置所有配置,请谨慎操作,进行普通配置调整的请勿使用此功能。
    • 使用server.conf导入证书,注意是否包含证书相关的配置,如果包含则会被解析到高级配置中的自定义参数配置。如果既选择了证书又导入了证书配置则会产生冲突,请在同步前仔细检查配置文件。
    单击“重置”,可以清空监听和转发策略信息。
    表5 配置监听参数说明

    参数

    说明

    域名

    域名

    单击“域名”区域的“新增”,配置域名,多个域名不可重复。

    端口

    端口

    配置SLB的监听端口。

    协议类型

    http、https、http2、http2(ssl)。

    端口类型

    ipv4、ipv6。

    其他配置

    填写其他配置。

    证书

    证书

    端口协议类型为https或者http2(ssl)时,在证书选择下拉框中配置证书。

    通用配置

    最大请求体限制

    对应配置文件中client_max_body_size。

    请求体缓存大小

    对应配置文件中client_body_buffer_size。

    响应超时时间

    对应配置文件中proxy_read_timeout。

    转发超时时间

    对应配置文件中proxy_send_timeout。

    启用长连接转发

    对应配置文件中proxy_http_version 1.1; proxy_set_header Connection ""。

    透传请求头Host

    对应配置文件中proxy_set_header Host $host。

    追加X-Forwarded-For

    对应配置文件中proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for。

    开启接入日志

    对应配置文件中access_log。

    异常时尝试下一台

    对应配置文件中proxy_next_upstream。

    尝试条件

    403.404.429.500.502.503.504

    error

    timeout

    转发头设置

    转发http请求时,重新设置请求头中的Key对应的Value;对应配置文件中proxy_set_header key value。

    重定向

    将请求的url指定为另一个url,由客户端重新发起请求到目标url;对应配置文件中rewrite key value redirect。

    重写

    将请求url重新设置为另一个url然后继续进行处理,对应配置文件中rewrite key value last/break。

    高级配置

    默认资源根目录

    静态资源根目录,配置为SLB上,静态资源根目录(操作系统中的路径),对应配置文件中root。

    客户端连接空闲时间

    对应配置文件中keepalive_timeout。

    Proxy Buffers

    响应从后端服务器回来时,使用缓存来接受一定尺寸的响应,对应配置文件中proxy_buffer_size。

    默认欢迎页面

    访问静态资源目录时,默认的欢迎页面文件指定,对应配置文件中index。

    返回固定响应

    直接返回固定响应,如2003,对应配置文件中return。

    Expires

    设定页面缓存时间不缓存或一直使用缓存,可以由字母、数字、空格、$@+-、冒号、逗号组成,对应配置文件中expires。

    允许方法

    POST、GET、HEAD、PUT、DELETE、OPTIONS、PATCH、MKCOL、COPY、MOVE、PROPFIND、PROPPATCH、LOCK、UNLOCK。

    都不选则不限制任何方法,对应配置文件中limit_except。

    追加NuwaTrace字段

    消息头中透传nuwatrace相关的网元身份标识和时间戳,不支持iac2.0修改。

    响应头设置

    可在返回给客户端时,增加http响应头(Key和Value),对应配置文件中add_header key value。

    set

    对应配置文件中set key value。

    自定义参数设置

    配置nginx配置文件配置项,其中监听中的内容需为server支持的转发策略中的内容,需是location中支持的,例:if ( $arg_sex = "male"){return 401;},不要配置后端集群信息,如有需要请到后端服务器里面配置。

  11. 在配置ELB窗口,单击“选择”,选择ELB实例、POOL,单击“确定”

    平台托管模式新增监听必须选择ELB,配置后可进行ELB的操作。要对接容器化SLB,要求ELB必须打开ip-target,容器化监听只支持绑定ELB V3版本,ELB需要在ENS上纳管且不可以重名。

  12. 单击“新增转发策略”,配置转发策略,参数说明如表6所示,配置完成后单击“下一步”

    表6 转发策略参数说明

    参数

    说明

    URL

    转发策略地址。

    如果降级策略选择为“默认降级(403)”,URL只能以@olc_degrade开头。

    后端服务器集群

    绑定后端服务器集群。

    关联灰度服务

    • 不启用灰度。
    • 选择关联的灰度服务。

      灰度服务依赖转发策略,一个转发策略可以对应多个灰度服务,一个灰度服务只能对应一个转发策略。

    降级策略

    • 默认降级(403)
    • 不降级

    操作

    • 插入
    • 上移
    • 下移
    • 删除

  13. 单击“新增动态路由”,配置动态路由规则,根据特定的匹配规则动态地指定转发策略跳转的集群。参数说明如表7所示,配置完成后单击“下一步”

    单击动态路由规则配置区域右上角的,可以删除配置。

    表7 动态路由规则参数说明

    参数

    说明

    规则名称

    要求字符长度0~50,可以由字母、数字、下划线、短横线组成,不能包含特殊字符,不能包含-in-字符,不能以-in结尾。

    关联转发策略

    单击“关联转发策略”,选择需要按照当前规则动态转发后端服务器集群的转发策略,可以多选。只有绑定灰度服务的转发策略才能被动态路由关联,否则不生效。

    添加子项

    添加一个配置子项。

    开关

    关闭时规则不生效。

    过滤条件

    采用灰度部分的自定义表达式,语法详细信息见页面弹出框。

    后端服务器集群

    满足前面过滤条件的请求,要跳转的目标集群。

    启用灰度

    选择启用或关闭。

    • 关闭:转发到生产+灰度的大集群。
    • 启用:转发到灰度结果对应的生产或灰度集群。

    操作

    • 上移/下移:各个子项可以上移,下移,匹配顺序为从上往下,匹配到条件后,就不往下匹配,都匹配不上时,采用default的默认集群。
    • 删除:删除子项。

  14. 在总览页面确认配置信息,单击“保存”

    您也可以单击各配置项右上角的“编辑”,修改当前配置。

    配置数据只是保存到数据库中,如需将监听服务应用到SLB,还需要执行同步操作。

    如果未保存直接退出,系统会自动保存当前配置,再次进入创建监听,可以继续编辑。

    如果需要清空配置,您可以单击“创建监听”页面的“重置所有”清空所有配置。

更多操作

表8 操作说明

操作

说明

编辑监听配置

单击监听列表中的监听名称,在“监听详情”页面选择待编辑的配置项页签,单击“编辑”,编辑监听配置。

导出集群配置

单击监听列表中的监听名称,选择“后端服务器”页签,单击“导出集群”,用于快速复制或迁移数据,在创建监听过程中快速导入集群配置。

刷新健康检查

单击监听列表中的监听名称,选择“后端服务器”页签,单击“刷新健康检查”,检查后端服务集群中的机器,刷新节点状态。

导出SLB监听的所有信息

单击监听列表中的监听名称,在页面右上角选择导出 > 导出所有信息,导出SLB监听的所有信息(SLB实例、后端服务器、健康检查、监听、转发策略、动态路由规则等),用于整个数据的复制和迁移,在新增页面快速导入所有信息。

导出IAC信息

单击监听列表中的监听名称,在页面右上角选择导出 > 导出IAC信息,导出SLB服务的所有IAC信息(SLB实例、后端服务器、健康检查、监听、转发策略、动态路由规则等),可作为实例执行IAC变更。

导出IAC关联信息

单击监听列表中的监听名称,在页面右上角选择导出 > 导出IAC关联信息,导出IAC关联信息。

同步监听

单击监听列表操作列的“同步”,将监听配置数据同步到SLB,具体介绍请参见将监听配置同步到SLB节点

预览配置文件

单击监听列表操作列的“配置文件预览”,查看配置文件,单击窗口左下角的“复制”,可以复制配置文件。

配置ELB

当监听关联的SLB实例为平台托管模式时,选择监听列表操作列的更多 > 配置ELB,绑定ELB,具体介绍请参见在SLB中为监听绑定ELB

查看日志详情

当监听关联的SLB实例为平台托管模式时,选择监听列表操作列的更多 > 日志,可以查看SLB主机部署日志。

删除监听

选择监听列表操作列的更多 > 删除,删除后,SLB服务将会变为待删除状态,在单击同步后,配置会在SLB节点上删除。如果想变为正常状态,编辑SLB服务并保存即可。

相关文档