From b17c1cb423901963f5e0a9775572183917c7733e Mon Sep 17 00:00:00 2001 From: Filip Grzadkowski Date: Wed, 9 Dec 2015 13:54:00 +0100 Subject: [PATCH] Remove some prerequisites from single node docker cluster setup instructions. --- docs/getting-started-guides/docker.md | 65 +++++++++++++++------------ 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/docs/getting-started-guides/docker.md b/docs/getting-started-guides/docker.md index 1409a9dd2e0..e60c721b77e 100644 --- a/docs/getting-started-guides/docker.md +++ b/docs/getting-started-guides/docker.md @@ -44,6 +44,7 @@ Running Kubernetes locally via Docker - [Run an application](#run-an-application) - [Expose it as a service](#expose-it-as-a-service) - [A note on turning down your cluster](#a-note-on-turning-down-your-cluster) +- [Troubleshooting](#troubleshooting) ### Overview @@ -55,35 +56,7 @@ 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: - - ```console - 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 the kernel, at boot, as command line -parameters as follows: - - ```console - 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 kernel by looking at the - output of /proc/cmdline: - - ```console - $cat /proc/cmdline - BOOT_IMAGE=/boot/vmlinuz-3.18.4-aufs root=/dev/sda5 ro cgroup_enable=memory - swapaccount=1 - ``` - -4. Decide what Kubernetes version to use. Set the `${K8S_VERSION}` variable to +2. Decide what Kubernetes version to use. Set the `${K8S_VERSION}` variable to a value such as "1.1.1". ### Step One: Run etcd @@ -226,6 +199,40 @@ the cluster, you need to first kill the kubelet container, and then any other co You may use `docker kill $(docker ps -aq)`, note this removes _all_ containers running under Docker, so use with caution. +### Troubleshooting + +#### Node is in ```NotReady``` state + +If you see your node as ```NotReady``` it's possible that your OS does not have memcg and swap enabled. + +1. Your kernel should support memory and swap accounting. Ensure that the +following configs are turned on in your linux kernel: + + ```console + CONFIG_RESOURCE_COUNTERS=y + CONFIG_MEMCG=y + CONFIG_MEMCG_SWAP=y + CONFIG_MEMCG_SWAP_ENABLED=y + CONFIG_MEMCG_KMEM=y + ``` + +2. Enable the memory and swap accounting in the kernel, at boot, as command line +parameters as follows: + + ```console + 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 kernel by looking at the + output of /proc/cmdline: + + ```console + $cat /proc/cmdline + BOOT_IMAGE=/boot/vmlinuz-3.18.4-aufs root=/dev/sda5 ro cgroup_enable=memory + swapaccount=1 + ``` + [![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/docs/getting-started-guides/docker.md?pixel)]()