This domain may be for sale!
はじめに この記事はDocker2 Advent Calendar 2016の12日目の記事です。 このエントリではtraefikというGo製のリバースプロキシ兼ロードバランサをCoreOSクラスタ上にdockerコンテナとして展開し、サービスディスカバリを行う方法について書きます。 なお、検証で利用するCoreOSのクラスタ環境については、以前書いた、CoreOSのクラスタ環境(CoreOS+etcd+fleet)でdocker-composeを使う方法で作った環境で進めますが、適当なCoreOSのクラスタ環境であれば同じ方法で試せるかと思います。 使用ソフトウェアとバージョン CoreOS:stable 1185.5.0 docker:1.11.2 traefik:1.1.1 Traefikについて簡単な紹介 Traefikとは様々なバックエンド(docker、swarm、kubern
はじめに この記事はDocker2 Advent Calendar 2016の5日目の記事です。 このエントリではCoreOSのクラスタ環境(CoreOS+etcd+fleet)でdocker-composeを使う方法について書きます。 最近、Dockerをホスティングするための軽量OSとして、CoreOSを使うべく色々触っているのですが、標準で入っているfleetというオーケストレーションツールがシンプルでいい感じだと感じています。 しかし、同一ホストでコンテナ連携する機能が使いづらく(無いわけじゃない)感じたので、そこをdocker-compose入れてサンプルアプリケーションを立ち上げてみた際の内容になります。 ちなみに、少し古いですが、CoreOSに関する概要は以下に纏められており、参考になりました。 http://qiita.com/mopemope/items/fa9424b0
Dockerを使って開発していると、本番環境でもDockerを使ってみたいなぁという気持ちになります。ただ、本番環境でDockerを使うのは、個人的にまだまだハードルが高そうな印象です。マルチホスト間のネットワークはどうするか?分散システムのクラスタリングはどうするか?コンテナのスケジューリングは?監視は?ログは?デプロイの仕組みは?負荷が高い時の対応はどうするのか?セキュリティは?など、運用面で色々と考えなければなりません。さらにDocker界隈のツールは様々なツールが存在していてどれから手をつけていいのか選択に困ります。最初はなるべく小さく始めたいところです。なので、今回、本番環境を意識したDocker環境をより少ないツールで作れるかどうか試してみました。ひとまず、クラスタ組んで、マルチホストネットワーキング機能が試せるところまで。使ったツールは以下になります。 CoreOS - Do
EC2でCoreOSインスタンスを使ってDockerコンテナを動かす。Open Menu Home About ITOH Akihiko 京都の大学院を休学して、東京の広告代理店で働いています。 Learn More Email Twitter GitHub Posts All Posts All Tags akihiko.me blog.akihiko.me 追記1: JekyllのMarkdownエンジンが思い通りにコードをハイライトしてくれていないので、修正中です。 追記2: 上記対応のため{{と}}をエスケープしましたが、実際にはエスケープなしで読んでください。 CoreOS上でDockerコンテナを動かす。 Dockerコンテナはpublicなイメージだけでなく、S3と連携してprivateなイメージからも起動することを想定。 registryコンテナをlocalhost:500
書いたままになっていた記事を今更公開。 CoreOS のうんちく CoreOS の基板 こちら(CoreOS に入門した)のブログ記事がとても参考になったので写経しておく。 Docker etcd fleet Docker CoreOS ではサービスやアプリケーションは全て Docker コンテナ内で動かす コンテナ内で動かすことでプロセスの隔離、安全なリソース共有、アプリケーションのポータビリティを確保している 複数の CoreOS ノードでクラスタを構成する際に利用する為の KVS 機能を提供する KVS を利用して各種ノード間で設定を共有する fleet CoreOS の各ノードで稼働させるアプリケーション、サービスコンテナのスケジューリングとコンテナの管理を行う 環境 Windows 8.1 Pro Vagrant VirtualBox CoreOS の準備 git clone $
はじめに 今さらジローではあるが、自分の中で Docker を絡めたクラスタ構成について気になっているので CoreOS やその関連技術を改めて勉強してみたいと思う。CoreOS 等の各種情報については参考にさせて頂いた記事がとても詳しく参考になるので、そちらを都度確認しつつ理解を深めていきたい。 今回は以下を学びたい。 Vagrant で CoreOS ノードを複数起動する etcd と fleet をザクっと触る fleet で Docker コンテナクラスタを管理する 起動したコンテナのサービスを registrator で etcd に登録する etcd に登録したサービスの情報を利用して HAProxy の設定に反映させる 構成 今回、教材として利用する構成は以下の通り。 参考 http://deeeet.com/writing/2014/11/20/fleet/ http://
Dockerを利用する際に、コンテナを動かすための環境の1つとしておすすめしたいのがCoreOSだ。CoreOSでは簡単にコンテナの実行環境を構築でき、さらに複数台のCoreOSマシンを組み合わせて連携させる機能も用意されている。今回はCoreOSを使ってサービスを構築するための基礎知識と、実際の作業の流れを紹介する。 Dockerなどを使ったコンテナの利用に特化したCoreOS 近年注目されている「コンテナ」技術は、VMwareやXen、KVMといった仮想化技術と同様にハードウェアやOSとは独立した環境を構築でき、また仮想化を利用するよりも低コストで利用できることで注目を集めている。しかし、Dockerを使ってサービスを実際に運用する場合、どういった環境を用意すれば良いか迷うケースもあるだろう。その解答の1つに、コンテナを稼動させることに特化したLinuxディストリビューションであるCo
Hyper-Vの仮想マシンにCoreOSを入れてみた。 のでまとめてみる 公式サイトから coreos_production_iso_image.iso をダウンロードしてそこからブート sudo passwd core でPasswordを設定してからのSSH接続 coreユーザーに一応パスワード設定するためのハッシュ生成に「openssl passwd -1」 PuTTygenでSSH鍵生成 cloud-configをちまちまと設定 sudo coreos-install -d /dev/sda -c config でインストール 停止してブートに使ったイメージ切り離してからの起動、からの設定適用にもう一度再起動 以上で完成? こんなかんじで出来たっぽい cloud-configはこんなかんじにしてみた #cloud-config users: – name: core passwd:
Updating the applicationNow we are going to update your application. Normally, we would expect that you specify a higher version of the Docker image into unit file. But instead of changing the version of the image to be executed change the value of the environment variable RELEASE in the unit template file paas-monitor\@.service. [bash] sed -i -e ‘s/–env RELEASE=[^ ]*/–env RELEASE=v2/’ paas-monit
Speaking at CoreOS Meetup Tokyo #1 http://coreos-meetup-tokyo.connpass.com/event/12596/ - fleet 0.9.2 - etcd 0.4.9
4/9(木) に開催された CoreOS Meetup Tokyo #1 に行ってきました。 3時間の中でイントロ除いて発表が7つあり、かなり内容が濃かったです。 一番面白かったのは @kawamuray さんの Docker に CRIU を実装した発表でした。 CRIU はコンテナ界隈でも注目度が高い技術のようで、近い将来、この時デモで見たような機能が誰でも使えるようになるかと思うととても楽しみです。 また、Wantedly や pixiv で実際にプロダクション環境で運用している話も聞けたのは収穫でした。 コンテナ技術は運用ノウハウがまだ業界的に溜まっておらず、各社手探りでやっている印象を受けました。 一方で、@higebu さんの次のコメントが特に印象に残りました。 バグは何にでも存在するからバグを恐れてたら何もできないんだよな #coreosjp— Yuya Kusakabe (
CoreOS Meetup Tokyo #1 での発表資料。 etcd, fleet オフにして使ってるので期待した内容ではないかもですが... http://coreos-meetup-tokyo.connpass.com/event/12596/
CoreOS が提供する flannel を使って、複数の CoreOS マシンを跨いで Docker コンテナ同士通信できるようにする、というお話です。 もともと Kubernates には似たようなホスト間通信機能がついていたのですが、Google Compute Engine (GCE) 上でしか使えないという欠点がありました。これを取り出し、汎用的に使えるようにしたのが flannel です。 また、似た機能を持つものに weave がありますが、weave は導入が少々面倒な上に相手ホストの IP を明示的に指定してあげないといけません。その点 flannel は CoreOS 上での導入が簡単で、相手の IP を知らなくてもよく透過的に利用できるという利点があります。ホストに割り振られる IP が不定である EC2 + VPC 構成でも使いやすいでしょう。 イメージ図はこんな感
1. はじめに CoreOSに入門してみました。 CoreOSはミニマムな新しいOSで、etcdというものでクラスタが組めてfleetというもので分散環境が構築できるらしい。 分散環境を構築したCoreOSクラスタ上で、Dockerによってアプリケーションを動かすらしい。 という程度の知識からスタートです。 何事もまずはインストールしないと、ということで本記事ではISOイメージからCoreOSのVMを作成してみます。 また、CoreOSのCloud-Configという機能も使ってみます。 2. ダウンロード まずはISOイメージをダウンロードします。 ISOダウンロードページから最新のStable版をダウンロードします。 サイズは136MBでした。 2014/11/2現在でのStable最新版はこんな感じです。 CoreOS 444.5.0 Kernel 3.16.2 Docker 1.2
概要 registrator というサービス検出・登録・削除専用コンテナを使って、CoreOS 上に起動する Docker サービス(rails や redis, elasticsearch などポートを外部にさらすもの)を etcd へ自動登録するという話 サービス登録の選択肢 Docker をマルチホストで使おうと思ったときに出てくるのがサービスディスカバリの問題。例えば Web アプリケーションコンテナをロードバランサに登録しようと思ったとき、何らかの方法でアプリケーションコンテナがどのホストのどのポートで起動しているのか知らせる必要がある。 サービスディスカバリ用ミドルウェアとして Consul や etcd がある。そういったものに Docker コンテナとして起動したサービスを登録するには選択肢は 3 種類ある(他にもあるかもだけど) 起動するサービス自身が登録する: Webh
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く