docker & kubernetes
TRANSCRIPT
DEPLOYING DOCKER TOGOOGLE CLOUD PLATFORM
USING KUBERNETES
Troy Harvey@troyharveyGeneration Tux
https://www.docker.com/what-docker
http://www.eaiesb.com/blogs/?p=80
https://www.docker.com/survey-2016
1.DOCKERINDEV2.DEPLOYDOCKER
1
WAMP Vagrant
Shared drive on Dev server
php -S
webpackssh + vim (on prod)
Dev VM
python -m SimpleHTTPServer
virtualenvwrapper
bin/rails server
https://flurdy.com/docs/docker/docker_osx_ubuntu.html
☞Dockerfile Container Image
$ docker build -t us.gcr.io/kubernetes-demo/docker-demo.base:latest \-f ./docker/base.dockerfile .
USEBASEIMAGES
docker build -t us.gcr.io/kubernetes-demo/docker-demo:latest \-f ./docker/app.dockerfile .
12FACTORAPP RULE#3
DOCKERRUN
NATIVEFILESYNCINGdocker run -d -p 5000:5000 \-v ~/Projects/docker-demo/:/app \us.gcr.io/kubernetes-demo/docker-demo:latest
…don’t be mad, Vagrant.
2
STORINGDOCKERIMAGES
gcloud docker push us.gcr.io/kubernetes-demo-1327/docker-demo:latest
DEPLOYINGDOCKER
https://www.youtube.com/watch?v=8694GGJlpZ8
$ kubectl create -f ./kubernetes/flask-controller.jsonreplicationcontroller "flask-api" created
$ kubectl create -f ./kubernetes/flask-service.jsonservice "flask-service" created
$ kubectl get servicesNAME CLUSTER-IP EXTERNAL-IP PORT(S) AGEflask-service 10.3.249.175 104.154.233.1 80/TCP 2m
VERSION1.2DROPS
gcloud docker push us.gcr.io/kubernetes-demo/docker-demo:1.2.0
☝️
$ kubectl rolling-update flask-api \--image=us.gcr.io/kubernetes-demo/docker-demo:1.2.0
Scaling up flask-api-8e516770df4cc01c122ca27915b6d3bc from 0 to 3,scaling down flask-api from 3 to 0(keep 3 pods available, don't exceed 4 pods)
Scaling flask-api-8e516770df4cc01c122ca27915b6d3bc up to 1Scaling flask-api down to 2Scaling flask-api-8e516770df4cc01c122ca27915b6d3bc up to 2Scaling flask-api down to 1Scaling flask-api-8e516770df4cc01c122ca27915b6d3bc up to 3Scaling flask-api down to 0Update succeeded.Deleting old controller: flask-apiRenaming flask-api-8e516770df4cc01c122ca27915b6d3bc to flask-apireplicationcontroller "flask-api" rolling updated
👇