タグ

etcdに関するhohoho_ho2005のブックマーク (16)

  • etcd総選挙を眺めてみる - Qiita

    はじめに (2015/09/20追記) 初出時はv0.3.0くらいだったetcdも今の最新は2.2.0。起動時のオプションやAPIも非互換な形で変わってしまっているので、最新に合わせてお試し部分を少し修正。(@takiuchiさん、ご指摘ありがとうございます) etcdとRaft etcdはCoreOSで使われている軽量KVSで、Configurationなどの情報を複数のマシン間で共有できるようにする仕組みみたい。/etcに置かれた設定ファイルの置き換え的な意味合いで "etc" daemonなのかなと思ったが、語源を発見できず、もしかしたらぜんぜん違うかもしれない。 ともかく、etcdはKVSでありながら複数マシン間でのreplicationを実現している。まぁ、そんなKVSは沢山あるが、etcdで取っているアプローチがやや面白かったのでちょっと調べてみた。 まず、基になる考え方が、

    etcd総選挙を眺めてみる - Qiita
  • CentOS で始める etcd

    最初の etcd インスタンスを起動すると以下のようなメッセージと共に etcd が起動します。 bash-4.1# etcd -peer-addr 127.0.0.1:7001 -addr 127.0.0.1:4001 -data-dir machines/machine1 -name machine1 & [1] 42 bash-4.1# [etcd] Nov 22 18:05:35.464 INFO | machine1 is starting a new cluster [etcd] Nov 22 18:05:35.466 INFO | etcd server [name machine1, listen on :4001, advertised url http://127.0.0.1:4001] [etcd] Nov 22 18:05:35.467 INFO | peer se

    CentOS で始める etcd
  • Engineering at Monsanto: AWS上でのetcdのクラスタリング | Yakst

    バイオ化学メーカーのモンサントはAWS上にetcdのクラスタを展開している。興味があったので読んでみた。 概要 数ヶ月の間、我々のチームはAWS上で自動化されたDockerコンテナを構築することにフォーカスしている。我々はCoreOSを基盤として使おうと決めた。CoreOSはコンテナをコアとした軽量なOSだ。 各マシンのコンテナのスケジューリングとしてfleetを使っている。fleetはホストがターミネートされたとしてもコンテナを稼働させ続ける。 CoreOSとfleetはクラスタ内のすべてのマシンと、稼働しているコンテナの状態を共有する必要がある。 これにはetcdが効果的だ。etcdはクラスタの情報と共通のコンフィグを保存する分散キーバリューストアとして使われる。 巨大なプロダクション環境にて、etcdは3つもしくは5つのホストで稼働するよう設計されている。 Bootstrapの問題

  • Discoverd - r7km/s

    flynn/discoverdという、Golang製のService discovery systemを読んだ。 何ができるのか クラスタ内の全ホストでdiscoverd(とetcd)を動作させておくことで、 各ホストのアドレスやメタ情報、クラスタへのホストの追加や削除などの情報が簡単に購読できるようになる。 各ホストは名前ベースで管理されるため、同じ名前を持つホストを群として一律に扱うこともできる。 具体的には discoverdは各ホストから発行されるRegisterイベントとUnregisterイベントを検知し、 discoverdに対してsubscribeしていたクライアントにこれらのイベントを伝える機能を持っている。 例えばdiscoverdを動作させているあるクラスタにsubscribeしているクライアントは、 10.0.0.1と10.0.0.2のホストがこのクラスタに参加(=

  • CoreOS 上の Docker コンテナのサービス情報を registrator を使って etcd へ自動登録する - Qiita

    概要 registrator というサービス検出・登録・削除専用コンテナを使って、CoreOS 上に起動する Docker サービス(rails や redis, elasticsearch などポートを外部にさらすもの)を etcd へ自動登録するという話 サービス登録の選択肢 Docker をマルチホストで使おうと思ったときに出てくるのがサービスディスカバリの問題。例えば Web アプリケーションコンテナをロードバランサに登録しようと思ったとき、何らかの方法でアプリケーションコンテナがどのホストのどのポートで起動しているのか知らせる必要がある。 サービスディスカバリ用ミドルウェアとして Consul や etcd がある。そういったものに Docker コンテナとして起動したサービスを登録するには選択肢は 3 種類ある(他にもあるかもだけど) 起動するサービス自身が登録する: Webh

    CoreOS 上の Docker コンテナのサービス情報を registrator を使って etcd へ自動登録する - Qiita
  • Docker コンテナに bind (PortForward) されたポート番号をコンテナ内から取得する方法 - Qiita

    この 49168 を コンテナ内から 知りたかった 結論から言うと Docker Remote API を Unix domain socket 経由で叩いて jq で json パースして port 番号をゲットしました 方法はいろいろあるはず docker run の時に etcd か何かに port 番号を登録しておいてコンテナ内からアクセスするとか、それなら registrator を使えばいいじゃねとか、他にもいろいろあると思います。 ひとまず準備するものを最小限にしてみたつもりですが、更にシンプルな案があれば教えてください! ポート番号ゲットまでの流れ 簡単にお試しできる環境書いていきます。 1. Dockerfile

    Docker コンテナに bind (PortForward) されたポート番号をコンテナ内から取得する方法 - Qiita
  • Vulcand を使って Docker コンテナをブルーグリーンデプロイする - Qiita

    概要 vulcand という HTTP プロキシを使って Docker コンテナをブルーグリーンデプロイするという話。 Consul と Nginx を組み合わせて動的にロードバランスするという話とやりたいことは同じだと思う。 vulcand とは vulcand は、Mailgun というメール系 SaaS の開発チームが作った HTTP プロキシ。 etcd をバックエンドに利用した HTTP プロキシ 再起動なしで設定を反映できる HTTP API と CLI プラガブルなミドルウェア ゼロダウンタイムデプロイのサポート リアルタイムメトリクスレポート TLS と certificate の管理 といった特徴を持つ。設定ファイルを etcd に保存して再起動なしで設定反映できるというのが非常に便利なポイントだと思う。 vulcand の仕組み vulcand に 以下の 2 つの主要

    Vulcand を使って Docker コンテナをブルーグリーンデプロイする - Qiita
  • Raftを紹介する - obfuscatism

    はじめに Raft Consensus Algorithm の論文 “In Search of an Understandable Consensus Algorithm” http://ramcloud.stanford.edu/raft.pdf について簡単に紹介する。 また、論文のついでに読んでおくと理解が捗ると思われる文献(スライド、ウェブサイト)も紹介する。 というのも先日、ふと システム系論文紹介 Advent Calendar 2014 という物を私が立ち上げてしまったので、言い出しっぺの自分が先陣を切らせてもらう。 とはいえ今回の論文紹介にじっくり時間をかけて取り組めなかったため、雑な紹介になってしまう点はご了承いただきたい。 12月6日(土)に開催される 第3回 システム系論文輪読会 – connpass もあるため、輪読の発表会に興味のある方は是非参加いただきたい。 R

  • fleet で CoreOS + Vagrant の Cluster にデプロイする - Qiita

    Help us understand the problem. What is going on with this article?

    fleet で CoreOS + Vagrant の Cluster にデプロイする - Qiita
  • etcd/consulに認証情報を安全に保存する

    etcd/consulに認証情報を安全に保存する 分散Key-Valueストアとしてetcdやconsulの利用が増えている.ここにアプリケーションの設定値などを保存し,各ホストからそれらを購読して利用する. また,X-as-a-Serviceといった外部サービスの利用も多くなってきた.その場合API Tokenやパスワードといった認証情報が必要になる.PaaSやTwelve-factor的なアーキテクチャを採用する場合は,それらの値を環境変数に保存して利用することが多い(危険であるという意見はある.cf. http://techlife.cookpad.com/entry/envchain).etcdやconsulといった分散Key-Valueストアの利用を前提としたアーキテクチャでは,そこに外部に漏らしたくない設定値も一緒に保存してしまうのがシンプルになる. しかし,そういった設定値を

  • CoreOS内で使われている設定・ログ管理用Key-Valueストア「etcd 2.0」リリース | OSDN Magazine

    CoreOSで採用されているKey-Valueストア「etcd」開発チームは1月28日、初の安定版メジャーリリースとなる「etcd 2.0.0」を公開した。 etcdはCoreOSが設定やログの管理などで使用しているKey-Valueストア型データベース。共通の設定、サービスディスカバリー、スケジューラー調整などで利用されている。CoreOSだけでなくLinuxMac OS X、BSD系システムでも利用できる。Go言語で作成されており、コンセンサスアルゴリズムのRaftを利用して可用性のある複製ログを管理する。etcdを利用することで、サーバーダウンなどの障害が発生した時もアプリケーションがそのまま動くという。HTTPでアクセスできるAPIやSSLクライアント認証のオプション提供などの特徴を持ち、高速、高い信頼性もうたっている。CoreOSのほか、GoogleのKubernates、Pi

    CoreOS内で使われている設定・ログ管理用Key-Valueストア「etcd 2.0」リリース | OSDN Magazine
  • State of the Art in Microservices by Adrian Cockcroft - Qiita

    概要 2014 年の 12 月アムステルダムで行われた DockerCon のキーノートのひとつ "State of the Art in Microservices" についてのまとめとメモ。 開発スピードをあげるための組織再編 コンテナ化されたマイクロサービスアーキテクチャ Docker が普及したあとの開発スタイル といった内容が盛り込まれている。元のスライドとビデオはこちら スライド ビデオ 内容は Adrian が話していることに加え自分が調べたり学んだ内容を補足やメモとして追加しているので間違った理解をしているなと思ったらぜひ編集リクエストください :) キーノートをまとめることについては Adrian 人に許可をもらえました! @adrianco クラウドアーキテクトとして 6 年間 Netflix に勤めていた 現在は Battery Ventures という工業の会社の

    State of the Art in Microservices by Adrian Cockcroft - Qiita
  • Coordination Service(ZooKeeper,etcd ,consul) の比較

    概要 最近,consul,etcd,ZooKeeper といった,いわゆる Coordination Service(この名前は ZooKeeper の論文から拝借した)の実装が頻繁に行われている.記事では,開発が盛んな背景を踏まえた上で,オープンソース実装の Coordination Service の比較を行う. Chubby から現在まで Paxos が Google の手によって Chubby という形で実用化された後,故障検出+分散合意アルゴリズムを用いた高可用KVSという組み合わせによる Coordination Service のオープンソース実装がいくつが出てきた.そのはしりが ZooKeeper である.ZooKeeper は Hadoop ファミリではデファクトスタンダードの Coordination Service であり,Hadoop を初めとして HBase,M

  • CoreOS + Vagrant に etcd を使ってクラスタを構築する - Qiita

    目的 fleet を触るため、ローカルでテスト環境を構築します。 デモ用は Vagrant 環境が無難なので、Vagrant で CoreOS のクラスタ構築をします。 注意 Docker の話は出てきません etcd を使うために Golang 1.2 環境が必要です ローカルに etcd を立てる必要があります。 ゴール CoreOS を Vagrant で複数台起動しクラスタを構築し fleetctl list-machines で確認する 前提環境 Mac OS X 10.7.x Vagnrat 1.5.1 VirtualBox 4.3.10 Golang 1.2.1 etcd をセットアップ discovery 用の etcd をローカルに構築します --addr で指定している IP アドレスは virtualbox のゲートウェイの IP アドレスです。 うまく行かない場合は

    CoreOS + Vagrant に etcd を使ってクラスタを構築する - Qiita
  • CoreOS が提供してくれるもの - Qiita

    CoreOS の提供してくれる etcd と fleet を少し触って見たのでまとめることにします。 あんまり頑張って CoreOS のドキュメントを読んでいないので理解に間違いがある可能性があるので、編集リクエスト大歓迎です。 詳細なエントリー @mopemope が書いてくれています。詳細に知りたい方はコチラを読むと良いです。 入門と書いてある割にまったく入門ではないので注意。 CoreOS 入門 - Qiita CoreOS は Docker を提供してくれる便利 OS というイメージが広まってますが、それはあまり適切ではありません。 CoreOS はクラスター機能を持っているモダンな Linux です。もちろん Docker も入っていますが、それはベースの一つというだけです。Docker を使うだけなら Ubuntu に Docker をインストールして使う方が良いでしょう。 C

    CoreOS が提供してくれるもの - Qiita
  • Big Sky :: 分散環境情報サーバ etcd を使った設定共有の活用

    etcd って何と聞かれた場合、一言で言ってしまえば zookeeper なんだけど Documentation · CoreOS etcd etcd is a highly-available key value store for shared configuration and service discovery. http://coreos.com/docs/etcd/ coreos/etcd - GitHub https://github.com/coreos/etcd etcd の良い所は curl で使える様な簡単な API SSL Cert 認証もオプションとして使える ベンチマークで 1000s of writes/s per instance を出せるくらい速い Raft を使って正確に、確実に分散する という感じらしい。作ってるのは CoreOS。 etcd はキーを

    Big Sky :: 分散環境情報サーバ etcd を使った設定共有の活用
  • 1