ALB Ingress 基于火山引擎应用型负载均衡(Application Load Balancer,ALB)之上提供更为强大的 Ingress 流量管理方式,满足在云原生应用场景下对大规模七层流量处理稳定性和可用性的需求。
使用限制
- 请勿擅自在服务端更改通过创建 ALB Ingress 维护的 ALB 实例,包括:其监听器、后端服务器组和转发规则,否则将造成集群中的 Ingress 服务异常,须自行承担责任。
- 请勿修改监听器和后端服务器组的名称中带有
k8s_
前缀的内容。 - 请勿修改转发规则描述中带有
k8s_
前缀的内容。 - 若直接在服务端修改 ALB Ingress 指定或维护的资源配置,可能存在配置被覆盖的风险。
- 当不同 ALB Ingress 针对同一个域名提供了不同证书 ID 时,如果该域名已存在证书,则系统会根据 ALB Ingress 指定证书的状态选择是否更新证书,包括:
- 如果 ALB Ingress 指定的证书不存在,则不会更新证书。
- 如果 ALB Ingress 指定的证书已过期,则不会更新证书。
- 如果 ALB Ingress 指定的证书已存在且未过期,则会更新证书。
- 使用应用型负载均衡(Application Load Balancer,ALB)产品,会产生云基础资源使用费用。详细信息,请参见 应用型负载均衡产品计费。
前提条件
- 已创建集群,详情请参见 创建集群。
- (可选)配置 HTTPS 协议的 ALB Ingress 时,需要提前完成证书配置。详情请参见 证书管理。
- (可选)如需使用证书中心的证书,请首先登录您的火山引擎账号,然后单击 服务授权,并在弹出的页面中单击 立即授权,完成跨服务授权。
操作步骤
- 登录 容器服务控制台。
- 单击左侧导航栏中的 集群。
- 在集群列表页面,单击需要配置路由规则的目标集群。
- 在集群管理页面的左侧导航栏中,选择 服务与路由 > 路由规则,单击 创建路由规则。
- 根据如下说明,配置路由规则。
- 基本配置
参数 | 说明 |
---|
名称 | 根据系统提示,配置路由规则的名称。在同一个命名空间下,名称必须唯一。 |
命名空间 | 选择路由规则所属的命名空间。建议选择您自定义的命名空间,或系统默认创建的 default 命名空间。命名空间相关介绍,请参见 命名空间概述。 |
注解 | 单击 添加注解,为路由规则添加注解并配置键值对。也可通过配置路由规则 YAML 文件中特定的注解内容,以实现更加丰富的七层负载均衡能力和更加多样的服务路由规则。详细说明,请参见 通过 Annotation 配置 ALB Ingress。 |
- Ingress 配置
参数 | 说明 |
---|
ingress 类型 | Ingress Controller 的实现方式,根据负载均衡器种类的不同,容器服务提供三种 ingress 类型。本例中选择 应用型负载均衡 ALB。 |
- 负载均衡器配置
参数 | 说明 |
---|
直通 Pod 模式 | 仅 VPC-CNI 容器网络模型集群中显示该参数。默认开启,开启后不再通过 NodePort 转发,直接关联 Pod 作为负载均衡器的后端,同时支持健康检查。 注意 ALB 负载均衡器允许的后端服务器数有限,需自行规划和保证。详细限制,请参见 ALB 约束限制。 |
负载均衡器 | 按需选择已有或自动创建一个负载均衡器。支持 公网访问 和 私网访问 两种访问模式。 - 使用已有:支持使用已有的和本集群关联创建的 ALB。复用同一个 ALB 实例时,不覆盖已有的监听器规则,因此请确保监听器的转发规则不冲突。
- 自动创建:自动创建新的 ALB 实例。您需要配置以下参数,详细参数说明,请参见 创建应用型负载均衡实例:
- 名称:根据系统提示的命名规则,自定义负载均衡器的名称。
- 子网:为负载均衡器实例提供私网部署环境,分配私网 IP 地址。
说明 - 支持选择多可用区的子网,满足容器业务应用的高可用能力。
- 负载均衡器实例创建成功后,不支持修改私网 IP 地址。
- 线路类型:提供公网服务的线路类型,不同类型的线路在性能和计费标准上存在差异,支持 BGP(多线)、融合 BGP、中国移动、中国电信、中国联通。
私网访问 无需配置该参数。 注意 除 BGP(多线) 外,其他线路类型均为 EIP 产品的邀测功能,如需使用,请 提交工单 或联系客户经理申请。 - 计费方式:负载均衡器的计费方式,当前支持如下两种:
- 按量计费-按带宽上限:指定带宽上限后,将按照使用时长计费,与实际流量无关。
- 按量计费-按实际流量:指定带宽上限后,将按照实际使用的出公网流量计费,与使用时长无关。
私网访问 无需配置该参数。 - 带宽上限:公网 IP 的带宽上限,单位为 Mbps。实例创建后,您可以随时按需调整公网带宽上限。
私网访问 无需配置该参数。 - 共享带宽包:默认不配置。您可根据实际需求,勾选 加入共享带宽包,并选择已经创建的共享带宽包。
说明 共享带宽包是一种支持复用和共享带宽的云资源。将单个地域内多个公网 IP 或 IPv6 公网带宽添加到一个共享带宽包实例中,共享一条带宽,可以帮助您降低公网带宽的使用成本。详情请参见 什么是共享带宽包。 - IP 版本:IP 地址版本类型。当前仅支持 IPv4。
|
后端服务器组 | 配置接收流量转发的后端服务器组的调度算法和健康检查: - 调度算法:指定监听器转发请求时需要遵循的规则。
- 加权轮询(WRR):基于权重值进行流量的分发,权重值越高的后端服务器,被轮询到的次数(概率)越高。
- 加权最小连接数(WLC):优先将流量分发给当前连接数与权重比值最小的后端。
- 源地址哈希(SH):基于源 IP 地址的一致性哈希,相同源地址的请求会调度到相同的后端服务器。
- 健康检查:按需选择是否启用健康检查。若启用健康检查,需要配置以下参数:
- 健康检查方法:对后端服务器进行健康检查的请求方法,支持 GET 或 HEAD,默认采用 GET 方法。
- 使用 HEAD 方法,服务器仅返回 HEAD 头部信息,可以降低后端开销,但要求服务器支持 HEAD 方法。
- 使用 GET 方法,要求服务器支持 GET 方法。
- 健康检查域名:配置健康检查域名后,ALB 会将域名配置到 host 字段中;如果没有配置域名,则 host 字段为空,ALB 不会在请求中附带 host 字段,而是默认域名为后端服务器组内网 IP。
- 健康检查路径:健康检查路径默认为
/ 。如果您用来进行健康检查的页面不是应用服务器的默认首页,则需要指定具体的检查路径。 - 正常状态码:如收到此处选中类型的响应码,则判定该服务器为正常状态。默认选中 2xx 和 3xx。
- 响应超时:等待健康检查响应的时间。如果后端服务器在指定的时间内没有正确响应,则判定为健康检查异常。
- 检测间隔:执行健康检查的时间间隔。默认间隔为 2 秒,表示每 2 秒对后端服务器进行一次健康检查。
- 健康阈值:判断后端服务器正常的健康检查次数。默认为 3 次,表示连续执行 3 次健康检查,结果均为“正常”的后端服务器则判定为健康检查正常。
- 不健康阈值:判断后端服务器异常的健康检查次数。默认为3次,表示连续执行 3 次健康检查,结果均为“异常”的后端服务器则判定为健康检查异常。
|
- 监听配置
参数 | 说明 |
---|
协议 | 后端服务器组监听的协议,支持 HTTP 和 HTTPS 协议。
创建完成路由规则时,ALB 实例根据您的监听配置,自动创建监听器,名称默认为k8s_<随机生成的字符串> 。 |
端口号 | 后端服务器组监听的端口号。若不填写,则 HTTP 协议时,默认监听80 端口; HTTPS 协议时,默认监听443 端口。 |
证书 | 当 协议 选择 HTTPS 时,需要选择服务器证书,以支持数据传输加密认证。您需要通过创建密钥,绑定服务器证书,默认全部域名使用同一个密钥。 - 在证书来源下拉菜单中选择证书的来源,支持 全部来源、应用负载均衡 ALB 或 证书中心。
- 在密钥下拉菜单中选择对应的密钥,如无密钥,可以单击 创建密钥,创建新的密钥:
- 名称:根据系统提示的命名规则,设置密钥名称。同一个命名空间下名称须唯一。
- 命名空间:选择与本路由规则相同的命名空间。
- 证书来源:选择加密证书来源,支持 应用负载均衡 ALB 和 证书中心。
- 服务器证书:选择服务器证书。
ALB Ingress 的 HTTPS 协议除了默认全部域名绑定同一个密钥外,支持单击 添加证书,给指定域名使用指定的密钥。若请求的域名与指定域名匹配,则使用该域名指定的密钥;若不匹配指定的域名,则使用默认全部域名使用的密钥。 说明 【邀测·申请试用】:使用证书中心的证书创建 HTTPS 协议的 ALB Ingress 目前处于邀测阶段,如需使用,请联系客户经理。 |
- 转发配置
参数 | 说明 |
---|
转发规则 | 请求的访问地址与转发规则匹配时,该请求会被转发到对应的 服务(Service)处理。单击 添加转发策略,可添加多条转发策略。 - 域名:请求的域名与此处设置的域名匹配时,请求会被转发到指定的服务。
- 路径:请求的路径与此处设置的路径匹配时,请求会被转发到指定的服务。支持正则表达式和非正则表达式路径匹配方式,详情请参见 匹配正则表达式路径。
- 路径匹配规则:应用型负载均衡 ALB Ingress 类型的路由规则,当前仅支持 前缀匹配。
前缀匹配:表示只要符合此前缀的路径均可访问。例如映射 URL 为/foo ,则/foo/v1 ,/foo/v2 都可以访问后端服务。 - 服务:请求被转发到的目标服务和端口。若无可用服务,请参考 服务 创建服务。
注意 - 当集群的容器网络模型为 Flannel 时,仅支持关联和选择 NodePort、LoadBalancer 类型的服务。
- 当集群的容器网络模型为 VPC-CNI 时:
- 若 Ingress 开启了 直通 Pod 模式,则支持关联和选择 NodePort、LoadBalancer、ClusterIP 类型的服务。
- 若 Ingress 未开启 直通 Pod 模式,则仅支持关联和选择 NodePort、LoadBalancer 类型的服务。
- 流量限速:【邀测·申请试用】默认关闭。开启后通过设置 每秒请求数(QPS),合理限制服务的请求速度,避免因为部分业务请求量过高导致整个服务不可用。
|
- 单击 确认,创建完成 ALB Ingress 路由规则。