Daniel Lauzon
2017-01-25
docker run -it --rm -v $(pwd)/data:/data ubuntu
What if we are on a swarm?
These are the two solutions I got to work:
docker volume create -d rexray --name myvolume --opt=size=10
docker volume create -d rexray --name myvolume --opt=size=10 \
--opt=type=gp2
docker volume create -d rexray --name myvolume --opt=size=10 \
--opt=type=io1 --opt=iops=150
# -- create a volume
docker volume create -d rexray --name myvolume --opt=size=10
# -- run and attach from host 1
eval $(docker-machine env node1)
docker run --rm -it --name ubu -v myvolume:/mypath ubuntu
.. do things on myvolume
# -- run and attach from host 2
eval $(docker-machine env node2)
docker run --rm -it --name ubu -v myvolume:/mypath ubuntu
.. do things on myvolume
# -- create a volume docker volume create -d rexray --name myvolume --opt=size=10 # -- service runs container on random host # -- disk follows container docker service create --name ubu \ --mount type=volume,source=myvolume,target=/mypath \ ubuntu bash -c log-a-message
log-a-message ==
for i in $(seq 1 10); do \
echo $(date -Iseconds) host:$(hostname) Message $i>>/mypath/mylog.txt;
sleep 1;
done
Examples of databases which scale horizontally:
kubectl create -f cockroachdb-statefulset.yaml
CockroachDB
volumeClaimTemplates:
- metadata:
name: datadir
annotations:
volume.alpha.kubernetes.io/storage-class: anything
spec:
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: 1Gi
kubectl run -it --rm generator ...
kubectl scale statefulset cockroachdb --replicas=3
kubectl delete pod cockroachdb-1
Managed Persistence - Volume Drivers
Daniel Lauzon
@daneroo