El origen y desarrollo de Kubernetes y las características de cada versión

Kubernetes (a menudo denominado K8) es una plataforma de gestión y orquestación de contenedores de código abierto que se utiliza para automatizar la implementación, el escalado y la gestión de aplicaciones en contenedores. Se originó en Borg, un proyecto interno de Google, y es el producto de los años de experiencia y tecnología de Google en la gestión de cargas de trabajo en contenedores a gran escala. El siguiente es un artículo de 10.000 palabras sobre el origen y desarrollo de Kubernetes.

Origen
El origen de Kubernetes se remonta a 2014, cuando la tecnología de contenedores Docker estaba emergiendo rápidamente. Para gestionar mejor las aplicaciones en contenedores, Google introdujo el concepto de Borg, su sistema de orquestación de contenedores de uso interno, a la comunidad de código abierto. Lanzaron el proyecto Kubernetes, cuyo objetivo es proporcionar una plataforma de administración e implementación unificada y portátil para aplicaciones nativas de la nube.

Principios de diseño
Los principios de diseño de Kubernetes incluyen portabilidad, escalabilidad y autorreparación. Proporciona una arquitectura flexible y escalable que puede ejecutarse en varias plataformas de nube, entornos de máquinas virtuales y clústeres de máquinas físicas. Kubernetes utiliza una serie de conceptos básicos, como Pod, Servicio, Controlador de replicación, etc., así como configuración declarativa y gestión automatizada para garantizar una alta disponibilidad, elasticidad y escalabilidad de las aplicaciones.

Historial de desarrollo
Desde el lanzamiento inicial de Kubernetes, se ha convertido rápidamente en el estándar de facto en la orquestación y gestión de contenedores y ha recibido una adopción y soporte generalizados. A continuación se muestran algunos hitos y etapas importantes del desarrollo de Kubernetes:

Lanzamiento de la versión inicial (2014): el lanzamiento de la versión inicial de Kubernetes atrajo la atención y la participación de la comunidad de código abierto y comenzó a convertirse en un líder en el campo de la orquestación de contenedores.

Conviértase en un proyecto CNCF (2015): Kubernetes fue aceptado como un proyecto de alto nivel por la Cloud Native Computing Foundation (CNCF), acelerando su desarrollo y expansión de la comunidad.

Lanzamientos de versiones estables (2015-2016): Kubernetes continúa desarrollándose y lanzó una serie de versiones estables en 2015 y 2016 para brindar a los usuarios funciones y características más confiables y maduras.

Expansión del ecosistema (después de 2016): el ecosistema de Kubernetes continúa expandiéndose, incluidas varias herramientas, complementos y servicios de terceros para satisfacer las necesidades de diferentes usuarios, como Helm, Prometheus, Istio, etc.

Compatibilidad con contenedores de Windows (2016 en adelante): Kubernetes comienza a admitir la ejecución de aplicaciones en contenedores en sistemas operativos Windows, lo que amplía su alcance y atrae más interés de los desarrolladores.

Velocidad de desarrollo de Kubernetes y actividad de la comunidad (después de 2017): el desarrollo de Kubernetes continúa acelerándose y la actividad de la comunidad es extremadamente alta. El informe de la encuesta publicado por CNCF cada año muestra que cada vez más organizaciones y empresas utilizan Kubernetes en entornos de producción.

Lanzamiento de Kubernetes 1.0 (2018): Kubernetes lanza la versión 1.0, lo que marca un hito importante en su madurez y estabilidad.

Gestión de múltiples clústeres y soporte de nube híbrida (después de 2019): Kubernetes comienza a brindar administración de múltiples clústeres y soporte de nube híbrida, lo que permite a los usuarios realizar una gestión unificada de contenedores en múltiples plataformas de nube y ubicaciones geográficas.

Ecosistema nativo de la nube de Kubernetes (después de 2020): Kubernetes se ha convertido en la piedra angular del desarrollo y la implementación de aplicaciones nativas de la nube, y su ecosistema nativo de la nube continúa desarrollándose, incluidas bases de datos nativas de la nube, mallas de servicios, herramientas de seguridad, etc.

Características de la versión

Kubernetes 1.0: lanzado en 2015, y constituye la primera versión estable de Kubernetes. Esta versión presenta conceptos básicos y funciones básicas, como Pod, Servicio, Controlador de replicación, etc.

Kubernetes 1.4: lanzado en 2016, introdujo muchas características importantes, incluida la administración dinámica del volumen de almacenamiento, políticas de red y escalado automático horizontal estable.

Kubernetes 1.6: lanzado en 2017, se centra en mejoras de seguridad y estabilidad, como control de acceso basado en roles (RBAC), gestión de certificados y mejoras de escalabilidad del programador.

Kubernetes 1.9: lanzado en 2017, introdujo mejoras de escalabilidad y estabilidad, incluida la expansión del tamaño del clúster, mejoras de estabilidad de StatefulSet y controladores de admisión externos.

Kubernetes 1.12: lanzado en 2018, centrándose en mejoras en la observabilidad y la facilidad de uso. Esta versión presenta características como definiciones de recursos personalizadas (CRD), visualización de eventos de clúster y cuotas de recursos.

Kubernetes 1.16: Lanzado en 2019, se centra en resolver problemas de operación y mantenimiento del clúster. Esta versión presenta características como actualizaciones automatizadas del clúster de Kubernetes, optimización del programador y administración de topología de nodos.

Kubernetes 1.18: lanzado en 2020 con un enfoque en la observabilidad y el almacenamiento persistente. Esta versión presenta varias características, como la interfaz de almacenamiento de contenedores (CSI) y mejoras en el panel.

Kubernetes 1.20: lanzado en 2020 con un enfoque en la escalabilidad y la seguridad. Esta versión presenta Kubernetes Storage Versioning v3 y una mejor compatibilidad con IPv6.

Kubernetes 1.22: lanzado en 2021, centrándose en mejorar la experiencia de los desarrolladores y la eficiencia operativa. Esta versión presenta el canal de distribución de Kubernetes, la configuración dinámica de Kubelet y una nueva arquitectura de almacenamiento de registros.

Como proyecto de código abierto, el desarrollo de Kubernetes depende de las contribuciones y el apoyo de una gran comunidad global. Se espera que a medida que aumente la popularidad y la demanda de las aplicaciones nativas de la nube, Kubernetes continúe desarrollándose y evolucionando, brindando a los usuarios características y soluciones más innovadoras.

Supongo que te gusta

Origin blog.csdn.net/weixin_43784341/article/details/131461347
Recomendado
Clasificación