ドッキングウィンドウクラスタのインストール領事

1.dockerミラーリングプル領事

 docker pull consul 

2.consul引数は詳細に

  • -net =ホストドッカーパラメータ、手動のステップを排除ドッカー分離ネットネームスペース上容器は、ポートマッピングを指定するように
  • -server領事は、サーバーまたはクライアントモードの動作をサポートするために、サーバはコアサービス発見モジュールであり、クライアントは主に前方の要求に使用されています
  • アドレスを変更するには、私たちのために-advertise通知アドレスは、クラスタ内の他のノードに宣伝しました。デフォルトでは、-bindアドレスが通知されます。
  • 領事を追加するように指定-retryジョインノードアドレス、失敗した試行の後に、異なるアドレスが複数回指定することができます
  • -client領事は、HTTPおよびDNSサーバを含むクライアントインタフェースのアドレスを、バインドします。デフォルトでは、これが唯一のループバック接続を許可する、「127.0.0.1」です。
  • アドレスは、結合の内部クラスタ通信を-bind。これは、クラスタ内の他のすべてのノードのIPアドレスがアクセスすることができるはずです。デフォルトでは、これが到達可能である必要があり、クラスタ内のすべてのノードに対応するために、「0.0.0.0」であります
  • このフラグは、データセンター内のサーバーの数を提供することが期待されて-bootstrap、期待しています。他のサーバーと一致して、この値を提供してはならない、または値が人口に焦点を当てる必要があります。あなたが指定した後、領事は、使用可能なサーバーの指定された数を待ってから、クラスタを起動します。自動選挙のリーダーを許可するが、従来の-bootstrapマークを使用することはできません、サーバーモードで実行する必要があります。
  • このフラグは、エージェントのステータスデータ格納ディレクトリを提供-data-DIR。これは、すべてのエージェントのために必要とされます。あなたが再起動するディレクトリが長続きする必要があります。彼らは、クラスタの状態を維持できなければならないので、これはサーバモードで動作しているエージェントのために特に重要です。また、ディレクトリは、ファイルシステムのロックの使用、適切でないかもしれない、ロードされたフォルダの特定のタイプ(例えばVirtualBoxのようなフォルダを共有)することを意味をサポートしなければなりません
  • クラスタ内で一意である必要があり、クラスタ内のこのノードの-node名前は、デフォルトでは、ノードのホスト名です。
  • ファイルがロードされます。このディレクトリの終わりを.jsonある場合-config-dirが設定ファイルを指定します
  • オープンハートに似-enable-スクリプトチェックサービスがアクティブであるかどうかを確認するために、
  • データセンターの名前-datacenter。提供されていない場合、デフォルトでは「DC1」です。領事は、複数のデータセンターのためのファーストクラスをサポートしているが、それは正しい構成に依存します。同じデータセンター内のノードは、単一のLANに配置する必要があります。
  • -ui - 内蔵のWeb UIのHTTPサーバと必要なルートを有効にします。これは、領事のWeb UIとバイナリファイルの別々のメンテナンスの必要性を排除します。
  • 指定されたIP -join、既存のクラスタに追加

3.領事を使用します

1. consul1と呼ばれる最初のノード、

 docker run --name consul1 -d -p 8500:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600 consul agent -server -bootstrap-expect 2 -ui -bind=0.0.0.0 -client=0.0.0.0 

詳細なポート
  • 8500:HTTPインタフェースとWeb UIにアクセスするためのHTTPポート。
  • 8300:通信ポートを介してサーバーのRPCポートの間で、同一のデータセンタ領事サーバ
  • 8301:農奴LANポート、ポートを介して同一のデータセンタ領事クライアント通信は、LANデータセンター内の現在の通信を処理するためのゴシップ
  • 8302:農奴、ポート、ポートを介して異なるデータセンターコンサルサーバ通信のWAN、他のデータセンターゴシップとの通信のプロセスを使用して、エージェントサーバ。
  • 8600:登録されたサービス発見のためのDNSポート。

コンテナのIPアドレスを確認してください2。

consul1 IPアドレスを見ます  docker inspect --format='{{.NetworkSettings.IPAddress}}' consul1

# 输出172.17.0.5

3.启动第二个consul服务(端口8501):consul2, 并加入consul1(使用join命令)

 docker run --name consul2 -d -p 8501:8500 consul agent -server -ui -bind=0.0.0.0 -client=0.0.0.0 -join 172.17.0.5  

4.启动第三个consul服务(端口8502):consul3, 并加入consul1(使用join命令)

 docker run --name consul3 -d -p 8502:8500 consul agent -server -ui -bind=0.0.0.0 -client=0.0.0.0 -join 172.17.0.5  

5.查看consul集群信息

 docker exec -it consul1 consul members 

// 可以看到集群里的三个节点
Node          Address          Status  Type    Build  Protocol  DC   Segment
618e9f617509  172.17.0.5:8301  alive   server  1.6.2  2         dc1  <all>
6ba34e2feb66  172.17.0.6:8301  alive   server  1.6.2  2         dc1  <all>
8cba36da0384  172.17.0.7:8301  alive   server  1.6.2  2         dc1  <all>

6.通过访问8500/8501/8502端口查看web界面

我是在阿里云上,记得开放安全端口

http://localhost:8500

おすすめ

転載: www.cnblogs.com/zhouqi666/p/11894670.html