次の方法で共有


Helm を使用して Kubernetes にセルフホステッド ゲートウェイをデプロイする

適用対象: Developer | Premium

Helm は、Kubernetes アプリケーションのライフサイクルをインストールおよび管理するのに役立つオープン ソースのパッケージ化ツールです。 これを使用すると、構成済みの Kubernetes リソースのパッケージである、Kubernetes チャートを管理できます。

この記事では、Azure API Management のセルフホステッド ゲートウェイ コンポーネントを Helm を使用して Kubernetes クラスターにデプロイする手順を示します。

Note

また、セルフホステッド ゲートウェイを Azure Arc 対応 Kubernetes クラスタークラスター拡張機能としてデプロイすることもできます。

前提条件

  • Kubernetes クラスターを作成するか、既存のものにアクセスできるようにします。

    ヒント

    単一ノード クラスターは、開発と評価の目的に適しています。 運用環境のワークロードには、オンプレミスまたはクラウドで Kubernetes 認定のマルチノード クラスターを使用します。

Helm リポジトリを追加する

  1. 新しい Helm リポジトリとして Azure API Management を追加します。

    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.0.0           2.0.0           A Helm chart to deploy an Azure API Management ...
    

Kubernetes にセルフホステッド ゲートウェイをデプロイする

  1. [Deployment and infrastructure](デプロイとインフラストラクチャ) から [ゲートウェイ] を選択します。

  2. デプロイするセルフホステッド ゲートウェイ リソースを選択します。

  3. [Deployment]/(デプロイ/) を選択します。

  4. 既定の [有効期限] および [秘密鍵] の値を使用して、 [トークン] テキスト ボックスに新しいトークンが自動生成されています。 必要に応じていずれかまたは両方を調整し、 [生成] を選択して新しいトークンを作成します。

  5. トークン構成 URL をメモします

  6. 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
    
  7. コマンドを実行します。 このコマンドは、Kubernetes クラスターに次のことを指示します。

    • Microsoft Container Registry からセルフホステッド ゲートウェイのイメージをダウンロードし、コンテナーとして実行します。
    • HTTP (8080) および HTTPS (8081) ポートを公開するようにコンテナーを構成します。

    重要

    既定では、このゲートウェイは ClusterIP サービスを使用し、クラスター内でのみ公開されます。 これを変更するには、インストール時に Kubernetes サービスの種類を指定します。

    たとえば、--set service.type=LoadBalancer を追加すると、ロード バランサーを介して公開できます

  8. 次のコマンドを実行して、ゲートウェイ ポッドが実行中であることを確認します。 使用するポッド名は別のものになります。

    kubectl get pods
    NAME                                           READY     STATUS    RESTARTS   AGE
    azure-api-management-gateway-59f5fb94c-s9stz   1/1       Running   0          1m
    
  9. 次のコマンドを実行して、ゲートウェイ サービスが実行中であることを確認します。 使用するサービス名と 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
    
  10. Azure portal に戻り、デプロイしたゲートウェイ ノードが正常な状態を報告していることを確認します。

ヒント

kubectl logs <gateway-pod-name> コマンドを使用して、セルフホステッド ゲートウェイ ログのスナップショットを表示します。

次のステップ