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

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

重要

Azure API Management セルフホステッド ゲートウェイ バージョン 0 およびバージョン 1 コンテナー イメージのサポートは、それに対応する Configuration API v1 とともに 2023 年 10 月 1 日に終了します。 Configuration API v2 でセルフホステッド ゲートウェイ v2.0.0 以上を使用するには、移行ガイドを使用してください。 非推奨に関するドキュメントで詳細を確認する

Note

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

可用性

重要

この機能は、API Management の Premium レベルと Developer レベルで使用できます。

前提条件

Kubernetes へのデプロイ

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

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

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

  4. [トークン] テキスト ボックスのアクセス トークンは、既定の [有効期限] 値と [秘密鍵] 値に基づいて自動生成されました。 必要に応じて、いずれかまたは両方のコントロールで値を選択し、新しいトークンを生成します。

  5. [デプロイ スクリプト] の下にある [Kubernetes] タブを選択します。

  6. <gateway-name>.yml ファイル リンクを選択し、YAML ファイルをダウンロードします。

  7. [デプロイ] テキスト ボックスの右下隅にある [コピー] アイコンを選択し、kubectl コマンドをクリップボードに保存します。

  8. Azure Kubernetes Service (AKS) を使用する場合は、新しいターミナル セッションで az aks get-credentials --resource-group <resource-group-name> --name <resource-name> --admin を実行します。

  9. コマンドを実行して既定の名前空間に必要な Kubernetes オブジェクトを作成し、Microsoft Artifact Registry からダウンロードされたコンテナー イメージからセルフホステッド ゲートウェイ ポッドを起動します。

    • 最初のステップでは、手順 4 で生成されたアクセス トークンを含めた Kubernetes シークレットを作成します。 次に、ゲートウェイの構成で ConfigMap を使用するセルフホステッド ゲートウェイの Kubernetes デプロイを作成します。
  10. 次のコマンドを実行し、デプロイが成功したかどうかを確認します。 すべてのオブジェクトが作成され、ポッドが初期化されるまでに少し時間がかかる場合があることにご注意ください。

    kubectl get deployments
    

    次のように返されるはずです。

        NAME             READY   UP-TO-DATE   AVAILABLE   AGE
    <gateway-name>   1/1     1            1           18s
    
  11. サービスが正常に作成されたかどうかを確認するには、次のコマンドを実行します。 サービスの IP とポートが異なることに注意してください。

    kubectl get services
    

    次のように返されるはずです。

    NAME             TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
    <gateway-name>   LoadBalancer   10.99.236.168   <pending>     80:31620/TCP,443:30456/TCP   9m1s
    
  12. Azure portal に戻り、 [概要] を選択します。

  13. [状態] に緑のチェック マークが表示されていることを確認し、そのマークの後ろのノード数が YAML ファイルに指定されているレプリカ数に一致することを確認します。 この状態は、デプロイされたセルフホステッド ゲートウェイ ポッドが API Management サービスと正常に通信しており、"ハートビート" が通常であることを意味します。

    ゲートウェイの状態

ヒント

ランダムに選択されたポッドのログを表示するには、kubectl logs deployment/<gateway-name> コマンドを実行します (複数存在する場合)。 特定のポッドまたはコンテナーのログを表示する方法など、コマンド オプションの完全なセットに対して kubectl logs -h を実行します。

次のステップ