Changes for LISA

This commit is contained in:
Jerome Petazzoni
2015-11-10 04:00:54 -08:00
parent 33d29248bb
commit 9cb8e60e26
3 changed files with 61 additions and 42 deletions

View File

@@ -2,13 +2,14 @@
SETTINGS_BASIC = dict(
clustersize=1,
pagesize=12,
pagesize=15,
blurb="<p>Here is the connection information to your very own "
"VM for this intro to Docker workshop. You can connect "
"to the VM using your SSH client.</p>\n"
"<p>Your VM is reachable on the following address:</p>\n",
prettify=lambda x: x,
footer="",
footer="<p>You can find the last version of the slides on "
"http://lisa.dckr.info/.</p>",
)
SETTINGS_ADVANCED = dict(
@@ -21,10 +22,10 @@ SETTINGS_ADVANCED = dict(
prettify=lambda l: [ "node%d: %s"%(i+1, s)
for (i, s) in zip(range(len(l)), l) ],
footer="<p>You can find the last version of the slides on "
"http://view.dckr.info/.</p>"
"http://lisa.dckr.info/.</p>"
)
SETTINGS = SETTINGS_ADVANCED
SETTINGS = SETTINGS_BASIC
globals().update(SETTINGS)

View File

@@ -28,10 +28,10 @@ while addresses:
os.system("sudo apt-get -qy install python-setuptools pssh apache2-utils httping htop")
os.system("sudo easy_install pip")
os.system("sudo pip install docker-compose==1.4.2")
os.system("docker pull swarm:0.4.0")
os.system("docker tag -f swarm:0.4.0 swarm")
os.system("sudo curl -L https://github.com/docker/machine/releases/download/v0.4.1/docker-machine_linux-amd64 -o /usr/local/bin/docker-machine")
os.system("sudo pip install docker-compose==1.5.0")
os.system("docker pull swarm:1.0.0")
os.system("docker tag -f swarm:1.0.0 swarm")
os.system("sudo curl -L https://github.com/docker/machine/releases/download/v0.5.0/docker-machine_linux-amd64 -o /usr/local/bin/docker-machine")
os.system("sudo chmod +x /usr/local/bin/docker-machine")
os.system("echo 1000000 | sudo tee /proc/sys/net/nf_conntrack_max")
os.system("""sudo sed -i 's,^DOCKER_OPTS=.*,DOCKER_OPTS="-H unix:///var/run/docker.sock -H tcp://0.0.0.0:55555",' /etc/default/docker""")

View File

@@ -144,7 +144,7 @@ class: title
- This is the stuff you're supposed to do!
- Create [GitHub](https://github.com/) and
[Docker Hub](https://hub.docker.com) accounts now if needed
- Go to [view.dckr.info](http://view.dckr.info) to view these slides
- Go to [lisa.dckr.info](http://lisa.dckr.info) to view these slides
]
@@ -173,13 +173,13 @@ be run from the first VM, `node1`**.]
## Brand new versions!
- Engine 1.8.2
- Engine 1.9.0
- Compose 1.4.2
- Compose 1.5.0
- Swarm 0.4
- Swarm 1.0
- Machine 0.4.1
- Machine 0.5.0
---
@@ -1418,13 +1418,14 @@ ways to deploy ambassadors.
- Network plugins
- check out Docker Experimental Engine
<br/>(should land in stable releases soon)
- available since Engine 1.9
- Allow a flat network for your containers
- Often requires an extra service to deal with BUM packets
<br/>(broadcast/unknown/multicast)
- e.g. a key/value store (Consul, Etcd, Zookeeper ...)
- Load balancers and/or failover mechanisms still needed
@@ -1759,6 +1760,9 @@ class: title
- Great deployment platform ...
<br/>but no developer experience yet
Note: this slide probably needs an update, since KubeCon is happening
*right now* in San Francisco!
---
## Swarm (in theory)
@@ -1780,16 +1784,16 @@ class: title
## Swarm (in practice)
- Not stable yet (version 0.4 right now)
- Stable since November 2015
- OK for some scenarios (Jenkins, grid...)
- Great for some scenarios (Jenkins, grid...)
- Not OK (yet.red[*]) for Compose build, links...
- Requires extra effort for Compose build, links...
- Requires a key/value store to achieve high availability
- We'll see it (briefly) in action
.footnote[.red[*]By "not OK" we mean "requires extra elbow grease."]
---
## PAAS on Docker
@@ -1813,29 +1817,31 @@ class: title
## A few other tools
- Flocker
- Volume plugins (Convoy, Flocker...)
- manage/migrate stateful containers
- manage/migrate stateful containers (and more)
- Powerstrip
- sits in front of the Docker API
- great to implement your own experiments
- Weave
- Network plugins (Contiv, Weave...)
- overlay network so that containers can ping each other
- Powerstrip
- sits in front of the Docker API; great for experiments
- Tutum
- dashboard to manage feelts of Docker hosts
... And many more!
---
~~~
class: pic
![Here Be Dragons](dragons.jpg)
---
~~~
## Warning: here be dragons
@@ -1987,9 +1993,9 @@ class: pic
.small[
```
docker-machine create node1 --driver generic \
docker-machine create --driver generic \
--swarm --swarm-master --swarm-discovery token://$TOKEN \
--generic-ssh-user docker --generic-ip-address 1.2.3.4
--generic-ssh-user docker --generic-ip-address 1.2.3.4 node1
```
]
@@ -2126,9 +2132,9 @@ Name: 2ec2e6c4054e
.small[
```
docker-machine create node2 --driver generic \
docker-machine create --driver generic \
--swarm --swarm-discovery token://$TOKEN \
--generic-ssh-user docker --generic-ip-address 1.2.3.4
--generic-ssh-user docker --generic-ip-address 1.2.3.4 node2
```
]
]
@@ -2148,10 +2154,10 @@ To help you a little bit:
```
grep node[2345] /etc/hosts | grep -v ^127 |
while read IPADDR NODENAME
do docker-machine create $NODENAME --driver generic \
do docker-machine create --driver generic \
--swarm --swarm-discovery token://$TOKEN \
--generic-ssh-user docker \
--generic-ip-address $IPADDR \
--generic-ip-address $IPADDR $NODENAME \
</dev/null
done
```
@@ -2630,13 +2636,25 @@ Zero-downtime deployment (difficulty: medium)
## Going further
Use the new networking features (difficulty: medium)
- Create a key/value store (e.g. Consul cluster)
- Reconfigure all Engines to use the key/value store
- Load balancers can use DNS for backend discovery
Note: this is really easy to do with a 1-node Consul cluster.
---
## Going further
Harder projects:
- Try two-tier or three-tier ambassador deployments
- Two-tier or three-tier ambassador deployments
- Try overlay networking instead of ambassadors
- Try to deploy Mesos or Kubernetes
- Deploy to Mesos or Kubernetes
---