3

Consulは現在、パッケージ マネージャー形式で公開されていません。それを多くのシステムに分散させ、一貫した方法で確実にインストールするための良い方法は何ですか?

4

8 に答える 8

4

fpmを使用して、consul バイナリからパッケージを簡単に作成できることがわかりました。

fpm --verbose -s dir -t rpm -n consul -v 0.4 --url=http://consul.io --vendor=HashiCorp  --description "A distributed service discovery tool" ./consul_/consul=/usr/local/bin/consul

このコマンドは、現在の作業ディレクトリに rpm ファイルを作成します。'deb' を -t フラグとともに使用して、代わりに deb パッケージを作成することもできます。

fpm をまだインストールしていない場合は、rubygems を使用してインストールできます。

gem install fpm

FPM は、選択したパッケージ タイプを作成するために必要なツールを必要とするため、同様のシステム (RPM および DEB 用の Red Hat または Debain バリアント) にこれをインストールするのが最適です。

于 2014-07-29T06:14:40.030 に答える
3

consul は単一のバイナリであり、簡単な (再) 配布と取り扱いに最適です。.deb としてパッケージ化するのは、fpm を使用した単なる 3 ライナーです。

前提条件: fpm をインストールするgem install fpm

consul 0.6 の完全な動作例 (2016 年 1 月現在の最新バージョン):

wget -N https://releases.hashicorp.com/consul/0.6.0/consul_0.6.0_linux_amd64.zip
unzip -o consul_0.6.0_linux_amd64.zip
fpm --force --verbose -s dir -t deb -n consul -v 0.6 \
  --url=http://consul.io --vendor=HashiCorp  \
  --description "A distributed service discovery tool" ./consul=/usr/local/bin/consul
于 2015-12-29T10:03:08.517 に答える
3

dockerコンテナーとして配信します。

Dockerfileは次のようになります。

  1. wzipファイルを取得し、解凍します
  2. データと設定用のディレクトリを作成する
  3. consul.json 設定ファイルを追加
  4. 構成とデータ用のボリュームを作成する
  5. 領事館のポートを公開
  6. エントリポイントを定義する

Dockerfile は、おおよそ次のようになります。

RUN wget 'https://dl.bintray.com/mitchellh/consul/0.3.1_linux_amd64.zip' -O consul.zip && unzip -d /usr/bin consul.zip 
RUN mkdir -p /opt/consul/data /opt/consul/config
ADD consul.json /opt/consul/config/
VOLUME ["/opt/consul/data","/opt/consul/config"]
EXPOSE 8500
ENTRYPOINT ["/usr/bin/consul", "agent", "-config-dir=/opt/consul/config"]
CMD ["-server", "-bootstrap"]
于 2014-08-28T17:29:55.790 に答える
2

もう 1 つのオプションは、既存の Docker イメージの1 つを再利用することです。

たとえば、 progrium/consulは、Docker エコシステムで動作するように設計された優れたコンテナーです。

于 2015-01-27T10:23:55.963 に答える