[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