Microsoft Azure クラウド上に OpenResty XRay オンプレミス版をインストールする
本日は、Microsoft Azure クラウド上に OpenResty XRay のオンプレミス版をデプロイする方法をご紹介いたします。ビデオデモンストレーションで使用するコマンドの詳細については、ドキュメントをご参照ください。
サブスクリプションとリソースグループの作成
第一ステップとして、サブスクリプションとリソースグループを作成します。Azure のホームページを開き、サブスクリプションアイコンをクリックします。
ここでは、すでに「Azure subscription 1」という名前のサブスクリプションを作成済みです。
Azure のホームページに戻ります。
リソースグループを作成する準備をします。リソースグループアイコンをクリックします。
ここでは、すでに「AKS」という名前のリソースグループを作成済みです。リソースグループ AKS は、先ほど作成した Azure subscription 1 に属しています。
Azure Kubernetes サービスの作成
第二ステップでは、Azure Kubernetes サービスを作成します。Azure のホームページに戻り、Kubernetes サービスアイコンをクリックします。
作成ボタンをクリックし、Kubernetes クラスターの作成を選択します。
先ほど作成したリソースグループ「AKS」を選択します。
ここでクラスターの設定を選択します。必要に応じて選択してください。
ここでは、必要に応じてノードのサイズを選択します。
その他の設定は必要に応じて調整し、「Review + Create」をクリックします。
デプロイが完了するまで待ちます。
環境変数の準備
第三ステップでは、後で使用する環境変数を準備します。
ターミナルを開き、Linux マシンにログインします。
デモンストレーションには .env.sample ファイルを使用します。
これらの環境変数の使用方法については、ドキュメントをご参照ください。
コマンドラインから Azure にログイン
第四ステップでは、コマンドラインから Azure にログインします。
注意:事前に Azure のコマンドラインツール az をインストールしておく必要があります。
具体的なインストール手順については、Azure 公式ドキュメントをご参照ください。
ここでは、az login コマンドを使用し、表示された URL を開きます。
ログインに成功すると、以下のような画面が表示されます:
az account コマンドを実行してサブスクリプションをバインドします。
次に、az aks コマンドを実行して Kubernetes のアクセス設定を取得します。
Kubernetes の namespace と secret の作成
第五ステップでは、Kubernetes の namespace と secret を作成します。
まず、Kubernetes namespace を作成します。
次に、Kubernetes Secret を作成します。
Azure ディスクの作成
第六ステップでは、Azure ディスクを作成します。
まず、ノードのリソースグループ名を取得します。
次に、コマンドを使用して Azure ディスクを作成します。
同じコマンドを使用して、使用する複数のディスクを作成します。これらのコマンドは、ドキュメントに記載されています。
永続ボリュームの設定ファイルの更新
第七ステップでは、永続ボリュームの設定ファイルを更新します。
このステップでは、提供された設定ファイルをそのまま使用できます。
ノードのリソースグループ名を取得します。
sed コマンドを使用して永続ボリュームの設定を置換します。
Kubernetes の設定ファイルの更新
第八ステップでは、Kubernetes の設定ファイルを更新します。
XRAY_CONSOLE_HOST 変数は、OpenResty XRay サービスをデプロイした後に使用するドメイン名です。
sed コマンドを使用して Kubernetes の設定を置換します。
永続ボリュームの作成
第九ステップでは、永続ボリュームを作成します。
kubectl apply コマンドを使用します。
永続ボリュームの作成が成功したら、kubectl get コマンドで確認できます。
Kubernetes サービスのデプロイ
第十ステップでは、Kubernetes サービスをデプロイします。
ここでも kubectl apply コマンドを使用して Kubernetes サービスをデプロイします。
kubectl get コマンドを使用してサービスのステータスが Running であることを確認し、デプロイが成功したことを確認します。
アプリケーションゲートウェイの設定
最後のステップは、アプリケーションゲートウェイの設定です。
Azure 管理画面のホームページを開きます。Kubernetes サービスを開きます。
Networking を選択してネットワークを設定します。
Enable ingress controller にチェックを入れます。
保存します。
保存後、ingress controller が作成されます。
作成された ingress controller を選択し、Backend pool の設定を選択します。
既存のバックエンドプールを編集します。
バックエンドの IP アドレスは、ドキュメントに記載されているコマンドで取得できます。
保存します。
次に、Health Probes を選択して設定します。このステップでは、バックエンドへのヘルスチェックを設定します。
図のように入力して保存します。
次に、Listeners の設定を開始します。これはゲートウェイのリスニングポートとサービスを設定します。
デフォルトで 80 ポートの http サービスが設定されていることがわかります。
443 ポートの https サービスを追加します。
ここで https サービスに必要な証明書をアップロードする必要があります。
ドキュメントに記載されているコマンドを使用して、通常の証明書を pfx 形式に変換できます。
Password には pfx 形式の証明書のパスワードを入力します。
Rules を選択して転送ルールを設定します。
デフォルトのルールを修正します。
Listener を先ほど作成した 443 ポートの https サービスに変更します。
Backend target サブタブを選択し、Backend target と Backend settings が正しく選択されていることを確認します。
保存をクリックします。
Health Probe を選択し、ヘルスチェックが通過しているかを確認します。
ここの Status が通過していることを示しています。
アクセスするドメインがゲートウェイのパブリック IP アドレスに解決されていることを確認します。
それでは、ドメインにアクセスして OpenResty XRay サービスが正常にデプロイされたかを確認しましょう。
以下のようなログイン画面が表示されれば、デプロイが成功したことになります。
OpenResty XRay について
OpenResty XRay は動的トレーシング製品であり、実行中のアプリケーションを自動的に分析して、パフォーマンスの問題、動作の問題、セキュリティの脆弱性を解決し、実行可能な提案を提供いたします。基盤となる実装において、OpenResty XRay は弊社の Y 言語によって駆動され、Stap+、eBPF+、GDB、ODB など、様々な環境下で複数の異なるランタイムをサポートしております。
著者について
章亦春(Zhang Yichun)は、オープンソースの OpenResty® プロジェクトの創始者であり、OpenResty Inc. の CEO および創業者です。
章亦春(GitHub ID: agentzh)は中国江蘇省生まれで、現在は米国ベイエリアに在住しております。彼は中国における初期のオープンソース技術と文化の提唱者およびリーダーの一人であり、Cloudflare、Yahoo!、Alibaba など、国際的に有名なハイテク企業に勤務した経験があります。「エッジコンピューティング」、「動的トレーシング」、「機械プログラミング」 の先駆者であり、22 年以上のプログラミング経験と 16 年以上のオープンソース経験を持っております。世界中で 4000 万以上のドメイン名を持つユーザーを抱えるオープンソースプロジェクトのリーダーとして、彼は OpenResty® オープンソースプロジェクトをベースに、米国シリコンバレーの中心部にハイテク企業 OpenResty Inc. を設立いたしました。同社の主力製品である OpenResty XRay動的トレーシング技術を利用した非侵襲的な障害分析および排除ツール)と OpenResty XRay(マイクロサービスおよび分散トラフィックに最適化された多機能
翻訳
英語版の原文と日本語訳版(本文)をご用意しております。読者の皆様による他の言語への翻訳版も歓迎いたします。全文翻訳で省略がなければ、採用を検討させていただきます。心より感謝申し上げます!