YAML を使用して Kubernetes にセルフホステッド ゲートウェイをデプロイする
この記事では、Azure API Management のセルフホステッド ゲートウェイ コンポーネントを Kubernetes クラスターにデプロイする手順について説明します。
Note
また、セルフホステッド ゲートウェイを Azure Arc 対応 Kubernetes クラスターにクラスター拡張機能としてデプロイすることもできます。
前提条件
- 次のクイック スタートを完了すること:Azure API Management インスタンスを作成する。
- Kubernetes クラスターを作成するか、既存のものにアクセスできるようにします。
ヒント
単一ノード クラスターは、開発と評価の目的に適しています。 運用環境のワークロードには、オンプレミスまたはクラウドで Kubernetes 認定のマルチノード クラスターを使用します。
- API Management インスタンスでセルフホステッド ゲートウェイ リソースをプロビジョニングします。
Kubernetes へのデプロイ
[Deployment and infrastructure](デプロイとインフラストラクチャ) で [ゲートウェイ] を選択します。
デプロイするセルフホステッド ゲートウェイ リソースを選択します。
[Deployment]/(デプロイ/) を選択します。
[トークン] テキスト ボックスのアクセス トークンは、既定の [有効期限] 値と [秘密鍵] 値に基づいて自動生成されました。 必要に応じて、いずれかまたは両方のコントロールで値を選択し、新しいトークンを生成します。
[デプロイ スクリプト] の下にある [Kubernetes] タブを選択します。
<gateway-name>.yml ファイル リンクを選択し、YAML ファイルをダウンロードします。
[デプロイ] テキスト ボックスの右下隅にある [コピー] アイコンを選択し、
kubectl
コマンドをクリップボードに保存します。コマンドをターミナル (またはコマンド) ウィンドウに貼り付けます。 最初のコマンドでは、手順 4 で生成されたアクセス トークンを含めた Kubernetes シークレットを作成します。 2 番目のコマンドでは、手順 6 でダウンロードした構成ファイルを Kubernetes クラスターに適用し、ファイルが現在のディレクトリにあることを求めます。
コマンドを実行して既定の名前空間に必要な Kubernetes オブジェクトを作成し、Microsoft Container Registry からダウンロードされたコンテナー イメージからセルフホステッド ゲートウェイ ポッドを起動します。
次のコマンドを実行し、デプロイが成功したかどうかを確認します。 すべてのオブジェクトが作成され、ポッドが初期化されるまでに少し時間がかかる場合があることにご注意ください。
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> 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 でのセルフホステッド ゲートウェイの実行に関するガイダンスを参照してください。