¿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 crean cada vez más con el uso de contenedores (microservicios empaquetados con sus dependencias y configuraciones). Kubernetes, abreviado k8s, es un software de código abierto para implementar y administrar esos contenedores a escala. Con Kubernetes, puede crear, entregar y escalar aplicaciones en contenedores con más rapidez.
Explore Kubernetes con esta sencilla ruta de aprendizajeCó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.
También ofrece la capacidad de organizar un clúster de máquinas virtuales y programar los contenedores para que se ejecuten en esas máquinas en función de sus recursos de proceso disponibles y de los requisitos de recursos de cada contenedor. Los contenedores se agrupan en pods, que es la unidad operativa básica de Kubernetes que se puede escalar al estado deseado.
Kubernetes ayuda a administrar la detección de servicios, incorpora equilibrio de carga, mantiene un seguimiento de la asignación de recursos, escala la capacidad en función del uso de proceso, comprueba el estado de recursos concretos y permite que las aplicaciones se recuperen automáticamente reiniciándose o replicando contenedores.
Más información acerca de los conceptos básicos de KubernetesCómo funciona Kubernetes
¿Por qué usar Kubernetes?
Implemente entornos basados en contenedores de un modo portátil, escalable y extensible.
Portabilidad
Traslade las cargas de trabajo en contenedores desde las máquinas de desarrollo locales hasta producción sin problemas. Organice los contenedores de un modo coherente en diferentes entornos en la infraestructura local y en nubes públicas y privadas.
Escalabilidad
Defina aplicaciones en contenedores complejas e impleméntelas globalmente en un clúster de servidores (o incluso en varios clústeres) a medida que Kubernetes optimiza los recursos conforme a su estado deseado. Con el agente de escala automático incorporado, Kubernetes puede escalar fácilmente su aplicación horizontalmente mientras supervisa y mantiene automáticamente el estado del contenedor.
Extensibilidad
Acceda a una amplia colección, cada vez mayor, de extensiones y complementos creados por los desarrolladores y las compañías que conforman la comunidad de Kubernetes. Un servicio de Kubernetes conforme permite aprovechar totalmente las ofertas de esta comunidad y agregar características, por ejemplo, de seguridad, supervisión y administración.
Más allá de Kubernetes
Las aplicaciones en contenedores auguran una agilidad mayor, pero Kubernetes por sí solo no puede desarrollar esa agilidad hasta el máximo posible. En su viaje de adopción de Kubernetes, no olvide probar lo siguiente conjuntamente en su plataforma de Kubernetes.
Una plataforma empresarial con experiencia en el desarrollo, las operaciones y el control de seguridad extremo a extremo puede ahorrarle tiempo en la administración de la infraestructura e implementar actualizaciones más rápido sin comprometer la seguridad y la confiabilidad.
- Automatización de la infraestructura o Kubernetes sin servidor para eliminar tareas rutinarias, como el aprovisionamiento, la aplicación de revisiones y la instalación de actualizaciones.
- Herramientas para el desarrollo de aplicaciones en contenedores y flujos de trabajo de integración e implementación continuas.
- Servicios para administrar la seguridad, la gobernanza, la identidad y el acceso.
Consiga agilidad a escala con Kubernetes y DevOps
A medida que se multiplican los contenedores, los entornos y los equipos que trabajan con ellos, puede aumentar la frecuencia de las versiones, junto con la complejidad operativa y de desarrollo. Muévase rápidamente a escala con mayor seguridad empleando DevOps en entornos de Kubernetes; puede moverse rápidamente a escala con seguridad mejorada.
Suministre código con más rapidez mediante integración e implementación continuas (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 KubernetesAdministre los recursos de un modo efectivo con infraestructura como código
La infraestructura como código favorece la coherencia y la visibilidad de los recursos de proceso entre equipos, lo que reduce la probabilidad de errores humanos. Esta práctica funciona junto 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 TerraformAgilice el bucle de comentarios con supervisión constante
Los contenedores inmutables, la frecuencia de las versiones y una capa de orquestación abstraída hacen que la observabilidad sea más compleja e incluso más crítica. Para reducir el tiempo entre los errores y sus correcciones, necesitará un vista completa de sus recursos, clúster, API de Kubernetes, contenedores y código, desde la supervisión del estado de los contenedores hasta un registro centralizado. Esa vista ayuda a prevenir cuellos de botella en los recursos, hacer un seguimiento de solicitudes malintencionadas y mantener las aplicaciones en un estado correcto.
Vea cómo funcionan las conclusiones de contenedores en tiempo realEquilibre la velocidad y la seguridad con DevOps
Obtenga observabilidad en tiempo real integrada como parte del flujo de trabajo de DevOps. 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ónEjemplo de flujo de trabajo de DevOps con Kubernetes
- 1Repita, prueba y depure rápidamente diferentes partes de una aplicación juntas en el mismo clúster de Kubernetes.
- 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.
- 3Compruebe el origen y la integridad de las imágenes de contenedor. Las imágenes se mantienen en cuarentena hasta que pasan un examen.
- 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.
- 5Imponga directivas para gobernar las implementaciones en el clúster de Kubernetes.
- 6La canalización de versión ejecuta automáticamente una estrategia de implementación predefinida con cada código.
- 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.
- 8Habilite telemetría de las aplicaciones, supervisión del estado de los contenedores y análisis de registros en tiempo real.
- 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 AKSKubernetes pertenece a la comunidad
Kubernetes se creó y prospera por la acción de miles de personas y cientos de corporaciones que han aportado su sabiduría, su código y su trabajo al proyecto. Base el éxito de su software en sus fervorosas y constantes aportaciones.
Colaboradores
Commits
en GitHub
Software de código abierto con un compromiso empresarial
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 de Kubernetes
-
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 -
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.
Vea una discusión completa sobre este tema -
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 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 procedimientos recomendados y modelos arquitectónicos creados por los miles de profesionales técnicos y asociados que utilizan Azure.
-
Siga este recorrido organizado para aprender Kubernetes.
Recursos
Vea vídeos de AKS y seminarios web de Azure a petición donde se explican las características principales y se ofrecen demostraciones y sesiones técnicas.
Siga tutoriales paso a paso de AKS:
- Creación de imágenes de contenedor desde una aplicación
- Carga de imágenes de contenedor en Azure Container Registry
- Implementación de un clúster de AKS
- Ejecución de imágenes de contenedor en Kubernetes
- Escalado de una aplicación e infraestructura de Kubernetes
- Actualización de una aplicación que se ejecuta en Kubernetes
- Actualización de un clúster de AKS
Únase a otros usuarios de AKS en GitHub, KubeCon o un evento de Meetup sobre Kubernetes cerca de su localidad.
- Realice el taller autodirigido de Azure Kubernetes
- Vea plantillas de inicio rápido de Azure para Kubernetes
- Vea la disponibilidad de AKS por regiones
- Obtenga más información sobre el código abierto en Azure
- Vea API, SDK y proyectos de código abierto de Azure
- Lea el e-book Designing Distributed Systems (Diseño de sistemas distribuidos)