Azure Stack Edge Pro GPU 上の Azure Arc 対応 Kubernetes クラスターに Redis を使用して PHP
適用対象:
Azure Stack Edge Pro - GPU
Azure Stack Edge Pro 2
Azure Stack Edge Pro R
Azure Stack Edge Mini R
この記事では、Kubernetes と Azure Arc を使用して多層 Web アプリケーションを構築してデプロイする方法について説明します。この例は、次のコンポーネントで構成されています。
-
guestbookエントリを格納する単一インスタンスの Redis マスター - 読み取りを処理する複数のレプリケートされた Redis インスタンス
- 複数の Web フロントエンド インスタンス
デプロイは、Azure Stack Edge Pro デバイス上の Azure Arc 対応 Kubernetes クラスターで GitOps を使用して行われます。
この手順は、 Azure Stack Edge Pro デバイスで Kubernetes ワークロード を確認し、 Azure Arc 対応 Kubernetes (プレビュー) の概念に精通しているユーザーを対象としています。
[前提条件]
ステートレス アプリケーションを展開する前に、デバイスとデバイスへのアクセスに使用するクライアントで、次の前提条件を満たしていることを確認します。
デバイスの場合
1 ノードの Azure Stack Edge Pro デバイスへのサインイン資格情報があります。
- デバイスがアクティブになります。 「 デバイスのアクティブ化」を参照してください。
- デバイスには、Azure portal を使用して構成されたコンピューティング ロールがあり、Kubernetes クラスターがあります。 コンピューティング の構成を参照してください。
デバイス上の既存の Kubernetes クラスターで Azure Arc を有効にしており、Azure portal に対応する Azure Arc リソースがあります。 詳細な手順については、「 Azure Stack Edge Pro デバイスで Azure Arc を有効にする」を参照してください。
クライアントがデバイスにアクセスする場合
Azure Stack Edge Pro デバイスへのアクセスに使用される Windows クライアント システムがあります。
クライアントは Windows PowerShell 5.0 以降を実行しています。 最新バージョンの Windows PowerShell をダウンロードするには、 Windows PowerShell のインストールに移動します。
サポートされているオペレーティング システムを持つ他のクライアントを使用することもできます。 この記事では、Windows クライアントを使用する場合の手順について説明します。
「Azure Stack Edge Pro デバイス上の Kubernetes クラスターへのアクセス」で説明されている手順を完了しました。 次の情報があります。
クライアントに
kubectlがインストールされています。kubectlクライアントのバージョンを、Azure Stack Edge Pro デバイスで実行されている Kubernetes マスター バージョンから1バージョン以上ずれないようにしてください。-
kubectl versionを使用して、クライアントで実行されている kubectl のバージョンを確認します。 完全なバージョンをメモしておきます。 - Azure Stack Edge Pro デバイスのローカル UI で、[ 概要 ] に移動し、Kubernetes ソフトウェア番号を書き留めます。
- サポートされている Kubernetes バージョンで提供されているマッピングから、互換性のためにこれら 2 つのバージョンを確認します。
-
Azure Arc デプロイの実行に使用できる GitOps 構成があります。 この例では、次の
yamlファイルを使用して、Azure Stack Edge Pro デバイスにデプロイします。frontend-deployment.yaml-
frontend-service.yaml -
redis-master-deployment.yaml -
redis-master-service.yaml -
redis-replica-deployment.yaml -
redis-replica-service.yaml
構成の展開
Azure portal を使用して GitOps 構成をデプロイするように Azure Arc リソースを構成するには、次の手順に従います。
Azure portal で、デバイスで Kubernetes クラスターで Azure Arc を有効にしたときに作成した Azure Arc リソースに移動します。
[構成] に移動し、[+ 構成の追加] を選択します。
Flux バージョン 1 拡張機能を指定します。
[ GitOps 構成の追加] で、フィールドに適切な値を入力し、[ 追加] を選択します。
パラメーター Description 構成名 構成リソースの名前。 オペレーター インスタンス名 特定の構成を識別するオペレーターのインスタンス名。 Name は最大 253 文字の文字列で、小文字、英数字、ハイフン、ピリオドのみを指定する必要があります。 演算子の名前空間 デプロイ で指定された名前空間と一致するように yamlに設定します。
このフィールドは、オペレーターがインストールされる名前空間を定義します。 Name は最大 253 文字の文字列で、小文字、英数字、ハイフン、ピリオドのみを指定する必要があります。リポジトリ URL
GitOps 構成が配置されているhttp://github.com/username/repoまたはgit://github.com/username/repo形式の Git リポジトリへのパス。演算子のスコープ [名前空間] を選択します。
このパラメーターは、オペレーターがインストールされるスコープを定義します。 [名前空間] を選択して、デプロイ yaml ファイルで指定された名前空間にオペレーターをインストールします。演算子の種類 既定値のままにします。
このパラメーターは、演算子の型 (既定では flux として設定) を指定します。演算子パラメーター 空白のままにします。
このパラメーターには、flux 演算子に渡すパラメーターが含まれています。Helm このチェックボックスは オフのままにします。
グラフベースのデプロイを行う場合は、このオプションを有効にします。
構成のデプロイが開始され、 オペレーターの状態 が [保留中] と表示されます。
デプロイには数分かかります。 デプロイが完了すると、オペレーターの 状態 は [インストール済み] と表示されます。
デプロイを検証する
GitOps 構成を使用したデプロイでは、git リポジトリにあるデプロイ demotestguestbook ファイルで指定されたyaml名前空間が作成されます。
GitOps 構成を適用したら、 デバイスの PowerShell インターフェイスに接続します。
次のコマンドを実行して、デプロイに対応する
demotestguestbook名前空間で実行されているポッドを一覧表示します。kubectl get pods -n <your-namespace>出力例を次に示します。
[10.128.44.240]: PS>kubectl get pods -n demotestguestbook NAME READY STATUS RESTARTS AGE aseoperator1-5569658644-cqtb5 1/1 Running 0 91m frontend-6cb7f8bd65-4xb4f 1/1 Running 0 91m frontend-6cb7f8bd65-q9cxj 1/1 Running 0 91m frontend-6cb7f8bd65-xpzs6 1/1 Running 0 91m memcached-86bdf9f56b-5l2fq 1/1 Running 0 91m redis-master-7db7f6579f-2z29w 1/1 Running 0 91m redis-replica-7664787fbc-lgr2n 1/1 Running 0 91m redis-replica-7664787fbc-vlvzn 1/1 Running 0 91m [10.128.44.240]: PS>この例では、フロントエンド サービスが type:LoadBalancer としてデプロイされました。
guestbookを表示するには、このサービスの IP アドレスを見つける必要があります。 次のコマンドを実行します。kubectl get service -n <your-namespace>[10.128.44.240]: PS>kubectl get service -n demotestguestbook NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE frontend LoadBalancer 10.96.79.38 10.128.44.245 80:31238/TCP 85m memcached ClusterIP 10.102.47.75 <none> 11211/TCP 85m redis-master ClusterIP 10.104.32.99 <none> 6379/TCP 85m redis-replica ClusterIP 10.104.215.146 <none> 6379/TCP 85m [10.128.44.240]: PS>type:LoadBalancerのフロントエンド サービスには、外部 IP アドレスがあります。 この IP は、デバイスでコンピューティング ネットワーク設定を構成するときに外部サービスに指定した IP アドレス範囲から取得されます。 URL でguestbookを表示するには、次の IP アドレスを使用します:https://<external-IP-address>。
デプロイを削除する
デプロイを削除するには、Azure portal から構成を削除します。 構成を削除すると、デプロイやサービスなど、作成されたオブジェクトが削除されます。
- Azure portal で、Azure Arc リソース > 構成に移動します。
- 削除する構成を見つけます。 ... を選択して、コンテキスト メニューを呼び出し、「削除」を選択 します。
構成が削除されるまでに数分かかる場合があります。
次のステップ
Kubernetes ダッシュボードを使用して Azure Stack Edge Pro デバイス上のデプロイを監視する方法について説明します