kubelet因kubelet cgroup驱动程序失败:与docker cgroup驱动程序不同: [英] kubelet failed with kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"

查看:3021
本文介绍了kubelet因kubelet cgroup驱动程序失败:与docker cgroup驱动程序不同:的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

cgroup driver的配置在/etc/systemd/system/kubelet.service.d/10-kubeadm.conf

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

我还用cli检查了Environment

$ 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

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守护程序重新加载
  • systemctl重新启动kubelet
  • 小手日志

环境:

  • Kubernetes版本(使用kubectl version):1.7.3
  • 云提供商或硬件配置**:4核心16G RAM
  • OS(例如,从/etc/os-release中获取):CentOS Linux 7(Core)
  • 内核(例如<​​c5>):Linux 10-8-108-92 3.10.0-327.22.2.el7.x86_64#1 SMP 2016年6月23日星期四17:05:11 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
  • 安装工具:kubeadm
  • Kubernetes version (use kubectl version): 1.7.3
  • Cloud provider or hardware configuration**: 4 core 16G RAM
  • OS (e.g. from /etc/os-release): CentOS Linux 7 (Core)
  • Kernel (e.g. 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
  • Install tools: kubeadm

推荐答案

可能的原因

kubelet 1.7.3无法读取配置文件/etc/systemd/system/kubelet.service.d /10-kubeadm.conf#50748

对kubeadm进行故障排除

如果您正在使用CentOS,并且在设置主节点时遇到困难,请确认您的Docker cgroup驱动程序与kubelet配置匹配:

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

如果Docker cgroup驱动程序和kubelet配置不匹配,请更改kubelet配置以匹配Docker cgroup驱动程序.您需要更改的标志是--cgroup-driver.如果已设置,则可以这样更新:

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

这篇关于kubelet因kubelet cgroup驱动程序失败:与docker cgroup驱动程序不同:的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆