配置推理服务外部访问

简介

本文档提供了一个逐步指南,说明如何为推理服务配置外部访问,包括检查外部访问地址、创建域名、设置负载均衡器以及验证配置。

步骤

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 地址、端口和推理服务地址。

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

# For HTTPS (skip `-k` if you have a valid certificate)
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)。

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