OpenResty Edge における Gateway Config のバージョン管理とリリース管理
このチュートリアルでは、OpenResty Edge での設定バージョンの管理とリリース方法をご紹介します。私たちのウェブコンソールで使用しているリレーショナルデータベースには、バージョン管理の機能が組み込まれています。
アプリケーションのページルールを作成する
いつものように、OpenResty Edge の管理ウェブコンソールにアクセスしましょう。これは私たちのコンソールのサンプルデプロイメントです。各ユーザーは独自のデプロイメントを持つことができます。
引き続き、サンプルアプリケーション test-edge.com を使用します。
アプリケーションに入ります。
まず、カスタムレスポンスボディを出力する簡単なページルールを追加します。
新しいページルールを作成します。
このルールに条件を指定していません。そのため、無条件でトリガーされます。
レスポンスボディを直接返す新しいアクションを追加します。
「レスポンスボディを出力」アクションを検索することもできます。
それを選択します。
ここでは、Content-Type ヘッダーに「text/plain」を指定しました。
そして、レスポンスボディとして「Hello world」を指定しました。
このルールが他のルールよりも常に先に実行されるようにする必要があります。そのため、「常に先頭」のルールとしてマークします。
このルールがマッチした場合、後続のルールをスキップします。
これで作成します。
ページルールがここにリストされているのが確認できます。
ページルールをリリースする
この新しいページルールはまだオンラインになっておらず、保留中の変更のままです。
新しい設定バージョンをリリースして、これをプッシュします。
このクリアボタンを使用して、保留中の変更をすべてクリアすることができます。しかし、今回はクリアしたくありません。
設定のリリースを行う前に、変更の詳細を確認することができます。
このボタンをクリックするだけで、変更の差分を確認できます。
これらの変更に対して、人間が読める形式のテキスト説明を提供しています。
または、JSON 形式の変更を直接確認することもできます。
これで新しいリリースを行う準備ができました。
自分の Staging 用ゲートウェイノードにのみリリースすることもできます。
この場合、この設定バージョンは Staging タイプになります。これについては、将来のビデオチュートリアルでデモンストレーションを行います。そうでない場合は Normal タイプになります。
ここでは、そのバージョンを説明するためのメモやコメントを追加することもできます。もちろん、これはオプションです。
リリースボタンをクリックしてリリースします。
これで完全に同期されました。
新しいページルールがすべてのゲートウェイクラスターとサーバーにプッシュされました。
設定の変更にはサーバーのリロード、再起動、バイナリのアップグレードは必要ありません。そのため、非常に効率的でスケーラブルです。
テスト
ターミナルで、アプリケーションにテストリクエストを送信できます。
curl http://test-edge.com/
test-edge.com ドメインは OpenResty Edge が管理するゲートウェイノードサーバーに解決されています。
実行します。
確かに Hello world というレスポンスボディが得られました。
リリースページに戻ると、このテーブルですべてのリリース履歴を閲覧できます。
ここでは、各バージョンの作成者が誰かを確認できます。
また、いつリリースされたかも確認できます。
操作タイプも確認でき、「リリース」または「ロールバック」のいずれかになります。
リリースタイプは Normal または Staging のいずれかです。
ここで各履歴バージョンの変更の詳細を展開することもできます。
テキストによる説明もあります。
ページルールを編集する
ページルールを少し編集してみましょう。ページルールのページに戻ります。
このルールを編集します。
レスポンスボディを「Happy hacking!」に変更しましょう。
保存します。
これで新しい変更ができました。
変更を公開する
もう一度新しい設定リリースを行います。
変更の詳細をもう一度確認します。
「Hello world」を「Happy hacking!」に置き換えたことが表示されています。
リリースしましょう。
今回は「Say happy hacking」というコメントを追加します。
リリースします。
新しいバージョンがプッシュされました。
リリース履歴も更新されました。
変更をテストする
ターミナルでもう一度テストリクエストを送信してみましょう。
curl http://test-edge.com/
実行します。
レスポンスボディが確かに「Happy hacking」に変更されました。
設定バージョンを元に戻す
次に、最新の設定バージョンを元に戻したいとします。
この「このバージョンに戻す」ボタンをクリックするだけです。
ロールバックを確認します。
ロールバックがすべてのゲートウェイサーバーにプッシュされました。
最新の操作ログのタイプが「ロールバック」になっているのがわかります。
バージョンのロールバックをテストする
ターミナルでもう一度テストしてみましょう。
curl http://test-edge.com/
実行します。
確かに「Hello world」に戻りました。
より古いバージョンにロールバックすることもできます。
例えば、今回は 2 番目のバージョンにロールバックしたいとします。
この「このバージョンにロールバック」ボタンを直接クリックできます。ぜひ自分で試してみてください。
以上が、本日お伝えしたい内容です。
OpenResty Edge について
OpenResty Edge は、マイクロサービスと分散トラフィックアーキテクチャ向けに設計された多機能ゲートウェイソフトウェアで、当社が独自に開発しました。トラフィック管理、プライベート CDN 構築、API ゲートウェイ、セキュリティ保護などの機能を統合し、現代のアプリケーションの構築、管理、保護を容易にします。OpenResty Edge は業界をリードする性能と拡張性を持ち、高並発・高負荷シナリオの厳しい要求を満たすことができます。K8s などのコンテナアプリケーショントラフィックのスケジューリングをサポートし、大量のドメイン名を管理できるため、大規模ウェブサイトや複雑なアプリケーションのニーズを容易に満たすことができます。
著者について
章亦春(Zhang Yichun)は、オープンソースの OpenResty® プロジェクトの創始者であり、OpenResty Inc. の CEO および創業者です。
章亦春(GitHub ID: agentzh)は中国江蘇省生まれで、現在は米国ベイエリアに在住しております。彼は中国における初期のオープンソース技術と文化の提唱者およびリーダーの一人であり、Cloudflare、Yahoo!、Alibaba など、国際的に有名なハイテク企業に勤務した経験があります。「エッジコンピューティング」、「動的トレーシング」、「機械プログラミング」 の先駆者であり、22 年以上のプログラミング経験と 16 年以上のオープンソース経験を持っております。世界中で 4000 万以上のドメイン名を持つユーザーを抱えるオープンソースプロジェクトのリーダーとして、彼は OpenResty® オープンソースプロジェクトをベースに、米国シリコンバレーの中心部にハイテク企業 OpenResty Inc. を設立いたしました。同社の主力製品である OpenResty XRay動的トレーシング技術を利用した非侵襲的な障害分析および排除ツール)と OpenResty Edge(マイクロサービスおよび分散トラフィックに最適化された多機能
翻訳
英文版の原文と日本語訳版(本文)をご用意しております。読者の皆様による他の言語への翻訳版も歓迎いたします。全文翻訳で省略がなければ、採用を検討させていただきます。心より感謝申し上げます!