25 de març de 2024
Mesosphere DC/OS
Revolució en la gestió de clústers amb DC/OS
Avui en dia tot administrador de sistemes coneix Apache Mesos, però potser no tant la companyia Mesosphere i el seu projecte DC/OS (DataCenter Operating System).
Per a qui no hagi sentit parlar d'Apache Mesos, dir-vos que és un programari per a la gestió de clústers el qual proporciona un aïllament dels recursos. Permet executar múltiples sistemes distribuïts en un mateix clúster de màquines i compartir de forma dinàmica i eficient els recursos. En aquest procés intervenen els nodes master, slaves i el bootstrap. Aquests nodes munten la infraestructura i decideixen els rols dels altres nodes.
Mesosphere li ha donat una volta de rosca i ha creat DC/OS, un sistema operatiu de centres de dades. DC/OS et permet la gestió de múltiples màquines com si fossin una sola. A més, automatitza la gestió de recursos, facilita la comunicació entre processos i simplifica la instal·lació i gestió dels serveis distribuïts. Aquest sistema inclou una interfície web intuïtiva i permet també interactuar per CLI.
No exagerem quan diem que simplifica la instal·lació dels serveis distribuïts. Amb un parell de clics podem disposar de més de 40 serveis com Cassandra, Jenkins, Chronos, Kafka, Spark, Zeppelin entre altres. Ara bé, considerant que DC/OS no té ni un any de vida comercial, amb el temps seran molts més.
Arquitectura de DC/OS
No es pot dir que DC/OS és un sistema operatiu, ja que aquests gestionen els recursos d'una única màquina. DC/OS és un sistema operatiu distribuït que abstrau els recursos d'un conjunt de màquines i proporciona serveis comuns.
El nucli de DC/OS està compost per màquines Mesos, les mestre i els agents (esclaus). A més alt nivell tenim els components del sistema, com serveis DNS i Marathon. En un nivell superior tenim la capa d'usuari on resideixen tots els processos i serveis.
Integració amb Dockers
DC/OS és un sistema fàcilment integrable amb tecnologia de contenidors. No obstant això, per a la integració de microserveis es necessitarà un orquestrador de dockers.
Tant per a Mesos com per a DC/OS en particular l'orquestrador de contenidors que haurem d'usar és Marathon, el qual s'integra fàcilment i crea una base sòlida sobre la qual es llançaran els microserveis i aplicacions web.
De fet, DC/OS ja inclou Marathon com a component principal per orquestrar tant serveis amb dockers com càrregues de treball que no treballen amb contenidors. Marathon et dóna la possibilitat de programar infinites tasques en milers de nodes paral·lelament.
Escalabilitat i alta disponibilitat
Com és de preveure, DC/OS és altament escalable, tant manualment afegint i eliminant les instàncies necessàries com configurant un model d'autoescalat basat en el nombre de sessions a través del balancejador de Marathon.
DC/OS disposa d'alta disponibilitat, donat el nombre d'instàncies en les quals treballa, però fins i tot per als serveis que gestiona, també existeix la possibilitat de configurar-los amb alta disponibilitat. Per a això, Marathon monitoritza tots els serveis i en cas de fallada són reiniciats.
Conceptes de Seguretat
Donat que el kernel de DC/OS està basat en Linux, el sistema aplica totes les millors pràctiques d'aquest. A part, per al nivell de serveis i processos s'apliquen tres zones de seguretat diferenciades:
Zona d'administració: Zona accessible a través de HTTP/HTTPS i per SSH, la qual proporciona accés als nodes mestres. També fa de proxy invers per als altres nodes del clúster.
Zona privada: És una xarxa que no és enrutable i únicament es pot accedir des de la zona d'administració o des de la zona pública a través de l'edge router. En aquesta zona se solen desplegar els nodes agents (esclaus).
Zona pública: És on s'executen les aplicacions que requereixen d'accés públic. L'edge router serà el que enviï el trànsit als nodes agents que estiguin a la xarxa zona privada.
DC/OS sobre Amazon Web Services
Mesosphere posa a disposició dels usuaris un template de CloudFormation per a la creació i configuració automàtica de la infraestructura, l'inconvenient és que no és una configuració personalitzada i únicament et dóna les opcions de triar entre 1 o 3 masters i en quina regió vols desplegar-lo.
Us recomanem seguir la configuració avançada per poder desplegar DC/OS a la teva mida.
Com a resum deixem alguns beneficis d'utilitzar DC/OS i mesos:
- L'execució de tasques amb càrregues incrementals a través de tot el clúster
- Tenir una configuració a nivell global, en masters i slaves fan que la configuració sigui més simple d'administrar.
- La facilitat d'aixecar algun servei i/o aplicació a més de brindar-nos propietats com escalament horitzontal i tolerància a fallades.
En conclusió
DC/OS fa ús de mesos per sota per a l'execució de tasques i frameworks. Per defecte en instal·lar DC/OS tenim instal·lat mesos, ja que com hem comentat DC/OS afegeix algunes funcionalitats a mesos.
Quan executem una tasca en un agent de mesos aquest fa ús dels cgroups (contenidors de processos) per restringir l'ús de CPU i RAM, d'aquesta manera això ajuda a que una tasca excedeixi els recursos assignats.
Els frameworks en mesos són una aplicació que utilitza l'API de Mesos per rebre ofertes de recursos de Mesos i respon a les ofertes de recursos per indicar a Mesos que executi tasques si el framework requereix tasques per executar-se i l'oferta té recursos suficients.
És important aclarir que un framework pot tenir “n” quantitat de tasques, podem veure-ho com si un framework fos el procés pare i aquest té processos que actuarien com els fills.
Share