ALB是专门面向HTTP、HTTPS和QUIC等应用层负载场景的负载均衡服务,具备超强弹性及大规模七层流量处理能力,支持Header和Cookie灰度发布。本文介绍如何在Knative中使用ALB网关。
步骤一:配置ALB网关
当前支持使用以下两种方式配置ALB网关。
方式一:部署Knative时选择ALB网关
- 登录容器服务管理控制台。
- 在控制台左侧导航栏中,单击集群。
- 在集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页左侧导航栏中,选择。
- 在组件管理页签,单击一键部署Knative。
- 在部署Knative页面,选择ALB服务网关并选择至少两个虚拟交换机。关于创建虚拟交换机的具体操作,请参见创建交换机。
- 配置完成后,单击一键部署。
方式二:修改Knative配置文件对于已部署的Knative,您可以通过修改Knative配置文件,配置ALB网关。
- 使用以下命令,编辑config-network.yaml文件。
kubectl -n knative-serving edit configmap config-network
- 参照以下格式修改
vswitch-ids
,修改完毕后保存并退出config-network.yaml文件。vswitch-ids
用于设置ALB Ingress虚拟交换机ID,您需要至少指定两个不同可用区交换机ID。关于ALB支持的地域和可用区,请参见支持的地域与可用区。apiVersion: v1
data:
...
vswitch-ids: 'vsw-uf6kbvc7mccqia2pi****,vsw-uf66scyuw2fncpn38****'
...
kind: ConfigMap
metadata:
name: config-network
namespace: knative-serving
步骤二:通过ALB网关进行服务访问
- 使用以下命令,获取ALB的DNS访问地址。
kubectl get albconfig knative-internet -ojson | jq .status.loadBalancer.dnsname
预期输出:
"alb-ijvf32ubve64wz****.cn-shanghai.alb.aliyuncs.com"
- 使用以下命令,进行服务访问。
curl -H "Host: helloworld-go.default.example.com" http://alb-ijvf32ubve64wz****.cn-shanghai.alb.aliyuncs.com
设置CNAME域名解析
阿里云应用型负载均衡ALB支持将您拥有的常用域名通过CNAME方式解析到ALB实例的公网服务域名上,便于您访问各种网络资源。具体操作,请参见设置CNAME域名解析。