Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 当記事は 牛尾さんの記事:瞬殺で作るMesos + Chronos + Marathon + Dockerクラスタ環境をベースにしています。 上記牛尾さんの記事、そのっつさんの正月休みだし Mesos 触ってみたおよび、Azureの公式/非公式な多くのドキュメントを参考にしています。 みなさまありがとうございますmm TL;DR Azure Container ServiceがPublic Previewになったので、試してみました。 Public preview: Azure Container Service AzureのSubsc
Vagrant.configure(2) do |config| config.vm.define "host1" do |host1| host1.vm.box = "ubuntu/trusty64" host1.vm.hostname = "host1" host1.vm.network "private_network", ip: "192.168.33.10" end config.vm.define "host2" do |host2| host2.vm.box = "ubuntu/trusty64" host2.vm.hostname = "host2" host2.vm.network "private_network", ip: "192.168.33.11" end config.vm.provider "virtualbox" do |v| v.memory = "20
Dockerに新しく追加されたビルトインのオーケストレーションを試してみます。 このポストを書き終わった時点で、docker v1.12のオーケストレーション機能をマルチホストで試すよ on さくらのクラウドを見つけました。 すごくよく書かれているので少し気が引けますが、僕のポストはMacのローカルで試してみる、という点で若干の違いがあるのでこのままポストします。 手順の流れは下記の通りです。 Swarm Managerノードを作って、Swarm Workerノードを2つ追加する。 試しにnginxのコンテナを作る。 nginxのレプリカを複数作ってスケールアップする。 試しにレプリカをいくつか削除して挙動を確認する。 試しにWorkerノードを1つ削除して挙動を確認する。 ひとまずDockerを1.12にアップデートする 手持ちの環境がMac OS Xなので、Mac OS XにDocke
cloudpack大阪の佐々木です。 話題のDocker1.12を試してみようと思います。 まず、一番の目玉機能と思われるswarmの統合を試してみます。 チュートリアルを参考に(そのままですが・・・)、swarmの構築、サービスの追加、ローリングアップデートを試してみました。 Docker Swarmとは Dockerノードを束ねてクラスタを作る機能です。 以前からありましたが、先日発表された1.12からDocker本体に統合され、使いやすくなっているようです。 環境 Docker for AWSのPrivate Beatに申し込んでいますが、まだ返答はなく、Docker for Macではクラスタ感がいまいち味わえないので、EC2に1.12のDockerをインストールして試してみました。 インストール Amazon Linuxにインストールする方法がいまいち分からなかったので、下記を参
はじめに Docker Operationsのメモ。 以下のツールについて書いてある Docker Machine Docker Swarm Docker Compose Docker Composeは実際に手を動かしてないので、後日実際に動かして追記する。 Docker Machine ひとことで言うと 複数の環境に、Dockerのホストを構築する。 出典 : https://training.docker.com/self-paced-training インストール(ubuntuの場合) $ wget https://github.com/docker/machine/releases/download/v0.2.0/docker-machine_linux-amd64 $ sudo mv docker-machine_linux-amd64 /usr/local/bin/docker
経緯 Dockerホストを複数起動していたので、それらを1つのリソースプールにできないかなぁ...と思って ためしてみました。 ※Docker Swarmに関しては、割愛します。 事前準備 Dockerを1.12にアップデート `docker --version` Docker version 1.12.0, build 8eab29e swarm クラスタの初期化/起動 `docker swarm init --advertise-addr="192.168.99.100" --listen-addr=0.0.0.0:2377` 個別のノードの確認 `docker info` ``` Containers: 23 Running: 5 Paused: 0 Stopped: 18 〜(省略)〜 Swarm: active ``` 参考文献 https://docs.docker.com/e
# -*- mode: ruby -*- # vi: set ft=ruby : # Vagrantfile API/syntax version. Don't touch unless you know what you're doing! VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # If true, then any SSH connections made will enable agent forwarding. # Default value: false config.ssh.forward_agent = true config.vm.define "manager" do |d| d.vm.box = "ubuntu/trusty64" d.vm
扱っているdocker serviceの数が3桁とかになってくると、このnodeに依存しているserviceはどれだっけ? というような事を把握するのが大変になってきます。サービスの現在状態がローカルに存在してれば適当にgrepして探せるのですけど、docker service inspect して回らないといけないので大変です。 ということで、全てのserviceのinspect --prettyを列挙する以下のようなスクリプトを作りました。--prettyのほうが行志向なのでgrepとの相性が良いです。 ds_all.sh [-q] # !/bin/sh NAMES=`docker service ls | tail -n +2 | awk '{print $2}' | sort` n=0 N=`echo "$NAMES" | wc -l | bc` for I in $NAMES;
# !/bin/sh LIST=`docker ps -f name=$1 --format "{{.CreatedAt}}\t{{.ID}}"` N=`echo "$LIST" | wc -l` echo $N containers are found if [ "$N" = "1" ]; then echo ok exit fi LAST=`echo "$LIST" | sort | head -n-1` for I in "$LAST"; do ID=`echo $I | grep -o '[0-9a-f]*$'` PID=`ps aux | grep $ID | grep docker-containerd-shim | awk '{print $2}'` echo kill $PID kill $PID sleep 1 if ps -p $PID > /dev/null; the
自動ロールバック機能の概要 Docker v17.04から、Swarm Modeに自動ロールバック機能が追加された。 https://docs.docker.com/engine/swarm/services/#automatically-roll-back-if-an-update-fails 要するに、docker service updateした際にコンテナの起動に失敗した場合、 自動で前回docker service update(またはdocker service create)した際の設定でサービスをデプロイしてくれる機能になる。 v17.04以前でもdocker service update --rollback <service名>というコマンドを叩けばロールバックが実現できたが、 自動ロールバック機能を有効にしておけば、これを自動でやってくれる。 自動ロールバック機能を有
第2のドワンゴ Advent Calendar 2016の9日目の記事です。 こっちのアドベントカレンダーで数少ない現役社員のビビるです。普段は主にニコニコ生放送周りでWebpackやTypeScriptとかを触るフロントエンドエンジニアをやっています。 最近気になっていたDockerとswarmを使って、クラスタリングと監視をやってみたいと思います。 そもそもSwarmとは Dockerのバージョン1.12で追加された、Docker Engine内蔵のクラスタ管理機能です。 以前からあった Docker Swarmとは別物で、swarm modeと呼ばれたりします。詳細は公式ページを見て下さい。 今回やりたいこと DockerのサービスとしてWebサーバー、APIサーバーを建てる それらのログを収集して、よしなに表示してくれる環境を作る サーバーを準備する Dockerのv1.12では、
概要 vagrant up コマンド一発で Swarmモードの Docker Machine が複数台上がる状態をつくってみる。 プロビジョニングはAnsibleにて行う。(vagrantでansibleを使ったプロビジョニングまで実施されるように設定) 単純に Swarm の環境をつくるのなら、docker-machineコマンドで作っていくのが一番はやいですが、練習がてら今回はスッピンのCentOS7.2のBoxを使ってAnsibleを利用してプロビジョニングを行います。 けど、docker-machineとして認識されてないと、操作するのが辛いので、ローカルマシンからdocker-machineコマンドで確認可能になるところまでやります。 Vagrant と Ansible を触り始めてまだ1週間程度なので、もっとこうした方が良いとかあったら、ご意見頂けますと幸いです。 構築するのに
docker swarmがちょっと前のバージョンからdocker本体に取り込まれたとのこと・・・ Kubernetesよりもこちらの方が設定が簡単なので、試してみることにしました。 まずは、Managerノードのクラスタリングを確認してみます。 環境 CentOS7.3(CentOS Linux release 7.3.1611を最小構成インストール、firewall停止、selinux-disabled) 3ノード manager01 - 192.168.28.180(管理LAN) 192.168.100.180(サービスLAN) manager02 - 192.168.28.181(管理LAN) 192.168.100.181(サービスLAN) manager03 - 192.168.28.182(管理LAN) 192.168.100.182(サービスLAN) worker01 - 1
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く