Configure External Access for Inference Services

介绍

本文档提供了配置推理服务外部访问的分步指南,包括查看外部访问地址、创建域名、设置负载均衡器以及验证配置。

步骤

1. 查看推理服务的外部访问地址

您可以:

  1. 进入服务详情页,从 访问方式 卡片中复制地址,或者
  2. YAML 卡片的 status.url 字段中查看地址。

2. 创建域名

在管理员控制台,进入 网络 > 域名,然后点击 创建域名

  • 域名 字段中输入推理服务的域名,不包含协议部分(例如:qwen2-0b5-kubeflow-admin-cpaas-io.my-company.com)。
  • 分配到(集群) 中选择您的服务所在的集群。
  • 分配项目 中选择推理服务所在的项目。

3. 创建负载均衡器

一个负载均衡器可以被多个项目共享;仅在必要时创建新的负载均衡器。

在管理员控制台,进入 网络 > 负载均衡器,然后点击 创建负载均衡器。详细帮助文档请参考 Configure Load Balancer

4. 配置负载均衡器

在 Alauda Container Platform 控制台,进入 网络 > 负载均衡器,点击刚创建的负载均衡器名称进入其配置页面。

4.1 端口配置

添加服务监听端口,可根据需要添加多个端口。

步骤 1:添加端口

  1. 端口管理 区域,点击 添加端口 按钮。
  2. 在配置页面选择协议(HTTPHTTPS)。
  3. 输入对应的端口号。HTTP 标准端口为 80,HTTPS 标准端口为 443

步骤 2:配置 HTTPS(如适用)

如果选择了 HTTPS 协议,必须选择默认证书。

  1. 确保已切换到 istio-system 命名空间,这对下一步操作至关重要。
  2. 选择 knative-serving-cert 作为 默认证书

4.2 规则配置

配置刚添加端口的转发规则。

步骤 1:添加规则

  1. 规则 区域,点击 添加规则 按钮。
  2. 在配置页面,点击 添加规则指标 按钮,添加第一条规则。
  3. 类型 中选择 域名
  4. 从下拉菜单中选择您为推理服务创建的域名,例如:qwen2-0b5-kubeflow-admin-cpaas-io.my-company.com

步骤 2:配置服务组

  1. 找到 服务组 配置区域。
  2. 确保 命名空间 设置为 istio-system,如果不是,请先切换项目命名空间至 istio-system
  3. 服务 下拉列表中选择 knative-ingressgateway
  4. 选择端口 80

注意: HTTPS 协议(端口 443)的规则配置与上述步骤相同。

更多详细参数配置,请参考 Configure Load Balancer

5. 验证通过外部地址访问推理服务

使用以下 curl 命令验证推理服务是否可被外部访问。请务必将占位符替换为您的实际负载均衡器 IP、端口和推理服务地址。

# HTTP 访问
curl -v --resolve "your-inference-service-domain.com:your-port:your-load-balancer-ip" \
    http://your-inference-service-domain.com/v1/models

# HTTPS 访问(如果有有效证书可去掉 `-k`)
curl -vk --resolve "your-inference-service-domain.com:443:your-load-balancer-ip" \
    https://your-inference-service-domain.com/v1/models

命令中各部分含义及替换说明:

  • your-inference-service-domain.com:您为推理服务创建的域名(例如:qwen2-0b5-kubeflow-admin-cpaas-io.my-company.com)。
  • your-port:负载均衡器监听 HTTP 流量的端口(通常为 80)。
  • your-load-balancer-ip:负载均衡器的实际 IP 地址(例如:192.168.137.21)。

如果请求成功返回模型列表,说明配置完成!若失败,请检查负载均衡器设置或查看推理服务日志以定位问题。