kubelet错误:无法启动ContainerManager无法初始化顶级QOS容器:root容器/ kubepods不存在

时间:2017-05-23 11:26:57

标签: kubernetes

我正在尝试使用kubelet将kubernetes api服务器作为staic pod启动,但失败并出现以下错误:

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

完整日志位于:https://travis-ci.org/reachlin/k8s0/jobs/235187507

这是api服务器部署yml:https://github.com/reachlin/k8s0/blob/master/roles/k8s/templates/apiserver.yml.j2

后来,我发现错误实际上很重要:

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

1 个答案:

答案 0 :(得分:1)

经过一些研究,我在这里找到了解决方案:https://github.com/kubernetes/kubernetes/issues/43704

将这两个参数添加到kubelet:

    --cgroups-per-qos=false
    --enforce-node-allocatable=""