1 、 报错 :
error: no se pudo ejecutar Kubelet: no se pudo crear kubelet: configuración incorrecta: kubelet cgroup driver: "cgroupfs" es diferente del docker cgroup driver: "systemd
2. Motivo: el
archivo kubelet controla los cgroupfs predeterminados, y el controlador de archivo utilizado por nuestro acoplador instalado es systemd, lo que causa inconsistencia y hace que la imagen no se inicie.
3. Procesamiento:
ahora hay dos formas, una es modificar Docker y la otra es modificar Kubelet.
La mayor parte de Internet dice modificar daemon.josn
#修改daemon.json
vi /etc/docker/daemon.json
#添加如下属性
"exec-opts": [
"native.cgroupdriver=systemd"
]
Esto hará que la ventana acoplable no se inicie correctamente después de la modificación, lo que provocará que se superpongan daemon.json y native.cgroupdriver = systemd en /lib/systemd/system/docker.service.
4. Modificación de la operación docker.service
(1) shell 前 查看 docker Cgroup Driver
shell> información de docker | grep controlador
ADVERTENCIA: Puente-nf-call-iptables está desactivado
ADVERTENCIA: Puente-nf-call-ip6tables se desactiva
Controlador de almacenamiento: overlay2
registro de conductor: JSON-archivo
cgroup Conductor: systemd
...
(2)修改docker.service
shell> vi /lib/systemd/system/docker.service
Busque
--exec-opt native.cgroupdriver = systemd y
cambie a:
--exec-opt native.cgroupdriver = cgroupfs
(3) shell docker
shell> systemctl daemon-reload
shell> systemctl restart docker
(4) 重启
shell de nacimiento > systemctl reiniciar nacimiento
(5) Verifique si el grupo k8s, el nodo es
shell normal > kubectl get node
NOMBRE ESTADO ROLES VERSIÓN DE EDAD
node140 Ready master 126d v1.17.0