目的
諸事情があってawsのS3が利用できないけれども
開発用などでS3のクローンが手元に欲しい場合にZenko.ioを利用する。
免責事項
あくまでも開発・検証用なので注意。本番では利用しないこと。
(Zenko.ioのデプロイがtesting向けの設定のため)
手順
前提条件
- docker stack deployが利用できること
- dockerの17.03-ce以降が適切(多分)
手順概要
- zenko.ioのソースコード取得
- デプロイ
- 動作確認
手順詳細
zenko.ioのソースコード取得
docker stack deployする際のymlファイルが必要なので、
zenko.ioのソースコードリポジトリをgit cloneする。
git clone https://github.com/scality/Zenko.git
デプロイ
cd Zenko/swarm-testins
sudo docker stack deploy -c docker-stack.yml zenko-testing
しばし待つとイメージのpullとコンテナのセットの起動が完了する。
$ sudo docker stack services zenko-testing
ID NAME MODE REPLICAS IMAGE
mw3akyodtzsj zenko-testing_lb replicated 1/1 zenko/loadbalancer:latest
tvfobhecilb4 zenko-testing_s3 replicated 1/1 scality/s3server:latest
起動が完了したら動作確認に移る。
動作確認
バケットを作成
今回stackを立ち上げたのは、192.168.0.3だったので、
endpointにこれを指定して、bucket1を作成する。
$ export AWS_ACCESS_KEY_ID=accessKey1
$ export AWS_SECRET_ACCESS_KEY=verySecretKey1
$ aws s3 --endpoint http://192.168.0.3 mb s3://bucket1 --region=us-east-1
make_bucket: bucket1
ファイルをアップロード
たまたまtemplate.txt.j2なんてファイルがあったのでbucket1にアップロードしてみる。
ファイルのアップロード確認
$ aws s3 --endpoint http://192.168.0.3 cp template.txt.j2 s3://bucket1 --region=us-east-1
upload: ./template.txt.j2 to s3://bucket1/template.txt.j2
$ aws s3 --endpoint http://192.168.0.3 ls s3://bucket1
2017-09-19 23:20:09 100 template.txt.j2
無事、ファイルはアップロードされている。
今後のToDo
現状だとswarmkitを使ったstackしかないので、
Rancherカタログでも作ろうかと。