Garden v0.10.0: Tu portátil no necesita Kubernetes

Nota. traducir: Con los entusiastas de Kubernetes del proyecto. Garden nos conocimos en un evento reciente KubeCon Europa 2019, donde nos dejaron una grata impresión. Este material suyo, escrito sobre un tema técnico actual y con un marcado sentido del humor, es una clara confirmación de ello, y por eso decidimos traducirlo.

Habla de lo principal (del mismo nombre) producto empresa, cuya idea es automatizar los flujos de trabajo y simplificar el desarrollo de aplicaciones en Kubernetes. Para hacer esto, la utilidad le permite implementar fácilmente (literalmente con un comando) nuevos cambios realizados en el código en el clúster de desarrollo y también proporciona recursos/cachés compartidos para acelerar la creación y prueba del código por parte del equipo. Hace dos semanas el Jardín acogió versión 0.10.0, en el que fue posible utilizar no solo un clúster de Kubernetes local, sino también uno remoto: este es el evento al que está dedicado este artículo.

Lo que menos me gusta es trabajar con Kubernetes en mi computadora portátil. El "timonel" consume su procesador y su batería, hace que los refrigeradores giren sin parar y es difícil de mantener.

Garden v0.10.0: Tu portátil no necesita Kubernetes
Fotografía de archivo temática para mayor efecto.

Minikube, kind, k3s, Docker Desktop, microk8s, etc. - Excelentes herramientas creadas para que el uso de Kubernetes sea lo más conveniente posible, y gracias por ello. En serio. Pero no importa cómo se mire, una cosa está clara: Kubernetes no es adecuado para ejecutarlo en mi computadora portátil. Y la computadora portátil en sí no está diseñada para funcionar con un grupo de contenedores dispersos en capas de máquinas virtuales. El pobre está haciendo lo mejor que puede, pero claramente no le gusta esta actividad, mostrando su descontento con los aullidos de las hieleras y tratando de quemarle los muslos cuando imprudentemente lo pongo de rodillas.

Digamos: computadora portátil - computadora portátil.

Garden es una herramienta para desarrolladores que ocupa el mismo nicho que Skaffold y Draft. Simplifica y acelera el desarrollo y las pruebas de aplicaciones de Kubernetes.

Desde el momento en que empezamos a trabajar en Garden, hace unos 18 meses, sabíamos que local El desarrollo de sistemas distribuidos es una solución temporal, por lo que Garden construyó con una flexibilidad significativa y una base sólida.

Ahora estamos preparados para admitir entornos de Kubernetes tanto locales como remotos. El trabajo se ha vuelto mucho más fácil: el montaje, la implementación y las pruebas ahora se pueden llevar a cabo en un clúster remoto.

En resumen:

Con Garden v0.10, puede olvidarse por completo de un clúster de Kubernetes local y seguir obteniendo una respuesta rápida a los cambios de código. Todo esto es gratuito y de código abierto.

Garden v0.10.0: Tu portátil no necesita Kubernetes
Disfrute de la misma experiencia en entornos locales y remotos

¿Tienes tu atención?

¡Y me alegro de esto, porque tenemos muchas más funciones interesantes! El uso general de clústeres de desarrollo tiene implicaciones más amplias, especialmente para equipos colaborativos y canales de CI.

Como asi

En primer lugar, se comparten el recopilador dentro del clúster, ya sea un demonio Docker estándar o Kaniko, así como el registro dentro del clúster. para todo el grupo. Su equipo puede compartir un clúster de desarrollo, con cachés de compilación e imágenes disponibles para todos los desarrolladores. Debido a que Garden etiqueta imágenes en función de hashes de origen, las etiquetas y capas se definen de forma única y coherente.

Esto significa que una vez que un desarrollador crea una imagen, se convierte en disponible para todo el equipo. Día tras día, descargamos las mismas imágenes base y creamos las mismas compilaciones en nuestras computadoras. ¿Tienes curiosidad por saber cuánto tráfico y electricidad se desperdician?

Lo mismo puede decirse de las pruebas: sus resultados están disponibles para todo el clúster y para todos los miembros del equipo. Si uno de los desarrolladores ha probado una determinada versión del código, no es necesario volver a ejecutar la misma prueba.

En otras palabras, no se trata sólo de no ejecutar minikube. Este salto allana el camino para que su equipo muchos Oportunidades de optimización: ¡no más compilaciones y ejecuciones de prueba innecesarias!

¿Qué pasa con la IC?

La mayoría de nosotros estamos acostumbrados al hecho de que CI y el desarrollo local son dos mundos separados que deben configurarse por separado (y no comparten un caché). Ahora puedes combinarlos y deshacerte del exceso:

Puede ejecutar los mismos comandos en CI y en el proceso de desarrollo, así como Utilice un único entorno, cachés y resultados de pruebas.

Básicamente, su CI se convierte en un robot desarrollador que trabaja en el mismo entorno que usted.

Garden v0.10.0: Tu portátil no necesita Kubernetes
Elementos del sistema; desarrollo y pruebas sin interrupciones

Las configuraciones de canalización de CI se pueden simplificar significativamente. Para hacer esto, simplemente ejecute Garden desde CI para compilaciones, pruebas e implementaciones. Dado que usted y el CI utilizan el mismo entorno, es mucho menos probable que encuentre problemas con el CI.

Examinar innumerables líneas de configuraciones y scripts, luego presionar, esperar, tener esperanzas y repeticiones interminables... Todo esto es cosa del pasado. Sólo estás haciendo desarrollo. Sin movimientos innecesarios.

Y para finalmente aclarar la situación: cuando usted u otro miembro del equipo construyeron o probaron algo con Garden, sucedió lo mismo con CI. Si no ha cambiado nada desde que se ejecutó la prueba, entonces no necesita ejecutar pruebas (ni siquiera compilaciones) para CI. Garden hace todo por sí mismo y luego pasa a otras tareas, como organizar el entorno previo al lanzamiento, enviar artefactos, etc.

Suena tentador. ¿Cómo intentarlo?

Bienvenido a nuestro repositorio de GitHub! Instala Garden y juega con los ejemplos. Para aquellos que ya utilizan Garden o quieren conocerlo mejor, ofrecemos Guía remota de Kubernetes. Únete a nosotros en el canal. #jardín en Kubernetes Slack, si tienes dudas, problemas o simplemente quieres charlar. Siempre estamos dispuestos a ayudar y agradecemos los comentarios de los usuarios.

PD del traductor

Próximamente también publicaremos una revisión de utilidades útiles para desarrolladores de aplicaciones que operan en Kubernetes, que incluye otros proyectos interesantes además de Garden... Mientras tanto, lea también en nuestro blog:

Fuente: habr.com

Añadir un comentario