¿Qué es KubeLinter?

Copiar URL

KubeLinter es una herramienta open source de análisis estático, también conocida como lint o linter, que identifica los errores de configuración y programación en las implementaciones de Kubernetes. La herramienta de línea de comandos analiza de forma automática los archivos YAML y los charts de Helm, y establece una comparación con la configuración de Kubernetes y las prácticas recomendadas de seguridad.

Lea la publicación del blog

La popularidad de Kubernetes, o bien de K8s, se debe a que permite implementar, gestionar y ajustar las aplicaciones en contenedores, no a su capacidad para protegerlos. Por lo general, las configuraciones de este sistema se definen en los archivos YAML, los cuales comprenden las personas, pero son complejos a la hora de crear configuraciones válidas según sea necesario. En este complejo lenguaje de programación (YAML), la validación estática por sí sola no puede detectar fácilmente los errores y las violaciones, lo cual deja a la vista los problemas de seguridad.

Y este aspecto es fundamental.

Según el informe de Red Hat sobre la adopción, la seguridad y las tendencias de mercado de Kubernetes para 2021, más de la mitad de los encuestados se vieron obligados a retrasar la implementación de las aplicaciones de Kubernetes en producción debido a problemas de seguridad. De ellos, el 94 % experimentó al menos un incidente de seguridad relacionado con la plataforma en 2020. Esto se debió principalmente a errores humanos, ya que casi el 67 % de los casos informados fueron errores de configuración ingresados de forma manual.

Aquí es donde entra en juego KubeLinter.

A finales de 2020, StackRox creó una herramienta para la detección de errores, que luego adquirió Red Hat a principios de 2021. Esta herramienta se diseñó específicamente para eliminar los errores de seguridad y mejorar la precisión de la configuración en las implementaciones de Kubernetes al comienzo del proceso de desarrollo. Verifica los archivos de configuración y se puede utilizar en los sistemas de integración continua (CI) para simplificar el proceso de actualización de los archivos YAML y los charts de Helm, sin dejar de aplicar las prácticas recomendadas de DevSecOps.

Como se trata de una herramienta open source que está disponible con la licencia Apache 2.0, los usuarios pueden contribuir al proyecto a través de la comunidad open source.

Descubra KubeLinter en GitHub

Recursos de Red Hat

Para verificar si los clústeres de Kubernetes están bien configurados y si se corrigieron los errores de programación antes de la implementación, KubeLinter accede a los charts y ejecuta varias pruebas que le permiten comprobar que sus ajustes sean los adecuados y que no tengan errores. Luego, envía mensajes con las fallas encontradas que impiden la instalación adecuada del chart, o bien mensajes de advertencia sobre todo aquello que no se ajuste a las prácticas recomendadas de seguridad.

El diseño de KubeLinter facilita su ejecución. Incluye 40 verificaciones de errores para los problemas de configuración más comunes de K8s, por ejemplo, la ejecución de un contenedor como usuario, la disparidad entre los selectores y el almacenamiento de datos confidenciales únicamente en secretos. Admite la configuración de verificaciones personalizadas y permite que los usuarios traten los ajustes como código. Gracias a esto, pueden incorporar la seguridad al proceso de desarrollo de las aplicaciones desde el comienzo.

KubeLinter es sumamente configurable. Los usuarios pueden crear, habilitar y deshabilitar sus propias reglas personalizadas con cambios mínimos en los flujos de trabajo y comentarios casi instantáneos sobre los errores de configuración y las violaciones a la seguridad.

KubeLinter se puede agregar a todas las herramientas de integración y distribución continuas (CI/CD), entre ellas GitHub Action, Jenkins, CircleCI y Travis CI, y puede buscar e identificar automáticamente errores en las configuraciones de las aplicaciones. Gracias a ello, los desarrolladores obtienen ayuda para resolver los problemas, y pueden detectarlos de manera automática durante todo el proceso de producción.

Las verificaciones predeterminadas de KubeLinter también se centran en la seguridad, por lo cual los usuarios deberán seleccionar manualmente si desean configurar Kubernetes de manera poco segura.

La descarga e instalación de KubeLinter solo tarda unos minutos. Se diseñó como un código binario independiente que utiliza el lenguaje de programación Go, el cual es comprensible para las personas. Además, es similar a kubectl, ya que se utilizaron algunos de los mismos paquetes de esta interfaz para crearla.

Si desea instalar KubeLinter, tiene varias opciones: utilizar Go para diseñar la interfaz de la línea de comandos de forma local, utilizar contenedores de Docker diseñados previamente, instalarla con Homebrew o diseñarla usted mismo a partir del código fuente. Luego, dirija la herramienta a los charts de Helm y los archivos YAML de Kubernetes para obtener resultados casi de manera instantánea.

Como se trata de una herramienta open source, los desarrolladores deben prever que sus elementos se modificarán a medida que se vaya desarrollando. Los cambios pueden incluir cuestiones relacionadas con los formatos de los archivos de configuración, los indicadores y el uso de los comandos.

Recomendaciones sobre la instalación de KubeLinter
Hub

Blogs de Red Hat

Aquí encuentras la información más reciente sobre nuestros clientes, partners y comunidades open source.

Todas las versiones de prueba de los productos de Red Hat

Con las versiones de prueba gratuitas de nuestros productos, podrás adquirir experiencia práctica, prepararte para obtener una certificación o evaluar las soluciones para saber si son adecuadas para tu empresa.

Más información

¿Qué es KubeVirt?

KubeVirt es un proyecto open source que permite ejecutar, implementar y gestionar máquinas virtuales (VM) con Kubernetes como plataforma de organización fundamental.

¿Qué es la migración activa?

La migración activa implica trasladar una máquina virtual de un host a otro sin interrumpir el acceso a ella.

¿Qué son los modelos Granite?

Granite es una serie de LLM creados por IMB para aplicaciones empresariales. Los modelos base de Granite respaldan los casos prácticos de inteligencia artificial generativa relacionados con lenguaje y código.

: lecturas recomendadas

Artículos relacionados