IDCFクラウド向けにはセットアップツールは用意されていないのでProvision a Deis Cluster on bare-metal hardwareとDeis in Google Compute Engineを読みながら参考にしていきます。Deisのバージョンは、v0.10.0を使います。GCEのサンプルはChefを使わない手動インストールなので、手順が透過的でわかりやすいです。やはりIaaSにロードバランサとDNSサービスが提供されていてAPIで操作できるのは便利です。特にDockerの場合は顕著です。残念ながらIDCFクラウドにはどちらもないので自分で解決していきます。DeisもCoreOSを使っているので、参考にするのはベアメタルのセットアップドキュメントになります。面倒ですが汎用的なセットアップ手順を学べるので良いことだと思うことにします。VagrantやChefでかんたん!という風潮もちょっとどうかと。
coreos: etcd: # generate a new token for each unique cluster from https://discovery.etcd.io/new discovery: https://discovery.etcd.io/87cb67ed880353c066d5a0dd63331a31 # multi-region and multi-cloud deployments need to use $public_ipv4 addr: $private_ipv4:4001 peer-addr: $private_ipv4:7001 fleet: # We have to set the public_ip here so this works on Vagrant -- otherwise, Vagrant VMs # will all publish the same private IP. This is harmless for cloud providers. public_ip: $private_ipv4 units: - name: etcd.service command: start - name: fleet.service command: start - name: stop-update-engine.service command: start content: | [Unit] Description=stop update-engine
$ eval `ssh-agent` $ ssh-add ~/.ssh/deis $ ssh -A core@10.1.0.249 ** ****** ddddd eeeeeee iiiiiii ssss ** ** ** d d e e i s s ** ********** d d e i s ****** ** d d e i s ** ** ** d d eee i sss ****** ****** d d e i s ****** ** d d e i s ** ** ** d d e e i s s ********** ** ddddd eeeeeee iiiiiii ssss Welcome to Deis Powered by CoreOS core@core3 ~ $
Your fleetctl client version should match the server. Local version: fleetctl version0.6.2+git, server version: fleetctl version0.6.2. Install the appropriate versionfromhttps://github.com/coreos/fleet/releases
fleetctlのバイナリをダウンロードして作業マシンにインストールします。
$ cd ~/Downloads $ wget https://github.com/coreos/fleet/releases/download/v0.6.2/fleet-v0.6.2-linux-amd64.tar.gz $ tar zxvf fleet-v0.6.2-linux-amd64.tar.gz $ sudo mv fleet-v0.6.2-linux-amd64/fleet* /usr/local/bin
$ git clone https://github.com/deis/deis.git $ cd deis $ make run ... Waitingfor deis-builder to start... fleetctl --strict-host-key-checking=false start -no-block builder/systemd/*.service Triggered job deis-builder.service start Your Deis cluster is ready to go! Continue following the README to login and use Deis.
$ fleetctl list-units UNIT DSTATE TMACHINE STATE MACHINE ACTIVE deis-builder-data.service loaded eece00ef.../10.1.0.249 loaded eece00ef.../10.1.0.249 active deis-builder.service launched eece00ef.../10.1.0.249 launchedeece00ef.../10.1.0.249 active deis-cache.service launched b142e819.../10.1.3.33 launchedb142e819.../10.1.3.33 active deis-controller.service launched eece00ef.../10.1.0.249 launchedeece00ef.../10.1.0.249 active deis-database-data.service loaded eece00ef.../10.1.0.249 loaded eece00ef.../10.1.0.249 active deis-database.service launched eece00ef.../10.1.0.249 launchedeece00ef.../10.1.0.249 active deis-logger-data.service loaded eece00ef.../10.1.0.249 loaded eece00ef.../10.1.0.249 active deis-logger.service launched eece00ef.../10.1.0.249 launchedeece00ef.../10.1.0.249 active deis-registry-data.service loaded eece00ef.../10.1.0.249 loaded eece00ef.../10.1.0.249 active deis-registry.service launched eece00ef.../10.1.0.249 launchedeece00ef.../10.1.0.249 active deis-router@1.service launched eece00ef.../10.1.0.249 launchedeece00ef.../10.1.0.249 active