タグ

ブックマーク / deeeet.com (4)

  • CoreOSクラスタにDockerコンテナをデプロイする | SOTA

    CoreOSクラスタにDockerコンテナをデプロイする Docker Meetup Tokyo #4 CoreOSの概要とDockerを実際に運用しようと思ったときにDockerが抱える問題をCoreOSがどのようにそれを解決するかについて発表した.デモではTerraformを使ってDigitalOcean上にCoreOSクラスタを立てて,デモアプリケーションコンテナを動的にスケールさせる様子を実演した(ソースは全てtcnksm/docker-meetup-4-demoにある). 雑感 簡単にMeetupの感想を書いておく. 今回はDockerそのものの発表よりも,オーケストレーションやサービスディスカバリーなどの周辺ツールやサービスの発表が多かった.ツール(もしくはDocker専用のOS)では,CoreOS,Kubernetes,RedHad Atomic host,サービスではAma

  • Go言語でテストしやすいコマンドラインツールをつくる

    記事はGo Advent Calendar 2014の18日目の記事です. Go言語は,クロスコンパイルや配布のしやすさからコマンドラインツールの作成に採用されることが多い.自分もGo言語でいくつかのコマンドラインツールを作成してきた.例えば,GitHub Releaseへのツールのアップロードを簡単に行うghrというコマンドラインツールを開発をしている. コマンドラインツールをつくるときもテストは重要である.Go言語では標準テストパッケージだけで十分なテストを書くことができる.しかし,コマンドラインツールは標準出力や標準入力といったI/O処理が多く発生する.そのテスト,例えばある引数を受けたらこの出力を返し,この終了ステータスで終了するといったテストは,ちゃんとした手法が確立されているわけではなく,迷うことが多い(少なくとも自分は結構悩んだ). 記事では,いくつかのOSSツール(得に

  • CoreOSクラスタ内のDockerコンテナの動的リンク

    CoreOSクラスタ内のDockerコンテナの動的リンク Dynamic Docker links with an ambassador powered by etcd 上記の記事を参考にCoreOSのクラスタ内で複数ホスト間にまたがりDockerコンテナを連携させる方法について検証した. 背景と問題 複数ホストにまたがりDockerのコンテナを接続する方法としてはAmbassador パターンが有名である.これはトラフィックを別ホストへforwardすることに特化したコンテナを立てる方法で,ホストに無駄な設定なし,かつDockerコンテナのみで行えるシンプルな方法である.例えば,あるホストからredis-cliを使って,別ホストで動くredisに接続する場合は以下のように接続する. (redis-cli) --> (ambassador) ---network---> (ambassad

  • Fleetの使い方,Unitファイルの書き方

    Fleetの使い方,Unitファイルの書き方 CoreOSに入門した | SOTA CoreOSではすべてのアプリケーションをDockerで動かす.このとき,コンテナによるサービスをCoreOSクラスタのどのマシンで起動するかをいちいち人手で決めるわけにはいけない.クラスタ内のリソースの状態や動いているサービスに基づき,適切なマシンでコンテナを動かすスケジューリングの仕組みが必要になる. このスケジューリングとコンテナの管理にCoreOSはfleetを用いる. fleetを使うとCoreOSクラスタが1つのinit systemで動いているかのようにそれを扱うことができるようになる.開発者はどのマシンでどのDockerコンテナが動いているかを気にする必要がなくなる. 例えば,5つのコンテナを動かす必要があれば,fleetはクラスタのどこかでその5つのコンテナが動いてることを保証する.もしコ

  • 1