将 Azure API 管理自承载网关部署到 Azure Kubernetes 服务
可用性
重要
此功能在 API 管理的“高级”和“开发人员”层中可用。
本文提供将 Azure API 管理的自承载网关组件部署到 Azure Kubernetes 服务的步骤。 若要了解如何将自承载网关部署到 Kubernetes 群集,请参阅使用部署 YAML 文件或通过 Helm 进行部署的操作指南文章。
重要
对 Azure API 管理自承载网关版本 0 和版本 1 容器映像的支持及其相应配置 API v1 将于 2023 年 10 月 1 日结束。 使用迁移指南,将自承载网关 v2.0.0 或更高版本与配置 API v2 结合使用。 在弃用文档中了解详细信息
先决条件
- 创建一个 Azure API 管理实例
- 使用 Azure CLI、使用 Azure PowerShell 或使用 Azure 门户创建 Azure Kubernetes 群集。
- 在 API 管理实例中预配网关资源。
将自承载网关部署到 AKS
选择“部署和基础结构”下的“网关” 。
选择要部署的自承载网关资源。
选择“部署”。
“令牌”文本框中的新令牌是使用默认“Expiry”和“Secret Key”值自动生成的。 根据需要调整其中的一个或两个值,然后选择“生成”以创建新令牌。
确保在“部署脚本”下选择“Kubernetes”。
选择“部署”旁边的“网关名称>.yml”文件链接以下载该文件。
根据需要调整 .yml 文件中的
config.service.endpoint
、端口映射和容器名称。根据你的方案,你可能需要更改服务类型。
- 默认值为
LoadBalancer
,它是外部负载均衡器。 - 可以使用内部负载均衡器将对自承载网关的访问限制为仅限内部用户。
- 以下示例使用
NodePort
。
- 默认值为
选择“部署”文本框右侧的“复制”图标,将 命令保存到剪贴板。
将该命令粘贴到终端(或命令)窗口。 该命令要求下载的环境文件位于当前目录中。
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 管理自承载网关概述。
- 详细了解 Azure API 管理网关的可观测性功能。
- 详细了解关于在生产环境中的 Kubernetes 上运行自承载网关的指南。
- 了解有关 Azure Kubernetes 服务的详细信息。