linux – kubelet使用kubelet cgroup驱动程序失败:“cgroupfs”与docker cgroup驱动程序不同:“systemd”

cgroup驱动程序的配置正好在/etc/systemd/system/kubelet.service.d/10-kubeadm.conf中

Environment="KUBELET_CGROUP_ARGS=--cgroup-driver=systemd"

我还用cli检查了环境

$systemctl show --property=Environment kubelet | cat
Environment=KUBELET_KUBECONFIG_ARGS=--kubeconfig=/etc/kubernetes/kubelet.conf\x20--require-kubeconfig=true KUBELET_SYSTEM_PODS_ARGS=--pod-manifest-path=/etc/kubernetes/manifests\x20--allow-privileged=true KUBELET_NETWORK_ARGS=--network-plugin=cni\x20--cni-conf-dir=/etc/cni/net.d\x20--cni-bin-dir=/opt/cni/bin KUBELET_DNS_ARGS=--cluster-dns=10.96.0.10\x20--cluster-domain=cluster.local KUBELET_AUTHZ_ARGS=--authorization-mode=Webhook\x20--client-ca-file=/etc/kubernetes/pki/ca.crt KUBELET_CADVISOR_ARGS=--cadvisor-port=0 KUBELET_CGROUP_ARGS=--cgroup-driver=systemd

KUBELET_CGROUP_ARGS=--cgroup-driver=systemd

如何重现它:

> yum install -y docker-1.12.6
> systemctl启用docker&& systemctl启动docker
> setenforce 0
> yum install -y kubelet kubeadm
> systemctl enable kubelet&& systemctl启动kubelet
> systemctl daemon-reload
> systemctl重启kubelet
> kubelet日志

环境:

> Kubernetes版本(使用kubectl版本):1.7.3
>云提供商或硬件配置**:4核16G RAM
> OS(例如来自/ etc / os-release):CentOS Linux 7(Core)
>内核(例如uname -a):Linux 10-8-108-92 3.10.0-327.22.2.el7.x86_64#1 SMP Thu Jun 23 17:05:11 UTC 2016 x86_64 x86_64 x86_64 GNU / Linux
>安装工具:kubeadm

解决方法:

可能的原因

kubelet 1.7.3 not reading config file /etc/systemd/system/kubelet.service.d/10-kubeadm.conf #50748

Troubleshooting kubeadm

If you are using CentOS and encounter difficulty while setting up the master node, verify that your Docker cgroup driver matches the kubelet config:

docker info | grep -i cgroup
cat /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

If the Docker cgroup driver and the kubelet config don’t match, change the kubelet config to match the Docker cgroup driver. The flag you need to change is –cgroup-driver. If it’s already set, you can update like so:

sed -i "s/cgroup-driver=systemd/cgroup-driver=cgroupfs/g /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

这可以替换为:

CG=$(sudo docker info 2>/dev/null | sed -n 's/Cgroup Driver: \(.*\)/\1/p')
sed -i "s/cgroup-driver=systemd/cgroup-driver=$CG/g" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
上一篇:物联网架构成长之路(43)-k8s从入门到放弃


下一篇:Kubernetes Node节点主机名 修改