Runtime Configurator の基礎知識

この文書では、Runtime Configurator の機能について概説し、Runtime Configurator に関連する重要な概念について説明します。RuntimeConfig リソースを作成する方法の詳細については、RuntimeConfig リソースの作成と削除をご覧ください。

Runtime Configurator とは

Runtime Configurator 機能を使用すると、データを Google Cloud Platform でキーと値のペアの階層として定義し、格納することができます。これらのキーと値のペアを以下のように使用することができます。

  • 動的にサービスを設定
  • サービス状態の伝達
  • データへの変更の通知を送信
  • サービスの複数の層の間で情報を共有

たとえば、スタートアップ プロシージャを実行するノードのクラスタがあるシナリオを想像してみてください。起動中、Runtime Configurator にその状況を報告するためにノードを設定し、別のアプリケーションで Runtime Configurator へのクエリを実行して、ノードの状態に基づいた特定のタスクを実行することができます。

Runtime Configurator はさらに Watcher サービスと Waiter サービスを提供しています。Watcher サービスは、特定のキーペアを監視し、キーペアの値が変化した際に返ります。一方で Waiter サービスは、特定の終了条件を待ち、その終了条件が満たされた後にレスポンスを返します。

Runtime Configurator は gcloud ツールを使用して、またはスタンドアロン API として使用します。

概念

  • Config リソース

    Config リソースには、変数の階層リストが含まれています。異なる目的ごとに構成を作成することができます。たとえば、環境(本番、開発、テスト)、アプリケーションまたはサービス(バックエンド、フロントエンド)の異なる階層、またはエンティティ(アプリケーションのユーザーごとに 1 つの設定)に基づいて構成を分離することができます。

  • 変数

    変数は RuntimeConfig リソースに属しているキーと値のペアです。変数のキーの形式は次のとおりです。

    projects/[project_id]/configs/[CONFIG_ID]/variables/[VARIABLE_NAME]
    

    アプリケーションに情報を通信する、あるいは完成した状態を知らせる、またはデータの変更の通知などを送信するために、変数の値を設定、取得することができます。変数は階層構造になっているため、変数キーにはいくつかのレベルがありえます。たとえば、サンプル変数のキーは次のようになります。

    webserver-1/users/name
    webserver-1/users/favorite_color
    
  • ウォッチャー

    変数の変更、ウォッチャーのタイムアウト、あるいはウォッチャーが削除された場合、変数を監視し、返すため、watch() メソッドを使用できます。watch() 機能を使用し、データの変化に基づいてアプリケーションを動的に設定します。

  • ウェイター

    特定のパス接頭辞を監視するために Waiter リソースを作成した場合、接頭辞の下の変数が特定の数に達すると、ウェイターが返されます。これは Cardinality 条件と呼びます。

    たとえば、パス /foo の条件を設定し、パスの数が 2 に設定された場合、次のセットアップが条件を満たしています。

    • /foo/variable1 = "value1"
    • /foo/variable2 = "value2"
    • /bar/variable3 = "value3" # Not /foo path

    ウェイターには、失敗と成功両方の条件が設定可能です。

    Waiter の作成が完了すると、サービスは完了のためにポーリングしたオペレーション オブジェクトの名前を返します。次のいずれかが発生すると、オペレーションは完了です。

    • success 条件が満たされている。
    • failure 条件が満たされている。
    • Waiter が、最初のリクエストで指定されたタイムアウト期限に達した。

    ウェイターを使用することは、特定数のサービスが実行されるまでデプロイを一時停止するようなスタートアップ シナリオにおいて最適でしょう。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Deployment Manager のドキュメント