使用 Helm 将自承载网关部署到 Kubernetes

适用于:开发人员 | 高级

Helm 是一种开放源打包工具,有助于安装和管理 Kubernetes 应用程序的生命周期。 Helm 允许管理 Kubernetes 图表,这些图表是预配置的 Kubernetes 资源的包。

本文介绍如何使用 Helm 将 Azure API 管理的自承载网关组件部署到 Kubernetes 群集。

先决条件

  • 创建 Azure Kubernetes 群集,或有权访问现有群集。

    小窍门

    单节点群集非常适用于开发和评估目的。 将本地或云中的 Kubernetes 认证多节点群集用于生产工作负载。

添加 Helm 存储库

  1. 使用以下命令将 Azure API 管理添加为新的 Helm 存储库。

    helm repo add azure-apim-gateway https://azure.github.io/api-management-self-hosted-gateway/helm-charts/
    
  2. 更新存储库以提取最新的 Helm 图表。

    helm repo update
    
  3. 通过列出所有可用图表来验证 Helm 配置。

    helm search repo azure-apim-gateway
    

    以下示例显示了可用的图表。

    NAME                                            CHART VERSION   APP VERSION     DESCRIPTION
    azure-apim-gateway/azure-api-management-gateway 1.15.0           2.11.0           A Helm chart to deploy an Azure API Management ...
    

将自承载网关部署到 Kubernetes

小窍门

以下步骤将自承载网关部署到 Kubernetes,并使用网关访问令牌(身份验证密钥)对 API Management 实例启用身份验证。 还可以使用 Microsoft Entra ID 将自托管网关部署到 Kubernetes,并启用对 API 管理实例的身份验证。 有关详细信息,请参阅 自承载网关身份验证选项。

  1. 在 Azure 门户中,导航到 API 管理实例。

  2. 在边栏菜单中的 “部署和基础结构 ”下,选择 “自承载网关”。

  3. 选择要部署的自承载网关资源。

  4. 选择“部署”。

  5. “令牌”文本框中的新令牌是使用默认“过期时间”和“机密密钥”值自动生成的。 根据需要调整任一或两者,然后选择“ 生成 ”以创建新令牌。

  6. 记下 令牌 和 配置网址。

  7. 使用 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
    
  8. 执行命令。 该命令指示 Kubernetes 群集执行以下操作:

    • 从 Microsoft Container Registry 下载自承载网关的映像并将其作为容器运行。
    • 配置容器以公开 HTTP (8080) 和 HTTPS (8081) 端口。

    重要

    默认情况下,网关使用 ClusterIP 服务,并且仅在群集内部公开。 通过在安装过程中指定 Kubernetes 服务的类型,可以更改此内容。

    例如,通过添加 --set service.type=LoadBalancer,可以通过负载均衡器将其暴露出来。