Kubernetes celebra cinco años este año y su presencia crece continuamente en la industria de TI. A medida que Kubernetes gana popularidad, cada vez más profesionales de TI intentan ingresar al espacio de Kubernetes. Sin embargo, los conceptos erróneos sobre Kubernetes están creando barreras para que los profesionales realmente comprendan la belleza y los beneficios de Kubernetes.

En un alto nivel, Kubernetes es un sistema de orquestación de contenedores que proporciona un marco para ejecutar aplicaciones con resistencia. Tiene características clave como autocuración, reversiones y despliegues automáticos, y escalabilidad automática. Para este blog, me centraré en los conceptos y componentes clave que debe comprender para comenzar a usar Kubernetes. Además, quiero señalar temas que me ayudaron a superar los bloqueadores que muchos enfrentan al tratar de entender a Kubernetes.

A medida que avanza en su educación de Kubernetes, hay dos componentes clave que lo ayudan a comprender la forma en que funciona el sistema de Kubernetes. Un componente clave es el Scheduler (Programador) . El Programador identifica los pods sin un nodo asignado y los coloca en un nodo adecuado. La palabra clave aquí es “adecuada”: la magia del Programador es que toma los atributos asignados por usted y los factoriza en dónde colocará el pod* (cápsulas). La ubicación exacta, sin embargo, es el mejor esfuerzo y no una garantía. Por ejemplo, si su unidad tiene un requisito para una GPU, puede especificar ese requisito en su archivo YAML, y el Programador hará todo lo posible para encontrar un nodo* con una GPU que cumpla con sus otros requisitos. El valor del Programador es que admite la naturaleza autónoma del entorno de Kubernetes.

El segundo componente clave es el Controller Manager . Se compone de varios controladores*; Los recursos enumerados cerca del final de esta publicación de blog explican por qué. El propósito del administrador del controlador es conciliar el estado actual del clúster con el estado deseado especificado en su archivo YAML. Por ejemplo, si especifica un requisito para cinco pods en su clúster y el número actual de pods en el clúster es tres, uno de los controladores (específicamente, el Controlador de replicación) creará dos pods más e informará al administrador del controlador para asegurarse de que cumpla con el estado deseado. El proceso es un ciclo continuo de verificación de los estados actuales y deseados. Esta lógica de bucle simple es efectiva en la construcción de implementaciones resistentes.

Cuando comencé a explorar Kubernetes, no me di cuenta de que había una diferencia entre un clúster de Kubernetes administrado y un clúster de Kubernetes de código abierto. Los conceptos subyacentes de Kubernetes son los mismos tanto para los grupos de Kubernetes administrados como para los grupos de código abierto, pero hay algunas advertencias con ambos que analizaré en la siguiente sección.

Servicios gestionados de Kubernetes

Los principales proveedores de la nube han gestionado los servicios de Kubernetes donde manejan el despliegue de la infraestructura y la instalación del plano de control de Kubernetes (nodos maestros y nodos de trabajo). Además, los servicios administrados tienden a realizar actualizaciones administradas a los clústeres cuando se lanzan nuevas versiones. Debe comprender que los servicios administrados de Kubernetes tienen sus ventajas y desventajas, como todo lo demás. A medida que navega por el ecosistema de Kubernetes, los servicios administrados definitivamente aparecerán como una opción.

Kubernetes de código abierto

El código abierto de Kubernetes es donde comenzó todo, y sigue siendo la opción si quieres estar al día sobre lo último y lo mejor de Kubernetes. El código abierto Kubernetes tiene una vasta comunidad que contribuye a Kubernetes y varios proyectos relacionados. Esta comunidad es lo que hace que Kubernetes de código abierto sea excelente; la comunidad se apresura a encontrar formas mejores y efectivas de incorporar Kubernetes a las soluciones. Los miembros de la comunidad también son útiles cuando tienes problemas técnicos con Kubernetes. Y siempre están encontrando y reparando errores para mejorar los proyectos. Al igual que el enfoque administrado, el enfoque de código abierto viene con ventajas y desventajas. Algunos de ustedes querrán tomar esta ruta. Las publicaciones de blog posteriores abordarán Kubernetes de código abierto y sus proyectos relacionados con más detalle. * Actualmente se están traduciendo al castellano los documentos del proyecto

Material educativo

Existen muchos recursos para aprender sobre Kubernetes y herramientas y productos de apoyo. El mecanismo de aprendizaje más efectivo para mí ha sido videos y entornos prácticos de laboratorio. Sin embargo, para aquellos que aprenden por otros medios, aquí hay algunos libros y blogs que encontré útiles para reforzar los temas y conceptos de Kubernetes.

Libros

Blogs

Los blogs de expertos en el campo pueden ser críticos para obtener respuestas ante bloqueos técnicos cuando comienzas a jugar con Kubernetes. Los blogs técnicos me han ayudado a superar muchos errores de implementación de Kubernetes. No puedo enumerar todos los blogs que he leído, pero aquí algunos claves de algunos de mis colegas:

Problemas de GitHub

Si tiene un error, lo más probable es que otra persona de la comunidad también haya tenido el error. Sugiero consultar la página de problemas de github (issues) repositorio de Kubernetes GitHub con el error para ver si se ha resuelto. Si no, puede crear un problema y que la comunidad lo ayude a resolverlo.

Cursos y recursos en línea

  • KubeAcademy de VMware es una plataforma educativa de tecnología nativa de Kubernetes gratuita y independiente del producto. Los cursos de KubeAcademy se componen de una serie de lecciones en video, cada una de cinco a ocho minutos de duración, que se sumergen en temas para todos los niveles de habilidad. Los cursos son creados e impartidos por expertos en la materia.
  • Udemy tiene muchas conferencias y cursos de Kubernetes, pero me gusta Kubernetes on the Cloud y la certificación CNCF CKA porque se centra en todos los componentes de las implementaciones de Kubernetes, AWS y Azure, y el examen CKA.
  • Este repositorio de GitHub tiene un gran desglose de enlaces por temas centrados en el programa Certified Kubernetes Administrator (CKA). El diseño del repositorio de GitHub te ayuda a prepararte para el examen y a profundizar en Kubernetes. Dentro de este repositorio de GitHub, hay una hoja de cálculo con enlaces aún más útiles. Navegar es un poco confuso, pero el contenido es bueno.

Herramientas y entornos

  • Katacoda : este sitio tiene muchos laboratorios excelentes. Hay laboratorios muy simples, pero tocan muchos conceptos de nube y Kubernetes. Katacoda es un buen lugar para comenzar antes de volverse amable.
  • kind : este ha sido mi entorno de laboratorio favorito para jugar con Kubernetes y los proyectos en el paisaje de Kubernetes. kind le proporciona un clúster Kubernetes local (hay configuraciones de nodos maestros únicos o múltiples disponibles). Cuando tenga una sólida comprensión de Kubernetes y quiera probar proyectos de apoyo como Prometheus, sugiero usar kind. También proporciona un entorno de buenas prácticas antes de pasar a un proveedor en la nube como AWS o Azure.

Certificación

Hay dos certificaciones de Kubernetes que, si tiene la oportunidad de tomar, reforzaría en gran medida su comprensión de Kubernetes. Además, tener las certificaciones proporciona a otros (empleadores, colegas) confianza en su capacidad para manejar las responsabilidades de un administrador de Kubernetes.

  • La certificación Certified Kubernetes Administrator (CKA) se alinea con el rol tradicional de administrador del sistema. No tiene que preocuparse por el desarrollo de software avanzado o conceptos de ingeniería; el conocimiento básico es suficiente.
  • El desarrollador Certificado de Aplicaciones Kubernetes (CKAD) se centra en la arquitectura de aplicaciones nativas de la nube. Debe sentirse cómodo con un lenguaje de programación y un tiempo de ejecución de contenedor.

Estás en camino a comenzar con Kubernetes

En la superficie, Kubernetes puede verse como un sistema complejo con una cantidad abrumadora de componentes. Pero una vez que comience a desglosar cada componente del sistema, comenzará a ver que el sistema fue diseñado para abstraer capas en el hardware y permitirle concentrarse en la creación de aplicaciones robustas.

Kubernetes también fue diseñado para permitir la incorporación de componentes y servicios personalizados adicionales; esta extensibilidad es donde entra el ecosistema de Kubernetes. La comunidad de código abierto ha creado una multitud de servicios que trabajan en conjunto con Kubernetes para mejorar sus características. Estén atentos para más blogs en el ecosistema nativo de la nube.

Sobre el Autor

Rachel Leekin es arquitecta en la nube en VMware. Antes de VMware, era arquitecta en la nube certificada de IBM, ayudando a las compañías Fortune 500 a transformar sus aplicaciones heredadas en aplicaciones en la nube. Actualmente, ella ayuda a los clientes a implementar proyectos Kubernetes y CNCF en sus entornos. En su tiempo libre, le gusta ver a su equipo de fútbol favorito, el Chelsea FC, y entrenar para su cinturón negro en Tae Kwon Do.

* Aclaraciones: Agregamos algunas referencias en castellano para completar la nota de Rachel.

Para obtener más información sobre la cartera de productos de la marca, contáctese con el equipo de Cloud Managers para asesorarse sobre los productos y servicios que VMware posee para su empresa.

Autor/Fuente: VMware Tanzu Kubernetes Blogs –  https://tanzu.vmware.com/content/blog/getting-started-with-kubernetes-and-its-ecosystem

About

Director de TI – Socio Fundador de Cloud Managers
Especialista en Continuidad de Negocios, Servicios Cloud, Centros de Datos, Virtualización, Gestión y Gobierno de TI, Seguridad y Tecnologías Open Source

Close
Go top