• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    ALMADDocker a kontejnery
    Docker aneb přístupný provoz kontejnerizovaných aplikací
    Docker(Hub), Compose, Swarm, boot2docker, DevOps, LXC, ECS, TumTum a jiné buzzwordy
    Bezpečnost v prostředí kontejnerů
    Related: automatizace [ Centralizovaná správa stanic a ostatních prvků v síti konfigurace/inventarizace/instalace/aktualizace/zalohovani ]
    rozbalit záhlaví
    JON
    JON --- ---
    MAJA: coz vo to, docker to ma zmaknuty dost dobre, ale lidi jsou kreativni :-)
    MAJA
    MAJA --- ---
    MLEKAR_STEIN: díky za postřehy ...

    čekal jsem, že to má docker nějak zmáknutý - nějaký docker backup/docker restore ale nic moc
    MLEKAR_STEIN
    MLEKAR_STEIN --- ---
    MAJA: zkontroloval bych

    1. jestli někdo neudělal symlink na
    /var/lib/docker případně na některé adresáře v něm. typicky jsem viděl symlink na /var/lib/docker/volumes kterej ukazoval někam na nějaký ssd disk
    2. podíval bych se do /etc/fstab, jestli není na.výše uvedené adresáře udělaný bind
    3. podíval bych se do lokální konfigurace systemd, která je někde v /etc jestli tam někdo néco vesele nepřenastavil.

    specielně bod 3 je docela zákeřný a umí potrápit stylem "jaktožesetopouštístímdleparametrem"

    ještě bych zkontroloval, jestli nějaký kontejner si nevyrábí nepojmenovaný volume pomocí direktivy v dockerfile. a nepoužívá to někdo jako že v tom má data
    viděl jsem takhle provozovaný postgres, kde po restartu se vývoj divil, kam jim zmizely data a že to musej pořád obnovovat.
    VELDRANE
    VELDRANE --- ---
    MAJA: jaky je problem si udelat male PoCko, kde vezmu images, prekopiruju je na cilovyc stroj, udelam kopii volumes za zaloh a predhodim to par testovacim uzivatelum pod jinou ip at mi otestuji zakladni funkce ?
    MAJA
    MAJA --- ---
    INDIAN: něco takového mám v plánu (myslím, že ani lidi vývojáři co to používají neví 100% co tam jak má být/je :-)

    ve /var/lib/docker jsou všechna data ? vč. volumes a sítování ?
    INDIAN
    INDIAN --- ---
    mno vono pokud clovek prijde k serveru kde bezi nezavisle na sobe nahodile nekolik kontejneru bez jakykoli spolecny deklarace, tak je prekopirovani natvrdo /var/lib/docker asi nejspolehlevejsi volba... jak sdelje zde MAJA - je treba na novym serveru nainstalovat stejnou verzi, nastavit pripadne dodatecny personalizace v daemon.json, stopnout vsechny kontejnery, zastavit na obou strojich docker.service a prekopirovat ze staryho zminenej obsah + samozrejme i veskery volumes ...

    ale samozrejme souhlasim, takhle by se to delat nemelo a pro budouci upravy by to melo bejt na novym stroji nainstalovany nejlip pomoci nakyho centralniho CI nastroje nebo orchestratoru.
    MAJA
    MAJA --- ---
    SH_PANDA: díky, vyzkouším ...
    MARTEN
    MARTEN --- ---
    HOUMLES: Jasne. Jako 99% procent volume mam v adresari projektu, aby se dobre kopirovalo. Ale historicky neco zustalo takhle blbe. Ale co jsem presouval ted, tak jen tarnul adresar s projektama, prekopirovat a vsude jen up. Jinak /var/lib/docker/volumes stejne ma jen ty. Ostatni adresare nepocitam, pokud existuje aspon compose.
    Ten mam rozchozeny kubernetes, tak jsem zvedav jak to pujde tam, az se budu zbavovat jednoho zeleza
    HOUMLES
    HOUMLES --- ---
    uff, presouvat kotejnery zpusobem, ze prekopiruju /var/lib/docker? to snad ne :) podstata dockeru je v tom, ze staci slozky s datama a k tomu docker-compose, popr. Dockerfile
    MAJA
    MAJA --- ---
    MARTEN: taky mám nutkání sladit přesně verze dockeru, na jednom stroji to poschazovat, zkopírovat na druhý stroj a nahodit ... bohužel tam něco běží a není to moje a nemám k tomu moc dokumentace :-)
    MARTEN
    MARTEN --- ---
    MAJA: Ja kdyz to resil, tak vetsinu veci jsem mel jako volume s cestou, takze jen prekopiroval. Co byly named, tak vpodstate taky cely /var/lib/docker
    Nechtelo se mi resit treba dump/restore u db. Presun souboru to prezilo. Ale zbytek jsem mel v docker-compose, tak si to vytvorilo vsechny site apod.
    MAJA
    MAJA --- ---
    Mám na jednom stroji rozběhaných několik docker containerů vč. volume a nějakého prosíťování.

    Potřeboval bych to celé přesunout na jiný stroj - jak to nejlépe provést ?
    MORTAELTH
    MORTAELTH --- ---
    JON: sice pozde, ale presne tohle delame. nase aplikace je takova super statefull :) backend aplikace ma embedovanou lokalni databazi, kterou si pri startu nahraje z blob storage do lokalni cache (stav shodny na vsech replikach se udrzuje pres Kafka eventy)

    Takze to reseni vubec neni na urovni statefulsetu, ale podu. Pod kdyz startuje tak si musi zaridit, ze je synchronizovany s blob storagi. Tu lokalni cache si nahraje do PVC, takze s restartem nestahuje vse.
    VELDRANE
    VELDRANE --- ---
    MARTEN: okd nejsou jen ostravsko-karvinske doly ale tez comunity edition openshiftu :)

    OKD.io - OKD.io
    https://www.okd.io/
    MARTEN
    MARTEN --- ---
    VELDRANE: to neznam. Chtel sem na to pouzit rancher, ktery je trochu flexibilnejsi nez OS pro mne.
    Pripadne napisu, nejak sesumarizuju. Rancher prave dokaze vyresit hodne veci sam a ma vlastni installator k8s, takze tohle jde relativne rychle.
    VELDRANE
    VELDRANE --- ---
    MARTEN: Pokud mas nejakou zkusenost s Openshiftem, proc nezkusit okd, kde uz je spousta veci vyresena. Priznam se ze teda nevim jakej je soucasnej stav toho projektu ale 3.x verze byly vcelku slusne. Obecne radim to stavet nad nakejma virtualkama a ne barematalu (par lidi melo tento chorej napad a je z toho akorat mrzeni). Co budes resit je jak dostat trafic dovnitr a ven, jak spolu budou ty ci ony sluzby komuňikovat, kde a jak deplojnout statefull komponenty jak databaze atd.
    Hele je to na nakou delsi debatu, jestli chces posli mi sz a muzem to po telefonu nebo whatsappu probrat.

    Svoje k8s si muzes postavit taky ale zabere Ti to vic casu protoze spoustu veci si musis poresit po vlastni ose (sdnku - je jich mabiliarda, registry, autentizaci, ingress, egress, monitoring, deployment atd apod). Ne ze by to neslo, je to dokonce moc hezka prace kde se hodne veci naucis ale docela casove narocna i pro cloveka co o tom trochu vi.

    Obecne to neni blbej napad, protoze pokud budes mit pak vyresenej deployment do takovyho prostredi, pak je vcelku burt jestli ho budes hostovat u sebe v on-premu nebo treba v azure v aks.
    QUICK
    QUICK --- ---
    MARTEN: a potřebuješ Kubernetes, nestačil by ti docker swarm? Použiješ existující docker-compose, nemusíš se učit Kubernetes, zerodowntime to umí. Záleží jak moc pokročilé věci od toho potřebuješ.
    VELDRANE
    VELDRANE --- ---
    INDIAN: To te fakt obdivuju, protoze takovouhle trpelivost sem nikdy nemel :).

    Nejvic sem miloval chybky v modulech, zpusobeny treba nakym nekompatibilnim python modulem nebo knihovnou. Jo jako fakt miluju ten tool, ale chapu ze asi lip to udelat neslo. To bylo pro me vzdycky hrozny mrzeni psat nejakou ansible roli.
    INDIAN
    INDIAN --- ---
    MARTEN: ja treba tuhle popsanou epizodu skoncil tim, ze se mi nepodarilo rozchodit argocd abych ten gitlab byl schopnej k tomu pripojit... po tejdnu sem to vzdal a nastesti pak v ramci akvizice nasi firmy sme presli na AWS/EKS s jiz hotovym CI frameworkem a ja se tim nemusel vic uz zabejvat
    pokud sem te porad neodradil, tak zkus kubespray:
    Installing Kubernetes with Kubespray | Kubernetes
    https://kubernetes.io/docs/setup/production-environment/tools/kubespray/
    MARTEN
    MARTEN --- ---
    INDIAN: V tomhle pripade kimsufi (takze osekane ovh :)). Ale to jedu fakt jen na infra, misto instalovani treba gitlab bez dockeru. Proc chci kubernetes misto toho, tak je nasazovani, tedy update na novou verzi. S docker-compose je to trochu zdlouhave a rozumne neudelam zero downtime. Plus se chci priucit. Nejaky cloud klidne pouziju pak na projekty co si vydelaji, ale treba na spousteni workeru v jenkinsu to lezlo trochu do penez. V pripade projektu co potrebuji treba vice ram taky. Takze na to vlastni je levnejsi vzit server za $20 a vedet ze tam narvu vse. Je mi jasne ze to nebude super lehke. Ale jinak mam zkusenost s Openshiftem (uzivatelsky?) a linux a tak. Takze ne vse bych se musel ucit. Spis jestli tou cestou jit nebo zustat u docker-compose ktery je proste simple. I kdyz pro nejake sdilene volume mezi serverama, LB a dalsi je to zase vic prace v nem nez K8S
    Kliknutím sem můžete změnit nastavení reklam