使用 Helm 将自承载网关部署到 Kubernetes
可用性
重要
此功能在 API 管理的“高级”和“开发人员”层中可用。
Helm 是一种开放源打包工具,有助于安装和管理 Kubernetes 应用程序的生命周期。 它使你可以管理 Kubernetes 图表,这些图表是预配置的 Kubernetes 资源包。
本文提供使用 Helm 将 Azure API 管理的自承载网关组件部署到 Kubernetes 群集的步骤。
重要
对 Azure API 管理自承载网关版本 0 和版本 1 容器映像的支持及其相应配置 API v1 将于 2023 年 10 月 1 日结束。 使用迁移指南,将自承载网关 v2.0.0 或更高版本与配置 API v2 结合使用。 在弃用文档中了解详细信息
先决条件
- 创建 Kubernetes 群集,或访问现有群集。
提示
单节点群集非常适用于开发和评估目的。 将本地或云中的 Kubernetes 认证多节点群集用于生产工作负载。
添加 Helm 存储库
添加 Azure API 管理作为新的 Helm 存储库。
helm repo add azure-apim-gateway https://azure.github.io/api-management-self-hosted-gateway/helm-charts/
更新存储库以提取最新的 Helm 图表。
helm repo update
通过列出所有可用的图表来验证 Helm 配置。
$ helm search repo azure-apim-gateway NAME CHART VERSION APP VERSION DESCRIPTION azure-apim-gateway/azure-api-management-gateway 1.0.0 2.0.0 A Helm chart to deploy an Azure API Management ...
将自托管网关部署到 Kubernetes
选择“部署和基础结构”下的“网关” 。
选择要部署的自承载网关资源。
选择“部署”。
“令牌”文本框中的新令牌是使用默认“Expiry”和“Secret Key”值自动生成的。 根据需要调整其中的一个或两个值,然后选择“生成”以创建新令牌。
记下“令牌”和“配置 URL”
使用 Helm 图表安装自承载网关
helm install azure-api-management-gateway \ --set gateway.configuration.uri='<your configuration url>' \ --set gateway.auth.key='<your token>' \ azure-apim-gateway/azure-api-management-gateway
执行命令。 此命令指示 Kubernetes 群集:
- 从 Microsoft Container Registry 下载自承载网关的映像并将其作为容器运行。
- 配置容器以公开 HTTP (8080) 和 HTTPS (8081) 端口。
重要
默认情况下,网关使用 ClusterIP 服务,并且仅在群集内公开。 通过在安装过程中指定 Kubernetes 服务的类型,可以更改此内容。
例如,通过添加
--set service.type=LoadBalancer
,可以通过负载均衡器公开它运行以下命令来检查网关 pod 是否正在运行。 Pod 名称将有所不同。
kubectl get pods NAME READY STATUS RESTARTS AGE azure-api-management-gateway-59f5fb94c-s9stz 1/1 Running 0 1m
运行以下命令来检查网关服务是否正在运行。 你的服务名称和 IP 地址与此不同。
kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE azure-api-management-gateway ClusterIP 10.0.229.55 <none> 8080/TCP,8081/TCP 1m
返回 Azure 门户,确认刚刚部署的网关节点是否报告正常状态。
提示
使用 kubectl logs <gateway-pod-name>
命令查看自承载网关日志的快照。
后续步骤
- 了解有关自承载网关的详细信息,请参阅 Azure API Management 自承载网关概述。
- 详细了解如何在生产环境中的 Kubernetes 上运行自承载网关。
- 详细了解 Azure API 管理网关的可观测性功能。