你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于:开发人员 | 高级
本文提供了将 Azure API 管理自承载网关组件部署到 Azure Kubernetes 服务(AKS)的步骤。 若要将自托管网关部署到 Kubernetes 群集,请参阅有关使用 部署 YAML 文件或 Helm 进行部署的操作指南。
注意
你还可将自承载网关部署到已启用 Azure Arc 的 Kubernetes 群集作为群集扩展。
Prerequisites
- 创建一个 Azure API 管理实例
- 使用 Azure CLI、使用 Azure PowerShell 或使用 Azure 门户创建 Azure Kubernetes 群集。
- 在 API 管理实例中预配网关资源。
将自承载网关部署到 AKS
选择“部署和基础结构”下的“网关”。
选择要部署的自承载网关资源。
选择“部署”。
“令牌”文本框中的新令牌是使用默认“Expiry”和“Secret Key”值自动生成的。 根据需要调整其中的一个或两个值,然后选择“生成”以创建新令牌。
确保在“部署脚本”下选择“Kubernetes”。
选择“部署”旁边的“<网关名称>.yml”文件链接以下载该文件。
根据需要调整 .yml 文件中的
config.service.endpoint、端口映射和容器名称。可能需要根据方案更改服务类型。
- 默认值为
LoadBalancer,它是外部负载均衡器。 - 可以使用内部负载均衡器将对自承载网关的访问限制为仅限内部用户。
- 下面的示例使用
NodePort。
- 默认值为
选择“部署”文本框右侧的“复制”图标,将
kubectl命令保存到剪贴板。将该命令粘贴到终端(或命令)窗口。 该命令要求下载的环境文件位于当前目录中。
kubectl apply -f <gateway-name>.yaml执行命令。 此命令指示 AKS 群集:
- 使用从 Microsoft Container Registry 下载的自承载网关映像运行容器。
- 配置容器以公开 HTTP (8080) 和 HTTPS (443) 端口。
运行以下命令,检查网关 Pod 是否正在运行。 此 Pod 名称是一个示例。
kubectl get pods NAME READY STATUS RESTARTS AGE contoso-apim-gateway-59f5fb94c-s9stz 1/1 Running 0 1m运行以下命令,检查网关服务是否正在运行。 服务名称和 IP 地址是示例。
kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE contosogateway NodePort 10.110.230.87 <none> 80:32504/TCP,443:30043/TCP 1m返回到 Azure 门户,确认部署的网关节点报告正常状态。
提示
使用kubectl logs <gateway-pod-name>命令查看自托管网关日志的快照。
相关内容
- 若要详细了解自承载网关,请参阅 Azure API 管理自承载网关概述。
- 了解如何将 API 管理自承载网关部署到已启用 Azure Arc 的 Kubernetes 群集。
- 详细了解 Azure API 管理网关的可观测性功能。
- 详细了解关于在生产环境中的 Kubernetes 上运行自承载网关的指南。
- 了解有关 Azure Kubernetes 服务的详细信息。