diff --git a/site/features.md b/site/features.md index 4ba3fd60..bd839904 100644 --- a/site/features.md +++ b/site/features.md @@ -9,7 +9,7 @@ Weave has a few more features beyond those illustrated by the [basic example](https://github.com/weaveworks/weave#example): * [Virtual ethernet switch](#virtual-ethernet-switch) - * [Manual addressing](#manual-addressing) + * [Address allocation](#addressing) * [Application isolation](#application-isolation) * [Dynamic network attachment](#dynamic-network-attachment) * [Security](#security) @@ -54,13 +54,25 @@ now re-use the same tools and techniques when deploying applications as containers as we would have done when deploying them 'on metal' in our data centre. -### Manual addressing +### Address allocation -The examples so far have leveraged weave's [address allocation](#ipam) -and [discovery](#dns) features, meaning that we've not had to concern -ourselves with IP addresses at all. It is, however, possible to -specify address and network explicitly using [CIDR -notation](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation) +Containers are automatically allocated an IP address that is unique +across the weave network. You can see which address was allocated with +[`weave ps`](troubleshooting.html#list-attached-containers): + + host1$ weave ps a1 + a7aee7233393 7a:44:d3:11:10:70 10.128.0.2/10 + +Weave detects when a container has exited and releases its +automatically allocated addresses so they can be re-used. + +See the [Automatic IP Address Management](#ipam) documentation for +further details. + +Instead of getting weave to allocate IP addresses automatically, it is +also possible to specify an address and network explicitly, expressed +in +[CIDR notation](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation) - let's see how the first example would have looked: On $HOST1: @@ -91,7 +103,7 @@ Similarly, in the container on $HOST2... The IP addresses and netmasks can be anything you like, but make sure they don't conflict with any IP ranges in use on the hosts (including -those delegated to weave's [automatic IP address allocator](#ipam)) or +those delegated to weave's [automatic IP address allocator](ipam.html)) or IP addresses of external services the hosts or containers need to connect to. The same IP range must be used everywhere, and the individual IP addresses must, of course, be unique. diff --git a/site/ipam.md b/site/ipam.md index e1d9c22d..295bbf93 100644 --- a/site/ipam.md +++ b/site/ipam.md @@ -5,10 +5,13 @@ layout: default # Automatic IP Address Management -Weave can automatically assign containers an IP address that is unique -across the network. +Weave automatically assigns containers an IP address that is unique +across the network, and releases that address when a container +exits. This happens for all invocations of the `run`, `start`, +`attach`, `detach`, `expose`, `hide` and `launch-dns` commands, unless +the user explictly specified an address. Weave can also assign +addresses in multiple subnets. - * [Usage](#usage) * [Initialisation](#initialisation) * [Choosing an allocation range](#range) * [Automatic allocation across multiple subnets](#subnets) @@ -16,27 +19,6 @@ across the network. * [Stopping and removing peers](#stop) * [Troubleshooting](#troubleshooting) -## Usage - -Containers are automatically allocated an IP address when none is -specified when the container is started, e.g. - - host1$ weave launch && weave launch-proxy - host1$ eval $(weave proxy-env) - host1$ C=$(docker run -ti ubuntu) - -You can see which address was allocated with -[`weave ps`](troubleshooting.html#list-attached-containers): - - host1$ weave ps $C - a7aff7249393 7a:51:d1:09:21:78 10.128.0.1/10 - -Weave detects when a container has exited and releases its -automatically allocated addresses so they can be re-used. - -Automatic IP address assignment is available for the `run`, `start`, -`attach`, `detach`, `expose`, `hide` and `launch-dns` commands. - ## Initialisation Just once, when the first automatic IP address allocation is requested