[talk-cz] Servery českého OSM

Miroslav Suchý mirek na rodina-sucha.cz
Čtvrtek Březen 4 06:40:53 UTC 2021


tl;dr Pokus zavést pořádnou infrastrukturu, kdy se o komunitní servery stará více než jeden člověk. Plus jeden 
vývojářský server.


Včera bylo pivo dost produktivní. Jedna z věcí co se tam probrala bylo, že bychom konečeně opustili kct_barva. Shodli 
jsme se, že Martin Ždila by nám udělal turistickou vrstvu pro ČR a mohli bychom přestat používat Petrovu vrstvu, která 
se zdá být posledním uživatelem kct_barva. Tolik jenom ve zkratce, tohle téma bych nechal na jiné vlákno a někomu jinému.
Tohle vlákno je o serverech. Martin říkal, že když mu dáme přístup na server, že nám to nakonfiguruje a může to tam jet.

Jenže - když to hodně zjednoduším - tak v Česku máme hromadu individuálních serveru, které jsou spravovány jednotlivci a 
není žádná dokumentece jak jsou nastaveny.
Pokud server vyhoří nebo dotyčného přejede autobus - tak je problém. Stejně tak pokud by se někdo chtěl zapojit do 
správy takohového serveru, tak je to problém: není jasné jak a co tam je nakonfigurované. Současný správce by neměl 
jistotu co by nový člověk udělal a jak. Takže....

Bych si troufnul navrhnout: že bychom nasazení serverů popsali pomocí Ansible
   https://www.root.cz/serialy/konfiguracni-a-orchestracni-nastroj-ansible/
   https://docs.ansible.com/

Výhoda je, že celý proces nasazení a konfigurace je popsán pomocí Ansible skriptu - což je spíše takový recept. Pokud 
server shoří, tak se spustí nová virtuálka, spustí se skript a do 20 minut je server nakonfigurovaný úplně přesně tak 
jak byl před tím.
Pokud něco ručně sprasí na serveru - spustí se Ansible a do pěti minut je konfigurace serveru opravena do původního stavu.
Se správou mohou pomáhat i lidi, co nemají přístup na ten server - prostě pokud vidí očividnou chybu v konfiguraci na 
udělají pull-request na Ansible skript a po mergy ho správce spustí.

S Ansible mám hodně zkušeností. Pokud by někdo chtěl zdokumentovat deployment svého serveru pomocí Ansible, tak jsem 
ochoten udělat nějaké malé školení.

Udělal jsem
   https://github.com/osmcz/infra-ansible
postupně tam přidám nějaké povídání a chtěl bych tam napsat playbook pro ten server co chce Martin podle jeho poznámek.
Vytvořil jsem (za své prachy) malý server (1CPU, 1.5 GB RAM, 160 GB disk), který bych dedikoval na jakékoliv vývojářské 
pokusy. Zatím zejména s Ansible.

Server se nakonfigure pomocí:

   ansible-playbook playbooks/dev.yml

zatím tam teda není nic než update balíku a instalace ssh klíčů. Na tento server dám přístup každému kdo bude ochoten se 
zapojit a bude schopen udělat pull-request v kterém tam přidá své public ssh klíče. Vědět jak, bude zatím dostatečným 
filtrem.

Ta dev instance je vytvořená jako spot instance a má ephemeral storage. Tj. může být kdykoliv zabita a obsah disku může 
kdykoliv zmizet. V praxi se to moc nestává (třeba roky), ale je třeba s tím počítat a nedávat si tam něco důležitého. A 
vše trvalé dokumentovat v Ansible.

Mirek



Další informace o konferenci talk-cz