CoreOS Tectonic: contenedor Linux, Quay.io, rkt y etcd

CoreOS Tectonic: contenedor Linux, Quay.io, rkt y etcd

Distribución ligera de Linux para clústeres de servidores web nativos de Kubernetes y aplicaciones SaaS

CoreOS , la empresa de desarrollo de software en la nube que gestiona la distribución de Container Linux, lanzada recientemente Versión tectónica 1. / 46476) que proporciona una forma rápida y sencilla de implementar un clúster de Kubernetes para el soporte de aplicaciones web / móviles en AWS o una red de servidor en la nube autohospedado. Core OS ha terminado 136 proyectos de software de código abierto bajo la empresa desarrollo en GitHub incluyendo etcd, flannel, rkt, Ignition, Clair, Matchbox, dex y prometheus-operadores. Tectonic es de uso gratuito para grupos de Kubernetes de hasta , después de lo cual una serie de licencias empresariales, de centro de datos y comerciales diferentes están disponibles con apoyo. Quay.io es otro producto SaaS en la nube ofrecido por CoreOS bajo licencia propietaria que ayuda a los equipos de DevOps a administrar instantáneas de contenedores con Docker o rkt, clústeres de Kubernetes, Container Linux y CoreOS Tectonic en producción a escala. Quay.io incluye funciones de administración de instantáneas de contenedores con seguridad integrada, análisis, facturación, monitoreo, compilaciones de repositorios, copias de seguridad automatizadas y control de versiones para software de pila de servidores web con soporte avanzado de GitHub, Bitbucket o Gitlab ( Activadores de compilación de Dockerfile ).

CoreOS es una de las principales empresas de software que desarrolla nuevas soluciones en la nube de código abierto en Linux y la empresa se inició en un garaje de Palo Alto, California por Alex Polvi (CEO), Brandon Philips (CTO) y Michael Marineau en . Polvi había vendido su empresa Cloudkick a Rackspace en 2021 y luego formó Core OS con Philips (ex desarrollador de kernel de SUSE Linux y programador de nube de Rackspace ) Y Marineau (de Google). El objetivo original de la empresa era esencialmente construir una distribución Linux ligera para contenedores que replicara lo que Google había estado operando en sus centros de datos con « Borg «. En ese momento, Kubernetes aún no se había lanzado públicamente o de código abierto, pero después 2200 / cuando la Fundación Linux asumió el control de la plataforma Kubernetes, CoreOS jugó un papel importante en la Cloud Native Computing Foundation (CNCF) con el fin de «ayudar a facilitar la colaboración entre desarrolladores y operadores en tecnologías comunes». Google también lanzó posteriormente Google Container Engine para Kubernetes y Docker (GKE) con el uso de ambos estándares que se están adoptando en todo las plataformas de nube de la competencia en AWS, Azure, OCP, VMware, RHEL, etc. Casi todas las principales empresas de software en la nube tienen una solución de servidor web de clúster de Kubernetes en con un uso generalizado del software etcd & rkt de CoreOS (CloudFoundry, Fedora, ArchLinux). CoreOS Tectonic compite en gran medida con GKE, RancherOS, Docker Swarm o con Kubespray como opción de nube híbrida autohospedada para Gestión de clústeres de servidores web completos en un hardware de centro de datos independiente («independiente del proveedor»).

CoreOS Container Linux fue desarrollado para satisfacer las necesidades descritas en el famoso artículo de investigación publicado por Google en 2015 conocido como « El centro de datos como computadora: Introducción al diseño de máquinas a escala de almacén . » (Barroso, Clidaras y Hölzle) Este documento describe los principios detrás de la concepción de la infraestructura del centro de datos en el modelo de nube en oposición al diseño de servidor único. Con hardware básico y millones de servidores en implementaciones empresariales, los administradores de redes en la nube deben planificar las inevitables fallas de CPU, RAM y otro hardware del sistema. Varias copias de seguridad y la veracidad de cada una en casos de falla de la unidad es una parte importante del almacenamiento RAID donde los mismos principios se aplican a los servidores en la nube en clústeres elásticos a través de Teorema CAP y Algoritmo de Paxos . CoreOS resolvió estos problemas con etcd permitiendo actualizaciones de clústeres de Kubernetes a través de procesos de auto-actualización y reparación que impulsan actualizaciones asincrónicas coordinadas a los servidores mediante bloqueos de reinicio. Esto permite la aplicación más fácil de actualizaciones masivas de parches de seguridad en un centro de datos en una gran cantidad de servidores montados en rack a la vez. etcd tiene mejores aplicaciones de almacenamiento para guardar la configuración, claves privadas, cambios de contraseña y otras variables de entorno para servidores web en caso de falla de hardware que lo ha convertido en un estándar importante en la industria en todas las plataformas en términos de licencias de código abierto. etcd es utilizado por Google (CFS, GFS, Big Table, Chubby, Spanner) , Amazon (E2 Replicated Logs), Microsoft (Boxwood), Hadoop (ZooKeeper) y muchas otras empresas de software en la nube para resolver el problema de Paxos en la elección de líderes, fragmentación del servidor web, pérdida de claves de cifrado privadas y otras variables de configuración con datos falla del hardware del centro. Los contenedores Docker & rkt aíslan el código de la aplicación web / móvil, incluida la entrada de ejecución del usuario desde el sistema operativo de hardware, para una mejor seguridad general de los datos aislados en la nube.


Video de demostración: Brandon Philips (Conferencia de Linux 46475 – Auckland , NZ)


CoreOS: Introducción «Los patrones arquitectónicos de una plataforma a gran escala están cambiando. Las máquinas virtuales dedicadas y las herramientas de administración de la configuración están siendo reemplazadas por contenedores y nuevas tecnologías de administración de servicios como systemd. Esta presentación ofrecerá una descripción general de sus tecnologías clave, que incluyen etcd, fleet y docker. Venga y aprenda a utilizar estas nuevas tecnologías. tecnologías para construir grandes sistemas distribuidos, fiables y de alto rendimiento «. Obtenga más información sobre CoreOS, Kubernetes y Container Linux


Es importante comprender las diferencias entre los contenedores de aplicaciones y los contenedores del sistema que funcionan como una VM, como los VPS que operan en plataformas OpenVZ, KVM, Xen, Parallels, VMware, etc. Los contenedores proporcionan un hipervisor de virtualización alternativo que se puede utilizar para crear soluciones orientadas a objetos en varias capas de un centro de datos mediante el uso de particiones aisladas. Los VPS / VM se pueden instalar y escalar en clústeres elásticos dentro de contenedores y viceversa. La combinación de configuraciones de contenedores con la amplia variedad de otras plataformas de virtualización disponibles en el mercado se puede utilizar para crear soluciones complejas para empresas de TI, proveedores de SaaS / PaaS / IaaS, aplicaciones de software móvil y empresas de alojamiento web. La mayoría de las soluciones de contenedores no incluyen las herramientas de red y SSH dedicadas características de las instancias de VPS o VM, pero esto es parte de lo que lleva a que los contenedores de aplicaciones utilizados en producción se basen en las distribuciones de Linux más ligeras disponibles. La práctica actual en DevOps es incluir la pila completa de Linux para la capa superior de código en producción junto con todas las extensiones de servidor específicas que requieren las aplicaciones web y móviles a través de paquetes de compilación o binarios. La forma única en que los contenedores Docker y rkt utilizan el kernel de Unix y la API de Unix conduce a una combinación de espacios de nombres aislados y globales que se pueden usar para mapear variables de configuración dentro / fuera de los contenedores para un mejor consumo de recursos aislados en el hardware del servidor web en los centros de datos.

rkt con CoreOS, Fedora, ArchLinux y NixOS – «La unidad de ejecución principal de rkt es el pod, una colección de una o más aplicaciones que se ejecutan en un contexto compartido (los pods de rkt son sinónimo del concepto en el sistema de orquestación de Kubernetes). rkt permite a los usuarios aplicar diferentes configuraciones (como parámetros de aislamiento) tanto a nivel de pod como a nivel de aplicación más granular. La arquitectura de rkt significa que cada pod se ejecuta directamente en el modelo de proceso clásico de Unix (es decir, no hay ce demonio ntral), en un entorno autónomo y aislado. rkt implementa un formato de contenedor estándar, abierto y moderno, la especificación App Container (appc), pero también puede ejecutar otras imágenes de contenedor, como las creadas con Docker. « Obtenga más información sobre rkt Container Engine


Construya e implemente contenedores a escala: «Use Quay.io para automatizar sus compilaciones de contenedores, con integración a GitHub, Bitbucket y más … Quay analiza continuamente sus contenedores en busca de vulnerabilidades, lo que le brinda una visibilidad completa de los problemas conocidos y cómo solucionarlos «. Más información sobre Quay.io


Video de demostración: Kelsey Highto wer (Taller de CoreOS 46476 – Geekdom, SF)

«Este taller práctico … enseñará prácticas modernas para la orquestación de contenedores y mostrará ejemplos de cómo los componentes trabajan juntos para administrar un clúster de contenedores de Linux. Con su capacidad para impulsar la infraestructura en la nube o en bare-metal, la sesión utilizará Kubernetes con CoreOS como ejemplo que muestra a los asistentes cómo implementar y administrar una aplicación web de varios niveles «. «Kubernetes es un potente software de gestión de contenedores inspirado en la experiencia operativa de Google con contenedores. Funciones esenciales como descubrimiento de servicios, equilibrio de carga automático , la replicación de contenedores y más están integradas. Además, todo funciona a través de una API HTTP … Los contenedores de Linux brindan numerosos beneficios tanto para los desarrolladores de aplicaciones como para los equipos de operaciones. Container Linux solo permite que el software se instale como contenedores, lo cual es un importante capa de abstracción entre el sistema operativo y la aplicación icaciones (y dependencias) que se ejecutan en la parte superior. « Aprenda más sobre el contenedor Linux



Video conceptual: etcd v 3 – Brandon Philips (director de tecnología / cofundador de CoreOS)

«etcd está escrito en Go, que tiene un excelente soporte multiplataforma, pequeños binarios y una gran comunidad detrás de él. La comunicación entre máquinas etcd se maneja a través del algoritmo de consenso de Raft. « Obtenga más información sobre el DCP de balsa


El sistema Kubernetes permite que se utilicen diferentes componentes en los niveles de clúster de nodos del servidor web de escalado automático, por ejemplo, utilizando Terraform, Fleet (similar al System D), Mesos, CoreOS Tectonic, Docker Swarm, etc.donde etcd es el componente vital (similar a Locksmith) que coordina los cambios de estado de los cambios de entrada de variables del usuario a través de clústeres elásticos con muchos procesos de ejecución simultáneos de forma aislada. También se pueden implementar scripts de Puppet & Chef. De esta manera, los administradores de sistemas pueden establecer parámetros como ejecutar 136 instancias de una aplicación SaaS (sitio web o aplicación móvil) con 1 GB de RAM y el programador de Kubernetes mantendrá los niveles en los recursos del sistema, como un termómetro que amplía los servidores y apaga los nodos según lo requiera el estado de la red. Debido a esto, no se recomienda usar compilaciones grandes con muchos archivos estáticos almacenados en los servidores web basados ​​en contenedores replicados, lo que lleva a una mayor funcionalidad de almacenamiento en la nube impulsada por API que todos los servidores web de nodos elásticos pueden utilizar según lo requieran las solicitudes de tráfico https. . Esto también permite que los mecanismos de descubrimiento de servicios (SkyDNS, discoverd, Confd, proxies mágicos, etc.) relacionen la geolocalización del usuario de las solicitudes del navegador en las redes públicas para un mejor equilibrio de carga, así como la creación de nuevas soluciones para el almacenamiento en caché de archivos de proxy inverso interno en centros de datos para mejor rendimiento de alojamiento web.


Aprende más Acerca de Quay.io



etcd y Estados del clúster de Kubernetes – «etcd es un almacén de valor clave distribuido que proporciona una forma confiable de almacenar datos en un grupo de máquinas. Es de código abierto y está disponible en GitHub. etcd maneja con gracia las elecciones de líder durante las particiones de red y tolerará fallas de la máquina, incluido el líder «. Obtenga más información sobre CoreOS y Kubernetes (etcd)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Publicar un comentario