Rolling Updates
- Service Update default: replace each replica, one at a time
- We can customize a lot of that update process
- Before going live in production, test this a lot
- Different apps handle session and reconnection differently
- Few apps do this well, even with orchestrator help
There will be quite a lot of hands on and demo examples for which we need:
New Testing Tool: httping
- Test a HTTP(s) connection similar to how ping works
- Shows HTTP response code, colors, CLI GUI and more
- https://hub.docker.com/r/bretfisher/httping/
- We'll use container image from Bret Fisher, but also avail on
- brew install httping
- apt-get install httping
- no easy build for Windows
docker run bretfisher/httping localhost
works everywhere
New Testing App: browncoat
- Simple web app with settings for acting badly
- https://hub.docker.com/r/bretfisher/browncoat/
- By default, no healthcheck, but functions correctly
- Different image tags and envvars for changing behavior
- Purpose: test rolling updates, rollbacks, and healthchecks
Requirements for the sub-section examples
Created a 3-node (or more) Swarm cluster
Created the swarm Visualizer service
docker run -it -d -p 5000:8080 -v /var/run/docker.sock:/var/run/docker.sock dockersamples/visualizer
Visualizer looks like this: