<p>I am trying to use kubelet to start kubernetes api server as a staic pod, but failed with following errors:</p>

<pre><code>I0523 11:13:41.192680    9248 remote_runtime.go:41] Connecting to runtime service /var/run/dockershim.sock
I0523 11:13:41.196764    9248 kuberuntime_manager.go:171] Container runtime docker initialized, version: 1.12.3, apiVersion: 1.24.0
E0523 11:13:41.199242    9248 kubelet.go:1165] Image garbage collection failed: unable to find data for container /
E0523 11:13:41.199405    9248 event.go:208] Unable to write event: 'Post https://127.0.0.1:8443/api/v1/namespaces/default/events: dial tcp 127.0.0.1:8443: getsockopt: connection refused' (may retry after sleeping)
I0523 11:13:41.199529    9248 server.go:869] Started kubelet v1.6.4
I0523 11:13:41.199711    9248 server.go:127] Starting to listen on 0.0.0.0:10250
I0523 11:13:41.200017    9248 kubelet_node_status.go:230] Setting node annotation to enable volume controller attach/detach
I0523 11:13:41.203018    9248 server.go:294] Adding debug handlers to kubelet server.
E0523 11:13:41.207486    9248 kubelet.go:1661] Failed to check if disk space is available for the runtime: failed to get fs info for "runtime": unable to find data for container /
E0523 11:13:41.207554    9248 kubelet.go:1669] Failed to check if disk space is available on the root partition: failed to get fs info for "root": unable to find data for container /
E0523 11:13:41.214231    9248 kubelet.go:1246] Failed to start ContainerManager failed to initialise top level QOS containers: root container /kubepods doesn't exist
</code></pre>

<p>The full log is here: <a href="https://travis-ci.org/reachlin/k8s0/jobs/235187507" rel="nofollow noreferrer">https://travis-ci.org/reachlin/k8s0/jobs/235187507</a></p>

<p>This is the api server deployment yml: <a href="https://github.com/reachlin/k8s0/blob/master/roles/k8s/templates/apiserver.yml.j2" rel="nofollow noreferrer">https://github.com/reachlin/k8s0/blob/master/roles/k8s/templates/apiserver.yml.j2</a></p>

<p>Later, I found the error actually matters is:</p>

<pre><code>Failed to start ContainerManager failed to initialise top level QOS containers: root container /kubepods doesn't exist
</code></pre>

<p>after some research, i found the solution here: <a href="https://github.com/kubernetes/kubernetes/issues/43704" rel="nofollow noreferrer">https://github.com/kubernetes/kubernetes/issues/43704</a></p>

<p>by adding these two parameters to kubelet:</p>

<pre><code>    --cgroups-per-qos=false
    --enforce-node-allocatable=""
</code></pre>
