Introducción
La configuración donde se produce el error es:
- Computadora: RAM 16GB, disk 513GB con un procesador 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
- Sistema: Ubuntu 22.04.4 LTS
- Kubernetes: A kind cluster con 3 nodes (incluyendo control-plane) que arranca por defecto
El error se produce cuando se ejecuta comando vagrant up para arrancar un segundo cluster usando libvirt/kvm con 4 VMs de 2GB de RAM. La siguiente imagen resumen el escenaario.
Procedimiento
- Revisamos los actuales limites del sistema ejecutando:
ulimit -ny otenemos como resultado que1024 - Posteriomente, revisamos la configuracion del kernel para las claves
inotifyejecutandosudo sysctl -A | grep inotify. Como resultado tenemos:
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 128
fs.inotify.max_user_watches = 65536
user.max_inotify_instances = 128
user.max_inotify_watches = 65536
- Parece que la solución podría ser aumentar las claves intofiy limits debido a que el error es un fallo parece producirse cuando se están creando intofiy
- Para aumentar los valores de las claves de kernel mencionadas anteriormente, en el directorio
/etc/sysctl.d/ejecutamos el siguiente comandosudo sysctl -A | grep inotify | sudo tee 20-inotify-custom-configuration.conf - Como resultado del paso anterior se habrá creado el fichero
/etc/sysctl.d/20-inotify-custom-configuration.confcon el siguiente contenido
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 128
fs.inotify.max_user_watches = 65536
user.max_inotify_instances = 128
user.max_inotify_watches = 65536
- Lo editamos y aumentamos los valores de las claves
fs.inotify.max_user_instancesyuser.max_inotify_instances, por ejemplo hasta 256, quedando el contenido de la siguiente forma
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 256
fs.inotify.max_user_watches = 65536
user.max_inotify_instances = 256
user.max_inotify_watches = 65536
- Posteriormente, para cargar los nuevos valores del kernel ejecutamos el comando
sudo systemctl restart systemd-sysctl. Nota: es probable que durante este paso tengamos un mensaje de errorFailed to allocate directory watch: Too many open files - Finalmente, comprobamos que los nuevos valures se han cargado ejecutando
sudo sysctl -A |grep inotifyy volvemos a ejecutar el comand ǜagrant up`para arrancar el segundo cluster de kubernetes






