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

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

Note

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

前提条件

Kubernetes へのデプロイ

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

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

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

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

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

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

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

  8. コマンドをターミナル (またはコマンド) ウィンドウに貼り付けます。 最初のコマンドでは、手順 4 で生成されたアクセス トークンを含めた Kubernetes シークレットを作成します。 2 番目のコマンドでは、手順 6 でダウンロードした構成ファイルを Kubernetes クラスターに適用し、ファイルが現在のディレクトリにあることを求めます。

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

  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 サービスと正常に通信しており、"ハートビート" が通常であることを意味します。

    Gateway status

ヒント

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

次のステップ