¿Qué es Kubernetes?

Kubernetes es un software de orquestación de código abierto para implementar, administrar y escalar contenedores

Explicación de Kubernetes

Las aplicaciones modernas se basan cada vez en el uso de contenedores, que son microservicios empaquetados con sus dependencias y configuraciones. Kubernetes es un software de código abierto para implementar y administrar esos contenedores a gran escala, y también es la palabra griega para timonel de un buque o piloto. Cree, entregue y escale aplicaciones en contenedores con más rapidez usando Kubernetes, que a veces se denomina “k8s”.

Explore Kubernetes con esta sencilla ruta de aprendizaje

Cómo funciona Kubernetes

A medida que las aplicaciones crecen para abarcar varios contenedores implementados en varios servidores, administrarlas se hace también cada vez más complejo. Para controlar esta complejidad, Kubernetes proporciona una API de código abierto que controla la forma y el lugar donde se ejecutan esos contenedores.

Kubernetes organiza los clústeres de máquinas virtuales y programa los contenedores para que se ejecuten en esas máquinas en función de los recursos de proceso disponibles y de los requisitos de recursos de cada contenedor. Los contenedores se agrupan en pods (la unidad operativa básica de Kubernetes) que se pueden escalar hasta el estado deseado.

Kubernetes también administra automáticamente la detección de servicios, incorpora equilibrio de carga, realiza un seguimiento de la asignación de recursos y los escala en función del uso de la capacidad de proceso. Además, comprueba el estado de los recursos individuales y permite que las aplicaciones se recuperen automáticamente reiniciando o replicando los contenedores.

Vea más vídeos sobre los conceptos básicos de Kubernetes

¿Por qué usar Kubernetes?

Mantener en funcionamiento las aplicaciones en contenedores puede ser complejo, porque suelen incluir muchos contenedores implementados en diferentes máquinas. Kubernetes proporciona una manera de programar e implementar esos contenedores, además de escalarlos al estado deseado y administrar sus ciclos de vida. Use Kubernetes para implementar las aplicaciones basadas en contenedores de forma portátil, escalable y extensible.

Haga que las cargas de trabajo sean portátiles

Dado que las aplicaciones de contenedor son independientes de la infraestructura, se convierten en portátiles cuando se ejecutan en Kubernetes. Puede moverlas de las máquinas locales a producción entre el entorno local, un entorno híbrido y varias plataformas, todo ello manteniendo la coherencia entre los entornos.

Escale los contenedores con facilidad

Defina aplicaciones en contenedores complejas e impleméntelas en un clúster de servidores o incluso en varios clústeres con Kubernetes. A medida que Kubernetes escala las aplicaciones según el estado deseado, supervisa automáticamente los contenedores y los mantiene en buen estado.

Cree aplicaciones más extensibles

Una gran comunidad de desarrolladores y compañías de código abierto crea activamente extensiones y complementos que agregan funcionalidad a Kubernetes, como seguridad, supervisión y administración. Además, el programa de conformidad con la certificación para Kubernetes (Certified Kubernetes Conformance Program) requiere que cada versión de Kubernetes ofrezca API que faciliten el uso de esas ofertas de la comunidad.

Comience a usar Kubernetes

Vea cómo empezar a implementar y administrar aplicaciones en contenedores.

Siga la ruta de aprendizaje

Adquiera experiencia en el uso de los componentes, las características y las soluciones de Kubernetes.

Cree soluciones en una plataforma Kubernetes completa

Además de que el propio Kubernetes ofrece portabilidad, escalabilidad y extensibilidad, agregar el control total del desarrollo, las operaciones y la seguridad le permite implementar las actualizaciones con más rapidez, sin comprometer la seguridad ni la confiabilidad, y ahorrar tiempo en la administración de la infraestructura. A medida que adopte Kubernetes, considere también la posibilidad de implementar lo siguiente:

Aproveche Kubernetes con prácticas de DevOps

A medida que crece una aplicación de Kubernetes (agregando contenedores, entornos y equipos), la frecuencia de las versiones tiende a aumentar, junto con la complejidad del desarrollo y las operaciones. El uso de prácticas de DevOps en entornos de Kubernetes permite moverse rápidamente a gran escala con seguridad mejorada.

Entregue el código con más rapidez usando CI/CD

Mientras los contenedores proporcionan un formato de empaquetado de aplicaciones coherente que facilita la colaboración entre los equipos de desarrollo y de operaciones, CI/CD puede agilizar el movimiento del código a un contenedor y a un clúster de Kubernetes en unos minutos mediante la automatización de esas tareas.

Configure CI/CD para Kubernetes

Administre los recursos de un modo efectivo con infraestructura como código

La infraestructura como código aporta coherencia y visibilidad de los recursos de proceso entre equipos, lo que reduce la probabilidad de errores humanos. Esta práctica funciona con la naturaleza declarativa de las aplicaciones de Kubernetes basadas en Helm. La combinación de las dos permite definir aplicaciones, recursos y configuraciones de un modo confiable, repetible y que admite seguimiento.

Implemente un clúster de Kubernetes con Terraform

Agilice el bucle de comentarios con supervisión constante

Reduzca el tiempo que transcurre desde que se producen los errores hasta que se corrigen con un vista completa de los recursos, el clúster, la API de Kubernetes, los contenedores y el código, desde el seguimiento del estado de los contenedores hasta un registro centralizado. Esa vista le ayuda a evitar cuellos de botella en los recursos, hacer un seguimiento de las solicitudes malintencionadas y mantener las aplicaciones de Kubernetes en buen estado.

Vea cómo funcionan las conclusiones de contenedores en tiempo real

Equilibre la velocidad y la seguridad con DevOps

Aporte visibilidad en tiempo real a su flujo de trabajo de DevOps sin que afecte a la velocidad. Aplique comprobación del cumplimiento normativo y reconfiguraciones automáticas para proteger su canalización de compilación y versión y, por tanto, su aplicación de Kubernetes.

Vea la seguridad continua en acción

Ejemplo de flujo de trabajo de DevOps con Kubernetes

  1. 1Repita, prueba y depure rápidamente diferentes partes de una aplicación juntas en el mismo clúster de Kubernetes.
  2. 2Fusione código mediante combinación e insértelo en un repositorio de GitHub para lograr integración continua. A continuación, ejecute compilaciones y pruebas automatizadas como parte de la entrega continua.
  3. 3Compruebe el origen y la integridad de las imágenes de contenedor. Las imágenes se mantienen en cuarentena hasta que pasan un examen.
  4. 4Aprovisione clústeres de Kubernetes con herramientas como Terraform. Gráficos Helm instalados por Terraform definen el estado deseado de los recursos y las configuraciones de las aplicaciones.
  5. 5Imponga directivas para gobernar las implementaciones en el clúster de Kubernetes.
  6. 6La canalización de versión ejecuta automáticamente una estrategia de implementación predefinida con cada código.
  7. 7Agregue auditoría de directivas y corrección automática a la canalización de CI/CD. Por ejemplo, solo la canalización de versión tiene permiso para crear nuevos pods en su entorno de Kubernetes.
  8. 8Habilite telemetría de las aplicaciones, supervisión del estado de los contenedores y análisis de registros en tiempo real.
  9. 9Solucione los problemas con conclusiones e informe de los planes para el próximo sprint.

Aproveche los puntos fuertes de Kubernetes con Azure

Automatice el aprovisionamiento, la actualización, la supervisión y el escalado con el servicio Microsoft Azure Kubernetes Service (AKS) totalmente administrado. Obtenga Kubernetes sin servidor, una experiencia más sencilla desde la fase de desarrollo hasta producción y seguridad y gobernanza de nivel empresarial.

Más información acerca de AKS

Inspírese e innove con la comunidad de Kubernetes

Kubernetes se creó y prospera por la acción de miles de personas y cientos de organizaciones que han aportado sabiduría, código y soporte técnico constante a las personas que lo usan. Aproveche las contribuciones que realizan con entusiasmo para crear un software excelente.

35,000
Colaboradores
180,000
Commits
Proyecto destacado
en GitHub

Contribuciones de Microsoft a Kubernetes

Incorporación del ingenio del código abierto a las empresas

Para que Kubernetes resulte más fácil de adoptar para las organizaciones (y más fácil de usar para los desarrolladores), Microsoft ha triplicado la cantidad de empleados que participan en el proyecto de código abierto en solo tres años. Siendo ahora el tercer colaborador corporativo, Microsoft trabaja para hacer que Kubernetes sea más sencillo para la empresa y accesible proporcionando los aprendizajes y los procedimientos recomendados más recientes, desde el trabajo con diversos clientes hasta la comunidad de Kubernetes.

Preguntas más frecuentes sobre Kubernetes

  • Siga este recorrido organizado para aprender Kubernetes.

  • Kubernetes es muy útil para escenarios que abarcan desde el traslado de aplicaciones a la nube hasta la simplificación de los desafíos del aprendizaje automático y la inteligencia artificial.

    Los siguientes son algunos de los principales casos de uso:

  • Vea los procedimientos recomendados y modelos arquitectónicos creados por los miles de asociados y profesionales técnicos que utilizan Kubernetes.

  • Una implementación de Kubernetes permite describir el estado de implementación deseado para las aplicaciones. El programador de Kubernetes se asegura de que el estado actual coincida con el estado deseado y mantiene ese estado en el caso de que uno o varios pods se bloqueen. Las implementaciones de Kubernetes permiten también actualizar las aplicaciones sin períodos de inactividad.

    Ver las estrategias de implementación de Kubernetes
  • La implementación en Kubernetes con DevOps suele implicar un repositorio, como GIT, para la administración de versiones. El repositorio actúa como el comienzo de la canalización de CI/CD. Dependiendo del método que utilice, los cambios en el repositorio pueden desencadenar actividades de integración, compilación, entrega e implementación.

    Vea con detalle cómo funciona AKS con Azure DevOps
  • Kubernetes y Docker funcionan juntos.

    Docker proporciona un estándar abierto para empaquetar y distribuir aplicaciones en contenedores. Con Docker, puede crear y ejecutar contenedores, así como almacenar y compartir imágenes de contenedor.

    Kubernetes organiza y administra las aplicaciones en contenedores distribuidas que crea Docker. También proporciona la infraestructura necesaria para implementar y ejecutar esas aplicaciones en un clúster de máquinas.

    Más información sobre Kubernetes o Docker

Recursos

Cuando esté listo, comenzamos. Pruebe Kubernetes gratis en Azure