From 895cbb92ad3fe8b71f441fc27755ad9ecfda72bb Mon Sep 17 00:00:00 2001 From: Avinash Sridharan Date: Thu, 30 Jul 2015 14:19:57 -0700 Subject: [PATCH] There is an open issue #9837 because of which kubernets is not able to start the API server if the underlying kernel does not support memory limits for CGROUP. Apparently docker is able to detect this, but somehow this is not communicated to invocations from the remote API. Thus to get kubernets working on a local docker installation, its important to make sure that the memory and swap accounting are turned on in the kernel and passed as a parameter to the kernel when booting up. Hence added the required instructions as a pre-req for running kubernets in a local docker installation. --- docs/getting-started-guides/docker.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/docs/getting-started-guides/docker.md b/docs/getting-started-guides/docker.md index 48660c7ab64..69212489253 100644 --- a/docs/getting-started-guides/docker.md +++ b/docs/getting-started-guides/docker.md @@ -55,6 +55,25 @@ Here's a diagram of what the final result will look like: ### Prerequisites 1. You need to have docker installed on one machine. +2. Your kernel should support memory and swap accounting. Ensure that the +following configs are turned on in your linux kernel: +CONFIG_RESOURCE_COUNTERS=y + +CONFIG_MEMCG=y + +CONFIG_MEMCG_SWAP=y + +CONFIG_MEMCG_SWAP_ENABLED=y + +CONFIG_MEMCG_KMEM=y +3. Enable the memory and swap accounting in ther kernel at boot as command line +parameters as follows: +GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1" +NOTE: The above is specifically for GRUB2. + +You can check the command line parameters passed to your kenel by looking at the +output of /proc/cmdline + ### Step One: Run etcd