Docker
Docker is het buzzword van de huidige tijd. Minder zwaar dan virtuele machines, goede scheiding van de containers. Daarom een overzicht van de mogelijkheden.
Docker voor je Synology NAS-sen
Opdracht CT magazine mei 2016
[github.com/inovex/docker-orchestration TODO-app]
Getest met Debian 8 Jessie. docker.io zit in backports-repository
sudo docker network create todoapp_network
sudo docker run --net=todoapp_network --name=redis-master -d redis
sudo docker run --net=todoapp_network --name=redis-slave -d johscheuer/redis-slave:v1
sudo docker run --net=todoapp_network --name=frontend -d -p 3000:3000 johscheuer/todo-app-web:v1
sudo docker inspect frontend geeft het IP-adres waar je via poort 3000 de frontend kunt bereiken
Containers beheren met Compose
sla docker-compose op in /usr/local/bin en maak met CMD +x uitvoerbaar
ga naar de submap 1-Docker-Tools van de todo-app en voer onderstaand commando uit
sudo docker-compose up -d
sudo docker-compose port todoApp 3000
Dit commando geeft je het ip-adres terug
Machine voor verdelen containers
docker-machine create -d virtualbox cluster-store
docker $(docker-machine config cluster-store) run -d -p "8500:8500" -h "consul" progrium/consul -server -bootstrap -ui-dir /ui
omgevingsvariabele OPTIONS bewaart de configuratie voor de andere hosts
OPTIONS="-d virtualbox --swarm --swarm-discovery=consul://$(docker-machine ip cluster-store):8500 --engine-opt=cluster-store=consul://$(docker-machine ip cluster-store):8500 --engine-opt=cluster-advertise=eth1:0"
docker-machine create ${OPTIONS} -- swarm-master swarm-master
docker-machine create ${OPTIONS} swarm-node-00
docker-machine create ${OPTIONS} swarm-node--01
docker-machine ls toont de draaiende machines
eval $(docker-machine env --swarm swarm-master)
docker-compose up -d
Hiermee start je de todo-app over de 3 aangemaakte virtuele machines
Kubernetes host-overkoepelende orkestratie
export KUBERNETES_PROVIDER=vagrant
export NUM_NODES=3
export KUBERNETES_MEMORY=1024
export MASTER_USER=appuser
export MASTER_PASSWD=k8s-gEhEIm
./cluster/kube-up.sh
./cluster/kubectl.sh get nodes
controleert of ze alle 3 gestart zijn. kubectl.sh cluster-info toont info over de master en het cluster in zijn geheel