Architektūros sprendimo įrašas: Kubernetes konteinerių orkestravimas
Problemos formulavimas
Turime pasirinkti konteinerių orkestravimo platformą savo augančiam debesijai natūralių programų portfeliui. Dabartinė paveldėtos platformos diegimo eiga per lėta ir nepakankamai lanksti, kad atitiktų mūsų augančius poreikius. Ieškome sistemos, kuri leistų kuo efektyviau keisti mūsų paslaugų mastelį nepakenkiant lankstumui ar naudojimo paprastumui.
Svarstytos alternatyvos
Docker Swarm
Kubernetes
Apache Mesos
Priimtas sprendimas
Atlikę kruopščią kiekvienos konteinerių orkestravimo platformos analizę, nusprendėme priimti Kubernetes kaip geriausią variantą mūsų įmonės poreikiams. Mūsų priežastys rinktis Kubernetes yra šios:
Mastelio keitimas: unikalus Kubernetes dizainas puikiai tinka programų mastelio keitimui, o kai mūsų mastelio keitimo reikalavimai laikui bėgant kinta, Kubernetes turi integruotą gebėjimą be problemų prisitaikyti prie šių pokyčių.
Decentralizuota architektūra: Kubernetes pagrindinio-darbinio mazgo (master-worker) topologija užtikrina decentralizuotą architektūrą, kurioje nėra vienos gedimo vietos.
Bendruomenės parama: Kubernetes turi didžiausią ir aktyviausią atvirojo kodo bendruomenę, o tai reiškia, kad yra daug prisidedančiųjų, programuotojų ir tiekėjų, todėl mums lengviau gauti pagalbos ir rasti išteklių.
Ekosistemos parama: Kubernetes turi augančią ekosistemą su įvairiais trečiųjų šalių įrankiais, integracijomis su konteinerių registrais, CI/CD konvejeriais, duomenų saugojimu ir kt.
Todėl nusprendėme priimti Kubernetes kaip savo konteinerių orkestravimo platformą dabartiniam ir artimiausiam laikotarpiui.