Commit Graph

11 Commits

Author SHA1 Message Date
Ian Campbell
32e53cf769 kubernetes: Add boot.sh options to preserve state dir and to set MAC
Not having to redo the kubeadm-init.sh step massively speeds up the test/dev
cycle. Having the same MAC (and hence same IP) is useful there too since you
don't need to figure out the mac on each boot.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 12:24:59 +01:00
Ian Campbell
b6725a1b11 kubernetes: give more resources to worker nodes.
The sock-shop demo[0] requires around 5G of images on a worker node and 3G of
RAM (if there is only one worker node and therefore everything runs on that
node).

Since the master is more than happy with the 4G disk and 1G RAM it is given
today split the settings into master and node specific and bump only the
latter.

KUBE_PORT_BASE is unused and was already removed in 54ddde0d43 but
accidentally reintroduced (by me) in 62aa9248a4, whack it again.

[0] https://microservices-demo.github.io/microservices-demo

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 12:24:59 +01:00
Justin Cormack
56fe83292b Use ISOs to boot in the Kubernetes example
Because Kubernetes is 1.5GB, ISO makes sense as the files do not
take up memory, so you can boot a 1GB machine rather than a 4GB one.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-09 13:15:42 +01:00
Ian Campbell
431c8ebdd7 kubernetes: Assume moby and linuxkit tools are in $PATH
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-08 16:25:37 +01:00
Ian Campbell
6c3dd4e54a kubernetes: allow configuration of networking
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 17:23:29 +01:00
Ian Campbell
62aa9248a4 kubernetes: Expose VM parameters as envvars in boot.sh
Allows users to override.

I debated separate master and node options but decided not for now.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:17:22 +01:00
Ian Campbell
54ddde0d43 kubernetes: avoid OS specifics in boot.sh
Remove `-publish` (which is currently Linux/QEMU specific) and replace with a
generic $KUBE_RUN_ARGS envvar. Usage:

   KUBE_RUN_ARGS="-publish 2222:22" ./boot.sh

KUBE_PORT_BASE is thus obsolete and removed.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:17:22 +01:00
Ian Campbell
2cfac0e8bb kubernetes: Expose each node's ssh port on the host starting from 2222
Port base is configurable (via $KUBE_PORT_BASE envvar). Master uses this and
nodes use subsequent ports.

Check that the node number is numeric so we can add them to things, but avoid
worker node 0 since the port will clash with master.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-17 13:37:46 +01:00
Ian Campbell
c47b2c770c kubernetes: Create disk in state dir
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-13 11:08:44 +01:00
Ian Campbell
d4f601f6fb kubernetes: give each instance a specific state directory
In particular avoid all nodes sharing the same default directory.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-13 09:31:43 +01:00
Ian Campbell
ec2b56da5a kubernetes: Combine boot-{master,node}.sh into a single script
Easier to get a global view on what is happening.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-13 09:31:43 +01:00