¡Hola a todos! Mi nombre es Sai Venom y soy parte del equipo de IBM Cloud. Hoy quiero hablarles de Kubernetes y OpenShift. No sería justo comparar directamente estas dos herramientas, ya que Kubernetes es un proyecto de código abierto, mientras que OpenShift, por otro lado, es una oferta de Red Hat. Sin embargo, bajo la superficie, OpenShift está impulsado en realidad por algo llamado OKD o Distribución de Kubernetes de Origen, que incluye Kubernetes y una serie de otros proyectos de código abierto. Así que, tenemos Kubernetes, quizás tu tiempo de ejecución de contenedor favorito, como Docker, y si quieres aprovechar las capacidades de servicio de máquina, tenemos integraciones con Stor y otros proyectos de código abierto de los que hablaremos, pero vamos a hablar de algunas formas diferentes que destacan las diferencias entre trabajar con tus aplicaciones, ya sea que ejecutes estrictamente Kubernetes o si estás utilizando OpenShift.
Índice
Desplegando una aplicación
Desplegar una aplicación en Kubernetes puede ser un poco lento. Lo primero que haremos es asumir que tienes tu código en algo como GitHub. Luego, descargas ese código a tu máquina local y tal vez inicies un contenedor. Una vez que hayas hecho eso, tendrás que decidir dónde quieres alojarlo, es decir, el registro. Quizás quieras usar algo como Docker Hub o, si deseas un registro privado, tendrás que buscar una solución. Tengo que mencionar que si utilizas el Kubernetes gestionado de tu proveedor de nube favorito, generalmente tienen opciones para tener un registro o un registro privado directamente en esa experiencia. Una vez que está en ese registro, tendrás que averiguar tu historia de CI / CD, y aquí es donde las cosas se complican. Hay muchas opciones diferentes para implementar tus aplicaciones en Kubernetes. Por otro lado, en OpenShift, tienen un enfoque predeterminado. Todo lo que tienes que hacer es crear una aplicación y un proyecto, y OpenShift se encarga del resto. Creará esos pipelines y toda la automatización que necesitas para realizar pruebas de desarrollo y producción en tus aplicaciones, por lo que realmente facilita todo. Puedes empezar utilizando algo como el enfoque de Jenkins o las capacidades de source-to-image. Sin embargo, quiero mencionar que en Kubernetes tienes mucha más flexibilidad, ya que no tienes una forma prescrita de hacer esto. Para usuarios avanzados y equipos que están influenciados por arquitecturas heredadas, Kubernetes puede ser más eficaz. Para equipos que simplemente quieren que les digan cómo hacer todo y tener un enfoque simplificado para su enfoque de DevOps y pipeline, OpenShift facilita las cosas.
Gestionando tus aplicaciones
Veamos cómo se ve gestionar tus aplicaciones en Kubernetes. Puedes aprovechar los paneles de control predeterminados que vienen con cualquier distribución de Kubernetes, pero desafortunadamente, para la mayoría de los equipos de operaciones, eso no es suficiente. Tendrán que instalar paneles de control adicionales, como un stack ELK o utilizar herramientas como Grafana, por ejemplo. Las opciones son infinitas, así que básicamente hay que buscar la solución exacta que se ajuste a tu caso de uso. En OpenShift, por otro lado, hay una forma predeterminada y prescrita para hacer esto. Además, tienen una increíble consola web que se basa en la API de Kubernetes y viene con muchas capacidades diferentes para los equipos de operaciones y SREs para gestionar realmente sus cargas de trabajo. Además, tienen formas prescritas y predeterminadas de manejar los mismos paneles de control de los que hablamos antes, como utilizar el stack EFH. Entonces, nuevamente, al aprovechar algunos de sus instaladores automáticos y playbooks de Ansible, la gestión de aplicaciones es un poco más fácil, con la pequeña advertencia de que tienes que renunciar a cierta flexibilidad, ya que tienen enfoques prescritos.
Configuración de Nodo y operaciones diarias
Un clúster está compuesto de varias máquinas virtuales, ya sea virtualizadas o de metal, y configurar nuevas máquinas virtuales en ese clúster puede llevar bastante tiempo en Kubernetes. Configurar el auto-registro o la automatización de clústeres en la nube para crear nuevas máquinas virtuales y agregarlas al clúster lleva tiempo y requiere el desarrollo de scripts. Por otro lado, en OpenShift, es un poco más fácil. Tienen playbooks de Ansible e instaladores para agregar nuevas máquinas virtuales a tu clúster, por lo que es un proceso bastante sencillo. Incluso tienen formas de manejar el escalado automático, como la creación de nuevas máquinas virtuales en respuesta a la carga.
Seguridad
OpenShift y Red Hat intentan llenar los vacíos donde la comunidad de código abierto quizás no ha logrado hacerlo. Al trabajar con clientes empresariales reales, se dieron cuenta de que creando las mejores prácticas de seguridad desde cero, realmente pueden abordar algunos de los problemas que algunos clientes necesitan solucionar al utilizar Kubernetes. Permíteme hablar de algunas cosas aquí. En Kubernetes, lo más probable es que no estés trabajando en un proyecto por ti mismo. Hay un equipo de personas, cada una de las cuales debe tener diferentes permisos. Al principio, Kubernetes ni siquiera tenía algo como RBAC, que OpenShift solucionó. Ahora damos por sentado que tenemos RBAC y otras capacidades para hacer cosas como IAM. Sin embargo, al final del día, todas estas cosas deben ser desarrolladas y lleva tiempo. Por otro lado, en OpenShift, todo esto viene listo de fábrica. Cuando creas un proyecto, obtienes acceso a todos estos permisos de inmediato. Solo necesitas agregar a los usuarios y manejar cosas como el espaciado de nombres en Kubernetes y crear diferentes políticas de seguridad con las mejores prácticas. Todo esto viene de serie. Sin embargo, hay un pequeño inconveniente. Por ejemplo, en Kubernetes, puedes tomar prácticamente cualquier imagen de Docker Hub y esperar que se ejecute como se espera. Sin embargo, en OpenShift, hay permisos restringidos y los contenedores no se ejecutan como root, por lo que a veces las imágenes no se ejecutan como se espera. Este es un pequeño inconveniente por tener las mejores prácticas de seguridad en su lugar desde el principio, por lo que es algo que debes equilibrar. Al final del día, OpenShift no es una solución de talla única. Es muy importante comprender los fundamentos de Kubernetes que impulsan OpenShift. Para individuos y pequeños equipos de TI, OpenShift facilita muchas de esas tareas difíciles. Si quieres obtener más información, consulta la descripción para acceder a más enlaces. Si tienes alguna pregunta, no dudes en dejar un comentario, y si te gustó este contenido, asegúrate de suscribirte y estar atento a más videos en el futuro. ¡Gracias!
Tabla de resumen
Kubernetes | OpenShift |
---|---|
Proyecto de código abierto | Oferta de Red Hat |
Flexibilidad para desplegar aplicaciones | Enfoque opinionado para crear aplicaciones y proyectos |
Múltiples opciones para gestionar aplicaciones | Consola web y enfoque prescrito para gestionar aplicaciones |
Complejidad en la configuración de nodos | Playbooks de Ansible para agregar nodos |
Requiere desarrollar políticas de seguridad | Enfoque predeterminado con mejores prácticas de seguridad |
Preguntas frecuentes
1. ¿Cuál es la diferencia entre Kubernetes y OpenShift?
Kubernetes es un proyecto de código abierto, mientras que OpenShift es una oferta de Red Hat que incluye la distribución de Kubernetes llamada OKD.
2. ¿Cuál herramienta es más fácil de usar?
OpenShift tiene un enfoque más simplificado y prescrito, lo que facilita las tareas para los equipos de desarrollo y operaciones.
3. ¿Cuál herramienta ofrece más flexibilidad?
Kubernetes brinda más flexibilidad ya que no tiene una forma prescrita de desplegar aplicaciones, lo que permite a los usuarios avanzados seguir arquitecturas heredadas.
¡Gracias por leer! Recuerda revisar otros artículos relacionados en nuestro sitio web. Nos vemos en el próximo contenido.
¿Te ha resultado útil??
0 / 0
Hola, somos Mila Jiménez y César Sánchez. Dos apasionados de la ciberseguridad con muchos años de experiencia. Hemos trabajado en muchas empresas del mundo TI y ahora nos apetece compartir nuestro conocimiento con cualquiera que lo necesite.
¡Si te gusta nuestro contenido puedes invitarnos a un café AQUÍ!