Helm を使用して Kubernetes にセルフホステッド ゲートウェイをデプロイする
適用対象: Developer | Premium
Helm は、Kubernetes アプリケーションのライフサイクルをインストールおよび管理するのに役立つオープン ソースのパッケージ化ツールです。 これを使用すると、構成済みの Kubernetes リソースのパッケージである、Kubernetes チャートを管理できます。
この記事では、Azure API Management のセルフホステッド ゲートウェイ コンポーネントを Helm を使用して Kubernetes クラスターにデプロイする手順を示します。
Note
また、セルフホステッド ゲートウェイを Azure Arc 対応 Kubernetes クラスターにクラスター拡張機能としてデプロイすることもできます。
前提条件
- Kubernetes クラスターを作成するか、既存のものにアクセスできるようにします。
ヒント
単一ノード クラスターは、開発と評価の目的に適しています。 運用環境のワークロードには、オンプレミスまたはクラウドで Kubernetes 認定のマルチノード クラスターを使用します。
- Azure API Management インスタンスを作成する。
- API Management インスタンスにゲートウェイ リソースをプロビジョニングします。
- Helm v3 をインストールします。
Helm リポジトリを追加する
新しい Helm リポジトリとして Azure API Management を追加します。
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 にセルフホステッド ゲートウェイをデプロイする
[Deployment and infrastructure](デプロイとインフラストラクチャ) から [ゲートウェイ] を選択します。
デプロイするセルフホステッド ゲートウェイ リソースを選択します。
[Deployment]/(デプロイ/) を選択します。
既定の [有効期限] および [秘密鍵] の値を使用して、 [トークン] テキスト ボックスに新しいトークンが自動生成されています。 必要に応じていずれかまたは両方を調整し、 [生成] を選択して新しいトークンを作成します。
トークンと構成 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
を追加すると、ロード バランサーを介して公開できます次のコマンドを実行して、ゲートウェイ ポッドが実行中であることを確認します。 使用するポッド名は別のものになります。
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 portal に戻り、デプロイしたゲートウェイ ノードが正常な状態を報告していることを確認します。
ヒント
kubectl logs <gateway-pod-name>
コマンドを使用して、セルフホステッド ゲートウェイ ログのスナップショットを表示します。
次のステップ
- セルフホステッド ゲートウェイの詳細については、Azure API Management のセルフホステッド ゲートウェイの概要に関するページを参照してください。
- 運用環境の Kubernetes でのセルフホステッド ゲートウェイの実行に関するガイダンスを参照してください。
- Azure Arc 対応 Kubernetes クラスターに API Management セルフホステッド ゲートウェイをデプロイする方法について学習します。
- Azure API Management ゲートウェイの可観測性機能の詳細について学習します。