2016年4月22日金曜日

【Microsoft Azure】Azure Container Service がGAしたので改めてやってみる

試してみたらすぐにGA(一般供用開始)しましたね、ACS。
https://azure.microsoft.com/ja-jp/services/container-service/

ということで、ARMテンプレートを変更しなくても良くなったので、再度手順を確認しましょう。

ポータルからさくっと作れますので、スクリーンショットを交えて。
まずは「NEW」→「Containers」→「Azure Container Service」と選択。
















文章を下の「Create」をどうぞ。



















Dockerホスト(Ubuntu 14.04.4 LTSです!)のユーザー名、ログインのためのRSA公開鍵、サブスクリプション、リソース、ロケーションを入力して「OK」















オーケストレーションツールを「DC/OS(Mesos)」と「Swarm」から選んで「OK」
※今回はSwarmを選択してみた
















ACSの設定です。
エージェント数(コンテナホストのVM数ですね)、エージェントの仮想マシンのサイズ(デフォルトはStandard_D2)、マスターの数(冗長構成なら3以上)、DNSプレフィックスを入力して「OK」
















内容を確認して「OK」












料金などの注意事項を読んでから「Create」でACS構築開始












とにかく待つ


















できあがる










「Resource Groups」からリソースを選び、デプロイ履歴を確認。
「Outputs」の中に、MASTERFQDN、SSHMASTER0(ssh接続時のコマンド)、AGENTFQDN(実際のWebアプリのURI)があるので確認。

















SSHでつないで、dockerコマンドでプロセスを見る。
$ ssh xxx@xxxmgmt.japaneast.cloudapp.azure.com -A -p 2200
Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.19.0-58-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Fri Apr 22 04:20:31 UTC 2016

  System load:  0.43              Processes:              138
  Usage of /:   5.7% of 28.80GB   Users logged in:        0
  Memory usage: 3%                IP address for eth0:    172.16.0.5
  Swap usage:   0%                IP address for docker0: 172.17.0.1

  Graph this data and manage this system at:
    https://landscape.canonical.com/

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud


$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                                                                                                NAMES
0d9a7203292a        yeasy/simple-web    "/bin/sh -c 'python i"   26 seconds ago      Up 24 seconds       0.0.0.0:32771->80/tcp                                                                                                                xxx_web_1
822c18291112        swarm:1.1.0         "/swarm manage --repl"   11 minutes ago      Up 9 minutes        0.0.0.0:2375->2375/tcp                                                                                                               containers_swarm_1
618799d9ffee        progrium/consul     "/bin/start -server -"   11 minutes ago      Up 9 minutes        0.0.0.0:8300-8302->8300-8302/tcp, 0.0.0.0:8400->8400/tcp, 53/tcp, 53/udp, 0.0.0.0:8500->8500/tcp, 0.0.0.0:8301-8302->8301-8302/udp   containers_consul_1


以下の内容でdocker-compose.ymlを作成。
$ vi docker-compose.yml 
web:
  image: "yeasy/simple-web"
  ports:
    - "80"
  restart: "always"

docker-composeコマンドでデプロイ。そしてスケール。
$ docker-compose up -d
xxx_web_1 is up-to-date

$ docker-compose scale web=5
Creating and starting 2 ... done
Creating and starting 3 ... done
Creating and starting 4 ... done
Creating and starting 5 ... done

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                                                                                                NAMES
3e30842b5e74        yeasy/simple-web    "/bin/sh -c 'python i"   6 seconds ago       Up 3 seconds        0.0.0.0:32774->80/tcp                                                                                                                xxx_web_5
96776a5764b5        yeasy/simple-web    "/bin/sh -c 'python i"   6 seconds ago       Up 3 seconds        0.0.0.0:32773->80/tcp                                                                                                                xxx_web_4
f858be340919        yeasy/simple-web    "/bin/sh -c 'python i"   6 seconds ago       Up 3 seconds        0.0.0.0:32775->80/tcp                                                                                                                xxx_web_2
57943899efc4        yeasy/simple-web    "/bin/sh -c 'python i"   6 seconds ago       Up 4 seconds        0.0.0.0:32772->80/tcp                                                                                                                xxx_web_3
0d9a7203292a        yeasy/simple-web    "/bin/sh -c 'python i"   51 seconds ago      Up 49 seconds       0.0.0.0:32771->80/tcp                                                                                                                xxx_web_1
822c18291112        swarm:1.1.0         "/swarm manage --repl"   11 minutes ago      Up 9 minutes        0.0.0.0:2375->2375/tcp                                                                                                               containers_swarm_1
618799d9ffee        progrium/consul     "/bin/start -server -"   11 minutes ago      Up 9 minutes        0.0.0.0:8300-8302->8300-8302/tcp, 0.0.0.0:8400->8400/tcp, 53/tcp, 53/udp, 0.0.0.0:8500->8500/tcp, 0.0.0.0:8301-8302->8301-8302/udp   containers_consul_1

気になる点は、仮想マシンのスケールセットのCapacityに変更がない(でも問題なくdockerでスケールできてる)ことでしょうか?
仮想マシンもスケールしてました。

これで気楽に(お金は気にしてねw)DockerでDevOpsに入門してねー。

追記:Webアプリに繋がらんのでちょっと調べてみなければ...


0 件のコメント: