Consul-installation

提供:Dev Guides
移動先:案内検索

領事-インストール

デモンストレーションのために、-devモードを使用して開発者モードでconsulエージェントを使用します。 ローカルマシンのセットアップのためだけに、単一のシステムコンソールセットアップを行います。 本番環境ではこの単一ノードのconsulクラスターを使用しないでください。 Hashicorpは、単一ノードの領事クラスターのケースシナリオで既に言及しているように、データ損失は避けられません

Consulのインストール

Consulは、https://www.consul.io/downloadsl [www.consul.io/downloadsl]のダウンロードページからインストールできます。

Consulのインストール

マシンの[ダウンロード]セクションでバイナリパッケージを抽出できます。

$ cd Downloads
$ chmod +x consul
$ sudo mv consul/usr/bin/

ここで、*-devフラグ*を使用してconsulの使用を開始しましょう。

$ consul agent -dev -data-dir=/tmp/consul

出力は、次のスクリーンショットのようになります。

開発フラグ

これで、次のコマンドを使用して領事メンバーを確認できます。

$ consul members

出力は、次のスクリーンショットのようになります。

メンバー

あなたはこのノードに他のノードを結合したい場合-

$ consul join <Node 2> <Node 3>

または、ノード2および3で次のコマンドを実行できます-

$ consul join <Node 1>

コマンドラインを使用する

consulのコマンドラインはいくつかの異なるオプションで構成され、最も一般的に使用されるもののいくつかは次のとおりです-

  • agent -Consulエージェントを実行します。
  • configtest -構成ファイルを検証します。
  • event -新しいイベントを開始します。
  • exec -Consulノードでコマンドを実行します。
  • force-leave -クラスターのメンバーを強制的にクラスターから離脱させます。
  • info -オペレーターのデバッグ情報を提供します。
  • join -Consulエージェントをクラスターに参加させる。
  • keygen -新しい暗号化キーを生成します。
  • keyring -ゴシップ層の暗号化キーを管理します。
  • kv -キーと値のストアと対話します。
  • leave -Consulクラスターを終了し、無理なくシャットダウンする。
  • lock -ロックを保持するコマンドを実行します。
  • maint -ノードまたはサービスのメンテナンスモードを制御します。
  • members -Consulクラスターのメンバーを一覧表示します。
  • monitor -Consulエージェントからログをストリーミングします。
  • operator -Consulオペレーター向けのツールのクラスターを提供します。
  • reload -エージェントをトリガーして構成ファイルをリロードします。
  • rtt -ノード間のネットワーク往復時間を推定します。
  • snapshot -Consulサーバーの状態のスナップショットを保存、復元、検査します。
  • version -現在のConsulバージョンを出力します。
  • watch -領事の変更に注意してください。

領事テンプレート

consul-templateは、Consulインスタンスを照会し、ファイルシステム上の指定されたテンプレートをいくつでも更新するデーモンを提供します。 consul-templateは、更新プロセスの完了時に任意で任意のコマンドを実行できます。 このオプションは、すべてを手動で行うことなく、consulクラスターをセットアップするのに役立ちます。

consulテンプレートは、 /tmp/<ファイル名> .conf.tmpfl に作成されます。 Hashicorp Configuration Language (HCL)に従ってテンプレートが作成される言語。

このhttps://releases.hashicorp.com/consul-template/[page]からconsul-templateをダウンロードできます。

テンプレート

次のコマンドを使用して試してください-

$ ./consul-template -h

出力は、次のスクリーンショットのようになります。

テンプレート出力

このバイナリをより目立つスペースに移動して、ユーザーが毎回利用できるようにする場合。 次のコマンドを入力できます-

$ chmod +x consul-template
$ sudo mv consul-template/usr/share/bin/

デモのために、 nginx のサンプル構成を使用して、サービスとして使用します。 [[1]]

$ vim/tmp/nginx.conf.ctmpl

出力は、次のスクリーンショットのようになります。

nginx

設定ファイルは次のようになります-

{{range services}} {{$name := .Name}} {{$service := service .Name}}

upstream {{$name}} {
   zone upstream-{{$name}} 64k;
   {{range $service}}server {{.Address}}:{{.Port}} max_fails = 3 fail_timeout = 60
   weight = 1;
   {{else}}server 127.0.0.1:65535; # force a 502{{end}}
} {{end}}

server {
   listen 80 default_server;
   location/{
      root/usr/share/nginx/html/;
      index indexl;
   }
   location/stub_status {
      stub_status;
   }
   {{range services}} {{$name := .Name}}
   location/{{$name}} {
      proxy_pass http://{{$name}};
   }
   {{end}}
}

今consulテンプレートバイナリファイルを使用して、次のコマンドを実行してください-

$ consul-template \
 -template = "/tmp/nginx.conf.ctmpl:/etc/nginx/conf.d/default.conf"

前のコマンドでプロセスが開始されました。 後で別のターミナルを開き、次のコマンドを使用して、完全にレンダリングされたnginx.confファイルを表示できます。

$ cat/etc/nginx/conf.d/default.conf

出力は、次のスクリーンショットのようになります。

出力