可用性
重要
此功能在 API 管理的“高级”和“开发人员”层中可用。
本文介绍将 Azure API Management的自承载网关组件部署到 Kubernetes 群集的步骤。
先决条件
- 完成以下快速入门: 创建 Azure API 管理实例。 
- 创建 Kubernetes 群集,或访问现有群集。 - 小窍门 - 单节点群集非常适用于开发和评估用途。 在本地或云中将 Kubernetes 认证的 多节点群集用于生产工作负荷 
部署到 Kubernetes
小窍门
以下步骤将自承载网关部署到 Kubernetes,并使用网关访问令牌(身份验证密钥)对 API Management 实例启用身份验证。 还可将自承载网关部署到 Kubernetes,并使用 Microsoft Entra ID 对 API 管理实例启用身份验证。
- 选择“部署和基础结构”下的“网关”。
- 选择要部署的自承载网关资源。
- 选择“部署”。
- 访问令牌在令牌文本框中根据默认的过期和机密密钥值自动生成。 如果需要,请在任一或两个控件中选择值以生成新令牌。
- 选择“部署脚本”下的“Kubernetes”选项卡。
- 选择“<gateway-name>.yml”文件链接并下载 YAML 文件。
- 选择“部署”文本框右下角的“复制”图标,将 kubectl命令保存到剪贴板。
- 使用 Azure Kubernetes 服务 (AKS) 时,请在新的终端会话中运行 az aks get-credentials --resource-group <resource-group-name> --name <resource-name> --admin。
- 运行命令以在默认命名空间中创建必要的 Kubernetes 对象,并从 Microsoft 工件注册表下载的容器映像中启动自承载网关 Pod。
- 第一个步骤创建 Kubernetes 机密,其中包含在步骤 4 中生成的访问令牌。 接下来,它会为该自承载网关创建一个 Kubernetes 部署,该部署使用一个用于配置网关的 ConfigMap。
 
确认网关正在运行
- 运行以下命令,检查部署是否成功。 创建所有对象以及 Pod 初始化可能需要一点时间。 - kubectl get deployments- 它应返回 - NAME READY UP-TO-DATE AVAILABLE AGE <gateway-name> 1/1 1 1 18s
- 运行以下命令,检查是否已成功创建服务。 服务 IP 和端口将有所不同。 - kubectl get services- 它应返回 - NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE <gateway-name>-live-traffic ClusterIP None <none> 4290/UDP,4291/UDP 9m1s <gateway-name>-instance-discovery LoadBalancer 10.99.236.168 <pending> 80:31620/TCP,443:30456/TCP 9m1s
- 返回到 Azure 门户并选择“ 概述”。 
- 确认状态显示为绿色勾号,并且节点计数与 YAML 文件中指定的副本数量一致。 此状态意味着部署的自托管网关 Pod 已成功与 API 管理服务进行通信,并定期发送“心跳信号”。   
小窍门
- 
              kubectl logs deployment/<gateway-name>运行命令,查看随机选择的 Pod 中的日志(如果有多个)。
- 运行 kubectl logs -h以获取完整的命令选项集,例如如何查看特定 Pod 或容器的日志。
相关内容
- 若要了解有关自承载网关的详细信息,请参阅 自承载网关概述。
- 详细了解有关 在生产环境中在 Kubernetes 上运行自承载网关的指导。