‫Todo bien. Estas últimas conferencias han comenzado
‫a ver todas las diferentes áreas de Kubernetes que se
‫están expandiendo, ¿verdad? Si piensas que
‫es como este pequeño globo central de solo los binarios
‫y la infraestructura base de
‫Kubernetes, los anillos se hacen cada vez más grandes,
‫¿verdad? Con Ingress,
‫y Patrón de operador, y definiciones de recursos personalizadas.
‫Simplemente sigue creciendo.
‫Ahora, quiero hablar contigo sobre cómo se está
‫haciendo aún más grande. De hecho, esta es probablemente el área donde
‫está un poco loco.
‫Eso está en el área de opiniones
‫sobre cómo implementar el YAML para estos recursos, correcto.
‫Hasta ahora, has visto aplicar el kubectl.
‫Bueno, eso lo ayudará a comenzar y probablemente lo llevará a través
‫de su primer despliegue de un orquestador de
‫contenedores, correcto. Tu ... ya
‫sea que estés usando Swarm o Kubernetes, obtendrás ese
‫YAML, y tendrás un repositorio, y lo guardarás allí, y
‫eso tendrá sentido.
‫Una vez que comienzas a expandir esto, y tienes equipos,
‫y tienes permisos, y
‫diferentes tipos de permisos, y personas que tienen
‫que gobernar o aprobar las cosas, todo se vuelve más complicado.
‫Lo que sucedió en este mundo de cómo
‫implementar sus aplicaciones en Kubernetes,
‫y de eso se trata básicamente. Vamos a hablar sobre el hecho
‫de que ahora hay más de 60, bueno en realidad, hay como
‫80, pero muchos de ellos ya no son proyectos reales o
‫están muertos o archivados.
‫Pero hay al menos
‫60 formas de agregar herramientas sobre Kubernetes
‫simplemente para implementar sus aplicaciones en Kubernetes.
‫Hay muchas opiniones, correcto.
‫Aquí es donde comienzan a surgir las opiniones sobre
‫cómo debería estar haciendo esto. Todo, desde Jenkins X hasta Helm
‫y más allá. Hay todas
‫estas cosas y opiniones diferentes, bueno, Kubernetes
‫no es una infraestructura obstinada, por lo que necesitamos opiniones para guiar
‫a las personas a través del
‫proceso de implementación y actualización de sus aplicaciones.
‫Entonces, todos tienen uno. Si has leído
‫algo sobre cómo hacer esto en Kubernetes,
‫probablemente hayas oído hablar de Helm. Helm to Kubernetes
‫es Kubernetes para contenedores esencialmente. Helm es la forma en
‫que todos buscan
‫crear plantillas y utilizar estándares de plantillas para
‫implementar aplicaciones de terceros o crear sus
‫propios gráficos personalizados de Helm.
‫Así se llaman los gráficos.
‫Es esencialmente un YAML con plantilla, pero le permite
‫a Helm crear o escupir el
‫YAML que luego irá a tu grupo de Kubernetes
‫por ti. Pero, no es la única opinión, ¿verdad?
‫Dije que hay más de 60 al menos la última vez que miro.
‫En realidad, hay una hoja de Google que puse en los
‫enlaces de referencia. Está un poco desactualizado, pero es la
‫última lista conocida de todos los lugares donde podría
‫encontrar estas diferentes formas de implementación. Los Docker tienen su propia opinión
‫que es muy interesante, especialmente si quieres estar cerca
‫del ecosistema Docker. Eso
‫es componer en Kubernetes.
‫Si tiene Docker Desktop, hoy puede
‫habilitar Kubernetes, lo que probablemente ya haya hecho para
‫esta parte del curso. Puede usar el despliegue de
‫la pila de docker y, en lugar de ir a Swarm,
‫puede enviarlo a Kubernetes.
‫Si observa el comando de implementación de la pila
‫de docker y la ayuda para eso, verá que
‫hay una opción allí para especificar el orquestador
‫que desea usar. De hecho, en
‫la configuración de Docker Desktop, puede indicarle que prefiera o prefiera Kubernetes
‫para los comandos de implementación de la pila.
‫Eso es bastante interesante porque pensé que Compose YAML era
‫diferente a Kubernetes YAML.
‫Bueno, eso es lo que Compose on Kubernetes hace ahora.
‫Es una herramienta de terceros esencialmente.
‫Es una forma obvia, desde Docker, de cómo implementar,
‫o interpretar, o traducir técnicamente, el YAML de
‫Compose, el formato Compose, al formato
‫YAML de Kubernetes.
‫Entonces, he puesto un enlace aquí para que
‫lo compruebes si eres alguien que va a considerar a
‫Docker Enterprise como tu herramienta empresarial para Kubernetes y Swarm
‫y Docker en general.
‫Entonces, definitivamente deberías revisar esto porque viene de
‫fábrica. Una de las cosas buenas
‫de esa característica es que el flujo de trabajo sigue
‫siendo súper simple. Básicamente, estás usando
‫tu Compose YAML en toda la tubería, y puedes usarlo
‫en Ops y Dev. No te obliga
‫a decir, OK para los desarrolladores, debes tener YAML
‫para Compose y para producción y servidores, debes tener este
‫Kubernetes YAML, y no son compatibles, ¿verdad?
‫La idea con Docker era que pensaban que esto era
‫demasiado complicado. Vamos a simplificarlo.
‫Solo usemos un estándar YAML para toda la tubería
‫de control.
‫Y me gusta. El problema con
‫esto es que no soporta todo lo
‫que puede hacer Kubernetes, ¿verdad? Es decir, obviamente, tenemos
‫una sola página en Docker Docs para enumerar todas las
‫características de un archivo Compose. Pero, el Kubernetes YAML
‫es tan complejo que tenemos que profundizar en múltiples comandos y
‫referencias de API y todo eso, correcto.
‫Claramente, no puede hacerlo todo.
‫Lo bueno es que en el sitio web
‫Compose for Kubernetes, hablan sobre las diferentes características que
‫admite en GitHub.
‫Es la regla 80/20 allí.
‫En otras palabras, es compatible con el 20 por ciento de
‫las características de Kubernetes que probablemente el 80 por ciento de nosotros necesitemos.
‫Entonces, puede comenzar con eso y ver si ese flujo de
‫trabajo funcionaría para usted. Otra cosa agradable
‫es a fines de 2018, abren código que compone
‫en Kubernetes para que ahora pueda implementarlo en cualquier infraestructura
‫de Kubernetes que tenga, y simplemente funciona como
‫una especie de intérprete. Se traduce cada vez
‫que usa el archivo Compose de Docker y usa
‫los comandos de Docker, conectará su clúster de
‫Kubernetes por usted, lo traducirá automáticamente a Kubernetes
‫YAML y listo. En ese
‫momento, puede ignorar gran parte de Kubernetes YAML
‫para sus aplicaciones. Sabes, quizás uses
‫Kubernetes YAML para cosas de infraestructura que no
‫estás implementando todos los días. Pero, tal vez para
‫que sus desarrolladores les faciliten escribir Compose YAML y poner
‫las cosas en producción más rápidamente, usted elige usar Compose
‫en Kubernetes como flujo de trabajo.
‫Entonces, tal vez use los gráficos
‫Helm, que es una especie de estándar competitivo para
‫su infraestructura principal. Porque lo que pasa
‫con Helm es que viene listo para usar con muchas
‫de estas plantillas de gráficos para que puedas
‫implementar Prometheus o Elasticsearch logging con ELK, o algo así.
‫Vendrá con esas plantillas listas para usar que
‫le permiten comenzar más rápido.
‫Además, solo recuerde que todos estos son opcionales, correcto.
‫Puedes hacer Kubernetes con el YAML estándar con el que has
‫estado jugando hasta ahora, y eso está bien.
‫No requiere estas otras cosas.
‫Son solo herramientas opcionales de terceros.
‫Tradicionalmente, a medida que el equipo crece, cuando
‫obtienes múltiples clústeres de Kubernetes de producción y
‫hay varios equipos involucrados, entonces todo se vuelve
‫más difícil y probablemente terminarás con más
‫de una solución. Puede terminar con Helm en ciertos grupos.
‫Puede terminar con Compose en Kubernetes para sus
‫desarrolladores, o algo así.
‫O, una de estas otras 60 herramientas más en
‫el ecosistema.
‫El último punto es que, dado que Helm es realmente el líder
‫en este espacio en este momento, casi
‫todas las distribuciones lo usan, lo admiten o incluso lo incluyen
‫de manera inmediata. Solo tenga en
‫cuenta que cuando mira estas herramientas, probablemente no pueda
‫evitar Helm en un entorno grande.
‫Solo tendrás que usarlo.
‫Lo bueno es que hoy en día está en 3. 0 y que hay
‫opciones de implementación mucho más simples en
‫el 3. 0 versus el 1. 0 y
‫2. 0. Entonces, las cosas mejoran y
‫son más fáciles con eso todo el tiempo. Muchas de estas herramientas
‫de implementación realmente solo lo ayudan a modelar su YAML de
‫varias maneras. Kubernetes en
‫sí no tenía nada durante mucho tiempo.
‫En los lanzamientos recientes, ahora salió con algo
‫llamado Kustomize with a K.
‫Cuando comienzas a ver esa palabra con una K, sabes que
‫es una característica especial.
‫Le permite hacer cosas similares a Helm y estas
‫otras soluciones de implementación, pero en realidad
‫no es tan poderoso
‫como Helm, ¿verdad?
‫Entonces, Helm sigue siendo el líder.
‫Kustomize es una especie de chico nuevo en la cuadra, pero viene de
‫fábrica con todo lo que haces en Kubernetes.
‫El comando kubectl lo admite.
‫Realmente es lo que está tomando,
‫en lugar de un YAML con plantilla, solo está tomando
‫YAML que ya tienes, es Kubernetes YAML estándar, y luego
‫puedes tomar ese archivo y luego ejecutar algo más
‫encima y cambiarlo con una anulación De algún tipo.
‫Algo similar a como lo hacemos en Swarm.
‫De hecho, tenemos en Swarm and Compose, tenemos archivos
‫de anulación y cosas así.
‫Ahora tienen este construido fuera de la caja.
‫Tiene muchas características.
‫Creo que, en más o menos, no está del todo en términos del conjunto
‫de características de lo que tiene Helm, pero al menos
‫sale de la caja.
‫Recuerde, si tiene Docker, la última
‫versión, 19. 03 o más reciente de
‫Docker, ahora tiene el subcomando de la aplicación docker, que
‫hace su propia plantilla de Compose YAML
‫y realmente es muy comparable a esta opción personalizada
‫para Kubernetes. Nuevamente, si vas
‫a seguir con la pista de Docker y vas
‫a considerar Docker Enterprise o simplemente te gusta cómo Docker se enfoca en
‫el flujo de trabajo del desarrollador, mira el
‫subcomando de la aplicación docker y también el repositorio de la aplicación
‫docker, que Pondré los recursos aquí.
‫Debido a que tienen documentación sobre cómo
‫puede tomar Compose YAML, extraiga cosas como variables de
‫entorno y otras cosas. Empaquete todo en una
‫sola imagen y luego envíe su YAML como una imagen.
‫Lo que significa que ahora puede versionar su YAML e
‫implementarlo con una sola línea sin tener que
‫hacer como tirar hacia abajo del YAML y luego escribir comandos largos.
‫Es una forma bastante interesante de hacerlo.
‫Está usando algo nuevo llamado el estándar CNAB, en el que
‫no vamos a entrar aquí, pero eso es
‫C N A B.
‫Fue un anuncio que Docker y Microsoft hicieron
‫en 2018.
‫Puede consultar todo eso en el sitio web de la
‫aplicación Docker en los recursos. Una vez más, todo esto
‫se trata de formas opcionales de terceros para personalizar y extender el
‫YAML predeterminado para que sea más fácil para su equipo a
‫medida que crece.