Como puedes ver, puedo actualizar fácilmente mi versión de Kubernetes usando este menú desplegable aquí. Y esto obviamente dependerá de la versión específica en la que tú o tu equipo hayan acordado utilizar. Además de eso, si deseas elegir un tiempo de ejecución de contenedor específico entre ContainerD y DockerD, eso es algo que puedes alternar aquí. Y luego tienes diferentes situaciones cuando se trata de tus aplicaciones. Puede que algunas sean intensivas en memoria, otras en cómputo, pero quieres tener la oportunidad de modificar la máquina virtual con la que estás trabajando. Y puedes hacerlo aquí actualizando la memoria y la CPU específicas, y eso simplemente reiniciará tu clúster. Y también, si necesitas hacer un reinicio completo para eliminar todas las cargas de trabajo y la configuración que hayas establecido, por cualquier motivo, simplemente puedes hacer clic en el botón de reinicio aquí. Y eso es genial, especialmente cuando se trata del desarrollo local del clúster porque tienes la seguridad de que el impacto no afectará a otras personas o equipos. Pero aún así, quieres tener una forma sencilla de reiniciar y comenzar de nuevo. Ahora he cambiado a la aplicación, y lo que estás viendo es mi archivo de configuración de Scaffold, que es el archivo scaffold.yaml, y este archivo se utiliza básicamente para configurar cómo se va a construir e implementar tu aplicación en el clúster relevante. Si observas los campos de nivel superior, la versión de la API, el tipo y los metadatos son tres campos de nivel superior familiares cuando se trabaja con tus archivos de manifiesto de Kubernetes. Además de eso, tenemos construir, probar e implementar, y cada uno de ellos, el nombre implica con qué se ocupan realmente. Entonces, la construcción contiene las configuraciones de construcción, en este caso, los artefactos, y estoy construyendo una imagen de Docker, y especifico el archivo Docker específico que se está utilizando, como puedes ver aquí, así como el nombre de la imagen para que Scaffold sepa dónde enviar esta imagen en particular en términos del repositorio relevante. Y en la fase de pruebas, porque quiero intentar replicar lo que esencialmente haría en un pipeline de CI CD de producción o en la vida real, puedo importar esencialmente esas mismas características aquí, y este mismo archivo de configuración se puede utilizar local y remotamente, y así puedo incluir mi fase de prueba como puedes ver aquí, y estoy ejecutando npm run test con la misma imagen que estoy usando para mi fase de construcción. Y finalmente, en la sección de implementación, estoy usando kubectl o kubectl para implementar mis recursos de Kubernetes específicos, y especifico que estos recursos están definidos en el archivo manifest.yaml. Entonces, si voy al archivo manifest.yaml, verás aquí que tengo mi recurso de implementación y mi recurso de servicio. Ahora, si voy al archivo app.js, verás aquí que esta es una aplicación muy básica y solo tengo una única ruta llamada test, y la respuesta que debería obtener cuando acceda a ese punto final será ¿esperabas algo menos? Y también tengo una única prueba, y esa prueba se asegurará de que cada vez que consulte ese punto final en particular, debería obtener la respuesta relevante. Debería darme un estado de respuesta 200, y debería ser una respuesta de cadena, y debería tener exactamente ese mismo texto. Así que lo que voy a hacer ahora es ir a la terminal. Voy a ejecutar scaffold dev, y eso debería construir mi aplicación y ponerla en funcionamiento. Genial, como puedes ver, mi aplicación se ha construido y también ha pasado por la fase de prueba. Y como puedes ver aquí, la aplicación ahora se está ejecutando y está escuchando el tráfico en el puerto 8080. Así que si voy al navegador, y puedes ver, ya lo he probado anteriormente, pero estoy obteniendo la respuesta relevante. Ahora, lo genial de cómo Scaffold complementa el ciclo de desarrollo interno es que si volviera a mi aplicación y hiciera un cambio aquí que quisiera probar, simplemente agregaré, ¿esperabas algo menos este año? Actualizar eso, pero muy importante, también vamos a necesitar actualizar nuestras pruebas. Scaffold detectará esos cambios y procederá a volver a implementar la aplicación. Genial. Así que vemos que nuestra implementación se ha estabilizado, y si vengo aquí y simplemente actualizo eso, entonces obtengo la respuesta correcta. Esto hace que las cosas sean mucho más fluidas cuando se trata del desarrollo local de Kubernetes. Para tus desarrolladores que no necesitan saber demasiado sobre Kubernetes, esto les facilita mucho las cosas. Espero que te haya resultado útil.
Comments