YAML を使用して Kubernetes にセルフホステッド ゲートウェイをデプロイする
適用対象: Developer | Premium
この記事では、Azure API Management のセルフホステッド ゲートウェイ コンポーネントを Kubernetes クラスターにデプロイする手順について説明します。
Note
また、セルフホステッド ゲートウェイを Azure Arc 対応 Kubernetes クラスターにクラスター拡張機能としてデプロイすることもできます。
前提条件
- 次のクイック スタートを完了すること:Azure API Management インスタンスを作成する。
- Kubernetes クラスターを作成するか、既存のものにアクセスできるようにします。
ヒント
単一ノード クラスターは、開発と評価の目的に適しています。 運用環境のワークロードには、オンプレミスまたはクラウドで Kubernetes 認定のマルチノード クラスターを使用します。
- API Management インスタンスでセルフホステッド ゲートウェイ リソースをプロビジョニングします。
Kubernetes へのデプロイ
ヒント
次の手順では、セルフホステッド ゲートウェイを Kubernetes にデプロイし、ゲートウェイ アクセス トークン (認証キー) を使用して API Management インスタンスへの認証を有効にします。 また、セルフホステッド ゲートウェイを Kubernetes にデプロイし、Microsoft Entra ID を使用して API Management インスタンスへの認証を有効にすることもできます。
- [Deployment and infrastructure](デプロイとインフラストラクチャ) で [ゲートウェイ] を選択します。
- デプロイするセルフホステッド ゲートウェイ リソースを選択します。
- [Deployment]/(デプロイ/) を選択します。
- [トークン] テキスト ボックスのアクセス トークンは、既定の [有効期限] 値と [秘密鍵] 値に基づいて自動生成されました。 必要に応じて、いずれかまたは両方のコントロールで値を選択し、新しいトークンを生成します。
- [デプロイ スクリプト] の下にある [Kubernetes] タブを選択します。
- <gateway-name>.yml ファイル リンクを選択し、YAML ファイルをダウンロードします。
- [デプロイ] テキスト ボックスの右下隅にある [コピー] アイコンを選択し、
kubectl
コマンドをクリップボードに保存します。 - Azure Kubernetes Service (AKS) を使用する場合は、新しいターミナル セッションで
az aks get-credentials --resource-group <resource-group-name> --name <resource-name> --admin
を実行します。 - コマンドを実行して既定の名前空間に必要な Kubernetes オブジェクトを作成し、Microsoft Artifact Registry からダウンロードされたコンテナー イメージからセルフホステッド ゲートウェイ ポッドを起動します。
- 最初のステップでは、手順 4 で生成されたアクセス トークンを含めた Kubernetes シークレットを作成します。 次に、ゲートウェイの構成で ConfigMap を使用するセルフホステッド ゲートウェイの Kubernetes デプロイを作成します。
ゲートウェイが実行されていることを確認する
次のコマンドを実行し、デプロイが成功したかどうかを確認します。 すべてのオブジェクトが作成され、ポッドが初期化されるまでに少し時間がかかる場合があります。
kubectl get deployments
次のように返されるはずです。
NAME READY UP-TO-DATE AVAILABLE AGE <gateway-name> 1/1 1 1 18s
サービスが正常に作成されたかどうかを確認するには、次のコマンドを実行します。 サービスの IP とポートは異なります。
kubectl get services
次のように返されるはずです。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE <gateway-name>-live-traffic ClusterIP None <none> 4290/UDP,4291/UDP 9m1s <gateway-name>-instance-discovery LoadBalancer 10.99.236.168 <pending> 80:31620/TCP,443:30456/TCP 9m1s
Azure portal に戻り、 [概要] を選択します。
[状態] に緑のチェック マークが表示されていることを確認し、そのマークの後ろのノード数が YAML ファイルに指定されているレプリカ数に一致することを確認します。 この状態は、デプロイされたセルフホステッド ゲートウェイ ポッドが API Management サービスと正常に通信しており、"ハートビート" が通常であることを意味します。
ヒント
- ランダムに選択されたポッドのログを表示するには、
kubectl logs deployment/<gateway-name>
コマンドを実行します (複数存在する場合)。 - 特定のポッドまたはコンテナーのログを表示する方法など、コマンド オプションの完全なセットに対して
kubectl logs -h
を実行します。
次のステップ
- セルフホステッド ゲートウェイの詳細については、セルフホステッド ゲートウェイの概要に関するページを参照してください。
- Azure Arc 対応 Kubernetes クラスターに API Management セルフホステッド ゲートウェイをデプロイする方法について学習します。
- 運用環境の Kubernetes でのセルフホステッド ゲートウェイの実行に関するガイダンスを参照してください。