Compartir a través de

使用 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,可以通过负载均衡器将其暴露出来。