Ir al contenido principal
BlogContenedores (Kubernetes, Docker)Respuestas a las principales preguntas sobre Kubernetes

Respuestas a las principales preguntas sobre Kubernetes

Top-Kubernetes-Questions-Answered

Tras nueve eventos sobre Kubernetes y siete años trabajando con el proyecto Kubernetes como parte de nuestro propio desarrollo, hemos pasado una buena cantidad de tiempo hablando con la comunidad de desarrolladores. En cada evento al que asistimos, vemos una gama de etapas de adopción y recibimos preguntas sobre la complejidad y la viabilidad. Estas son algunas de nuestras principales preguntas y respuestas sobre Kubernetes.


Probando las aguas: ¿Debo empezar a utilizar Kubernetes para mi aplicación?

Billy Thompson, ingeniero principal de soluciones de Linode, asistió a la última KubeCon en Europa. Esto es lo que escuchó de los desarrolladores que están empezando a experimentar con Kubernetes.

"Mucha gente todavía estaba explorando Kubernetes y hablando con otros desarrolladores para aprender más sobre la plataforma. En muchos casos, estaban allí para aprender todo lo posible y llevar esa información a sus equipos. Podríamos llamar a estas misiones "de investigación" para ayudar a decidir si Kubernetes sería viable para sus proyectos en un futuro próximo."

Esto no fue del todo sorprendente y es importante recordar que K8s es todavía una tecnología relativamente nueva. A pesar de las principales ventajas, como el escalado automático y la portabilidad, los cambios importantes en la infraestructura y las aplicaciones son costosos y requieren mucho tiempo. Si su despliegue heredado está funcionando bien, la adopción de una nueva plataforma es difícil de justificar. Sin embargo, siempre hay que pensar en la preparación para el futuro para cuando el escalado de su entorno en su estado actual se vuelva inevitablemente torpe, poco práctico o imposible.

Diseño y refactorización: ¿Qué se necesita para empezar a usar Kubernetes?

Tanto si te estás preparando para refactorizar una aplicación existente como si estás empezando desde cero, vamos a hablar de lo que se necesita para empezar. Le pregunté a Todd Becker, uno de nuestros ingenieros dedicados a Linode Kubernetes Engine (LKE), cuál sería su consejo para alguien que se acerca a las cargas de trabajo en contenedores por primera vez. Quería hablar de lo intimidante que puede ser refactorizar aplicaciones monolíticas para aprovechar realmente Kubernetes u otras herramientas nativas de la nube.

"Para utilizar completamente la belleza de Kubernetes, muchas aplicaciones necesitarían ser ajustadas. Sin embargo, la mayoría de las aplicaciones pueden ejecutarse en Kubernetes sin mucha refactorización y seguir viendo beneficios significativos."

Así que, aunque sería ideal, necesitas no necesita un conjunto completo de arquitectura de microservicios para empezar a utilizar Kubernetes y contenedores. Todavía puede aprovechar la portabilidad, la escalabilidad y la consistencia del entorno con una aplicación monolítica. Sin embargo, estas son generalizaciones. Cada aplicación tendrá sus propios requisitos, pero es importante entender que las aplicaciones heredadas no están necesariamente excluidas de la contenedorización.

Listo para Go: ¿Cuál es una buena herramienta para ayudarme a empezar?

Si está preparado para empezar a desarrollar de forma nativa para Kubernetes, las herramientas y metodologías pueden ayudar a agilizar la experiencia. Los procesos de integración continua y entrega continua (CI/CD ) están reduciendo el tiempo de desarrollo a producción.

Todd recomienda encarecidamente Skaffold, "el mejor amigo del desarrollador de Kubernetes", desarrollado por Google en 2019. Esto es lo que dice Todd: 

"Skaffold es una gran herramienta para desarrollar en Kubernetes. Permite a los desarrolladores alojar su entorno de desarrollo en un clúster de Kubernetes en lugar de hacerlo localmente en su máquina. Además de liberar preciosos recursos de computación en un portátil o estación de trabajo, esto proporciona una tonelada de beneficios de trabajo. Skaffold refleja sus entornos de desarrollo y producción mucho más cerca que la simple escritura de un contenedor mediante el despliegue de todo el entorno a un clúster Kubernetes en vivo, y usted puede compartir su espacio de trabajo de desarrollo con otros ingenieros para comenzar a colaborar más rápidamente. Esto puede ayudar a cerrar la brecha entre dev y ops para que todos se familiaricen con Kubernetes."

La forma en que Todd describe Skaffold hace que parezca casi esencial para el desarrollo de Kubernetes, pero no tiene ni tres años. Las meras ventajas de una tecnología emergente pueden llevar a un gran avance en la adopción, pero este es otro aspecto importante del ciclo. A medida que una plataforma madura, poco a poco, día a día, más usuarios nos dan más gente trabajando para facilitar las cosas. Esto puede ser un efecto de bola de nieve, especialmente con la tecnología de código abierto que permite las contribuciones de la comunidad en general.

Puntos de dolor y proveedores: ¿Cómo puedo mejorar mi experiencia?

Ciertamente, no todo el mundo está en una fase inicial o de pruebas con Kubernetes. Un número significativo de proyectos ya están usando Kubernetes en producción, así que volví a Billy Thompson para ver de qué hablan esos desarrolladores.

"La velocidad. La gente quiere poner en marcha los clústeres con rapidez, y muchos proveedores no están cumpliendo estas expectativas ahora mismo. Poner en marcha incluso un pequeño clúster con almacenamiento efímero, en muchos casos, puede llevar más de 20 minutos. Esto puede ser dolorosamente largo, especialmente para los profesores o cualquier persona que haga una demostración en vivo".

¿Qué pasa con LKE?

"Sus clústeres están funcionando en LKE con Terraform en 2-3 minutos".

Las herramientas de gestión y la compatibilidad son otro gran tema. Kubernetes puede ser muy intimidante, pero hay algunas interfaces de usuario de terceros amigables e intuitivas.

"Es una pregunta muy común. La gente utiliza herramientas agnósticas para la nube como Rancher y quieren poder utilizar distintos proveedores. Estos son compatibles con LKE y pueden desplegarse a través de la Linode API o Terraform."

Esta es otra etapa de madurez para una nueva tecnología: convertirse en fácil de usar. Kubernetes lanzó su propio Dashboard en abril de 2020 para llevar la funcionalidad de kubectl a una interfaz de usuario web, pero las soluciones de terceros han existido durante un poco más de tiempo. Kontena Lens fue GA en 2019 y Rancher llegó a 1.0 ya en 2016 (aproximadamente un año después de Kubernetes 1.0). Estas herramientas están disponibles y son cada vez más accesibles. LKE instala el tablero de control de Kubernetes por defecto, y se puede acceder a través del enlace del tablero de control de Kubernetes que se encuentra para cada clúster en el Linode Cloud Manager .

¿Qué es lo siguiente?

Nos estamos acercando a un punto de inflexión. Los beneficios de Kubernetes están superando los retos iniciales de la adopción de una nueva tecnología y estamos entrando en un ciclo autosostenible: Más desarrolladores que utilizan K8s aumentan la cantidad de proyectos K8s, lo que aumenta la demanda de desarrolladores K8s a medida que esos proyectos crecen. Esto se extiende a los proveedores de servicios, que responden al aumento de la demanda de más soporte de Kubernetes lanzando y ajustando nuevas herramientas.

Hoy en día, ejecutar Kubernetes en producción para su aplicación es práctico y accesible. No hay vuelta atrás, y estamos encantados de ayudar a más desarrolladores a empezar.

¿Utilizas Kubernetes y tienes algo en mente que te gustaría ver en LKE? Háganoslo saber.


Comentarios (1)

  1. Author Photo

    Kubernetes brings convenience and improves efficiency, but it also increases the cost of use

Dejar una respuesta

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *.