このサービスは、個々のCoreOSマシンがクラスターを形成し、グローバルにアクセス可能なデータを保存するプラットフォームとして使用します。APIについて説明します。[DigitalOceanでセットアップされたCoreOSクラスターの取得]の概要。これにより、1つのクラスターに3つのサーバーが残ります。coreos-1coreos-2coreos-3これらのマシンを稼働させたら、このガイドを続行できます。」が担当する最も基本的なタスクの1つは、個々のマシンをクラスターに編成することです。+`ファイルで提供されるディスカバリアドレスでチェックインすることにより、CoreOSが起動されるときに行われます。`からアクセスできます。+」ページにアクセスして、新しいトークンを取得できます。そこで、マシンがコンパニオンノードを発見するために使用できるトークンを取得します。https://discovery.etcd.io/新しいクラスターごとに新しいトークンを提供する必要があります。これには、同じIPアドレスを持つノードを使用してクラスターを再構築する必要がある場合が含まれます。+`インスタンスは混乱し、検出アドレスを再利用する場合、クラスターを構築するために正しく機能しません。Webブラウザーで検出アドレスにアクセスすると、既知のマシンを説明するJSONオブジェクトが返されます。最初に起動するとき、これにはノードがありません。{"action":"get","node":{"key":"/_etcd/registry/dcadc5d4d42328488ecdcd7afae5f57c","dir":true,"modifiedIndex":102511104,"createdIndex":102511104}}クラスターをブートストラップした後、ここで詳細情報を見ることができます。{"action":"get","node":{"key":"/_etcd/registry/1edee33e6b03e75d9428eacf0ff94fda","dir":true,"nodes":[{"key":"/_etcd/registry/1edee33e6b03e75d9428eacf0ff94fda/2ddbdb7c872b4bc59dd1969ac166501e","value":"http://10.132.252.38:7001","expiration":"2014-09-19T13:41:26.912303668Z","ttl":598881,"modifiedIndex":102453704,"createdIndex":102453704},{"key":"/_etcd/registry/1edee33e6b03e75d9428eacf0ff94fda/921a7241c31a499a97d43f785108b17c","value":"http://10.132.248.118:7001","expiration":"2014-09-19T13:41:29.602508981Z","ttl":598884,"modifiedIndex":102453736,"createdIndex":102453736},{"key":"/_etcd/registry/1edee33e6b03e75d9428eacf0ff94fda/27987f5eaac243f88ca6823b47012c5b","value":"http://10.132.248.121:7001","expiration":"2014-09-19T13:41:41.817958205Z","ttl":598896,"modifiedIndex":102453860,"createdIndex":102453860}],"modifiedIndex":101632353,"createdIndex":101632353}}クラスターのディスカバリーURLを見つける必要がある場合は、メンバーであるマシンのいずれかから見つけることができます。+」階層内から取得できます。+`エントリ内に保存されます。+`を実行しているマシンが起動すると、このURLの情報を確認します。独自の情報と他のメンバーに関するクエリを送信します。クラスター内の最初のノードは、明らかに他のノードに関する情報を見つけられないため、クラスターリーダーとして自身を指定します。後続のマシンも、情報とともにディスカバリーURLに接続します。彼らは、すでにチェックインしたマシンに関する情報を受け取ります。次に、これらのマシンの1つを選択して直接接続し、正常なクラスターメンバーの完全なリストを取得します。algorithm]を介して行われます。`内の隠しディレクトリ構造内に保存されます。+`が知っているマシンに関する情報を表示できます。`が新しいクラスターメンバーに渡す詳細は、これらのキーに含まれています。+`コマンドについては後で詳しく説明します。`と対話する2つの基本的な方法があります。APIおよびクライアントを介して。+`が現在保存しているものを見てみましょう。次のように入力すると、トップレベルキーが表示されます。//coreos.comご覧のとおり、1つの結果があります。この時点で、これがディレクトリであるかキーであるかは不明です。+`を試して、キーの値を確認するか、それがディレクトリであることを確認します。+`ノードの下にはかなりの数のディレクトリがありました。最終エンドポイントで情報を要求することで、ノードから実際のデータを取得する様子を確認できます。/coreos.com/updateengine/rebootlock/semaphore{"semaphore":1,"max":1,"holders":null}これには、私たちにとって非常に役立つ情報は含まれていません。`オプションを渡すことで、このエントリに関する追加のメタデータを取得できます。+`コマンドの前に配置する必要があります。+`コマンドを使用できます。+`コマンドを使用できます。datadataこれは、キーがまだ存在しない場合にのみ機能します。作成したキーの値を要求すると、設定したデータを取得できます。`コマンドは、ディレクトリにTTLまたは存続時間を設定している場合にのみおそらく有用です。これにより、TTL時間が更新されます。`-ttl#+`引数を渡すことにより、ディレクトリまたはキーのTTLを設定できます。`コマンドを使用します。+」コマンドの組み合わせと考えてください。newnewこれには、存在しないパスを含めることができます。パスコンポーネントは動的に作成されます。+`コマンドを使用できます。`コマンドは、現在説明されているようには機能しません。+`コマンドを反映しており、ディレクトリが既に存在する場合は失敗します。GitHubリポジトリには、これに対処するための未解決の問題があります。+`コマンドを使用できます。/a/b/cまた、再帰的に使用して、ディレクトリとすべてのサブディレクトリを削除することもできます。+`コマンドを使用します。/x/y/zこれを使用して、階層のエンドポイントのみを削除していることを確認できます。変更を監視する特定のキーまたはディレクトリ全体の変更を監視できます。+`で監視すると、監視対象に何らかのイベントが発生するまで操作がハングします。キーを監視するには、フラグなしで使用します。監視中に変更が検出されると、新しい値が返されます。+`フラグを使用します。/example値の状態を常に監視する単純なループ構造に配置することで、これがどのように役立つかを確認できます。"hello"これにより、そのディレクトリの値が変更されるたびに「hello」が画面にエコーされます。+`内に隠されたディレクトリ構造があることです。これらは、アンダースコアで始まるディレクトリまたはキーです。+`ツールではリストされていません。それらを見つけるには、何を探しているのかを知る必要があります。+`という隠しディレクトリがあります。明示的に要求することで、階層を確認できます。/_etcd/_etcd/machines/_etcd/machines/27987f5eaac243f88ca6823b47012c5b/_etcd/machines/2ddbdb7c872b4bc59dd1969ac166501e/_etcd/machines/921a7241c31a499a97d43f785108b17c/_etcd/configこれらは他のエントリとまったく同じように機能しますが、唯一の違いは一般的なリストに表示されないことです。キーまたはディレクトリ名をアンダースコアで始めるだけで作成できます。APIを使用することです。`のような単純なHTTPプログラムを使用できます。」フラグを指定する必要があります。クラスター内から、ほとんどのクエリに対してローカルの「+127.0.0.1」インターフェースとポート「4001」を使用できます。これは、アプリケーションが登録情報に基づいて構成を更新するのに役立ちます。トップレベルのキー/ディレクトリのリストを取得するには、次のように入力します。http://127.0.0.1:4001/v2/keys/{"action":"get","node":{"key":"/","dir":true,"nodes":[{"key":"/coreos.com","dir":true,"modifiedIndex":6,"createdIndex":6},{"key":"/services","dir":true,"modifiedIndex":333,"createdIndex":333}]}}リクエストの末尾のスラッシュは必須です。それなしでは正しく解決されません。通常のHTTP動詞を使用して値を設定または取得できます。+`構文を使用してリクエストの最後にフラグを渡すことができます。複数のフラグは、「&+」文字で区切ることができます。すべてのキーを再帰的にリストするには、次のように入力できます。.通常のキースペース以外でアクセスできるもう1つの有用な情報は、バージョン情報です。ここからアクセスできます。0.4.6このエンドポイントにアクセスすると、クラスターリーダーと各フォロワーとの関係に関する統計を表示できます。http://127.0.0.1:4001/v2/stats/leader{"leader":"921a7241c31a499a97d43f785108b17c","followers":{"27987f5eaac243f88ca6823b47012c5b":{"latency":{"current":1.607038,"average":1.3762888642395448,"standardDeviation":1.4404313533578545,"minimum":0.471432,"maximum":322.728852},"counts":{"fail":0,"success":98718}},"2ddbdb7c872b4bc59dd1969ac166501e":{"latency":{"current":1.584985,"average":1.1554367141497013,"standardDeviation":0.6872303198242179,"minimum":0.427485,"maximum":31.959235},"counts":{"fail":0,"success":98723}}}}同様の操作を使用して、現在使用しているマシンに関する統計を検出できます。http://127.0.0.1:4001/v2/stats/self{"name":"921a7241c31a499a97d43f785108b17c","state":"leader","startTime":"2014-09-11T16:42:03.035382298Z","leaderInfo":{"leader":"921a7241c31a499a97d43f785108b17c","uptime":"1h19m11.469872568s","startTime":"2014-09-12T19:47:25.242151859Z"},"recvAppendRequestCnt":1944480,"sendAppendRequestCnt":201817,"sendPkgRate":40.403374523779064,"sendBandwidthRate":3315.096879676072}実行された操作に関する統計を表示するには、次を入力します。+」を制御するために使用できる操作のほんの一部です。+`サービスはいくつかの異なる方法で設定できます。+`ファイルにパラメーターを渡すことです。ブートストラップガイドでは、これを行う方法について少し説明しました。`に含めるには、先頭のダッシュを外し、等号ではなくコロンで値からキーを分離します。+`ファイルを読み取ると、CoreOSはこれらをスタブユニットファイル内の環境変数に変換し、サービスを開始するために使用されます。`の設定を調整する別の方法は、APIを使用することです。7001+」ポートを使用して行われます。次のように入力すると、現在の構成値の一部を取得できます。http://127.0.0.1:7001/v2/admin/config{"activeSize":9,"removeDelay":1800,"syncInterval":5}PUT操作でデータペイロードとして新しいJSONを渡すことにより、これらの値を変更できます。http://127.0.0.1:7001/v2/admin/machines[{"name":"27987f5eaac243f88ca6823b47012c5b","state":"follower","clientURL":"http://10.132.248.121:4001","peerURL":"http://10.132.248.121:7001"},{"name":"2ddbdb7c872b4bc59dd1969ac166501e","state":"follower","clientURL":"http://10.132.252.38:4001","peerURL":"http://10.132.252.38:7001"},{"name":"921a7241c31a499a97d43f785108b17c","state":"leader","clientURL":"http://10.132.248.118:4001","peerURL":"http://10.132.248.118:7001"}]これは、DELETEメソッドを使用してクラスターからマシンを強制的に削除するために使用できます。+`を使用して、クラスター内の任意のマシンから情報を保存または取得できます。これにより、データを同期し、サービスが構成データと接続の詳細を検索する場所を提供できます。これは、クラスター内の任意の場所から有効なシンプルなエンドポイントを提供できるため、分散システムを構築するときに特に役立ちます。このリソースを利用することで、サービスは動的に構成できます。