• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    ALMADDocker a kontejnery
    ADM
    ADM --- ---
    JON: to co pise KING (data caching container) je univerzalnejsi reseni, bude lip fungovat ve vsech situacich kdyz se pod otoci, premigruje na jinej node apod.
    VELDRANE
    VELDRANE --- ---
    JON: Pri mych zkusenostech s ansiblem a jeho moduly bych volil shell :)). Je to jistota a clovek neprijde o nervy
    JON
    JON --- ---
    VELDRANE: jen jsem se chtel ujistit a pripadne zeptat na ten modul. Ale spis se vrhnu tema cestama pro k8s nativnejsima, nez se to externe snazit ovladat.
    VELDRANE
    VELDRANE --- ---
    JON: mno a ? Hadam ze i z ansiblu pustis kubectl a nebo bude k dispozici nejakej (asi nedopecenej jak uz to u ansiblu byva..) modul kterej to vosefuje.
    JON
    JON --- ---
    KING: Jo, to me napadlo taky jako moznost - mit v tom kubernetu treba cron-job, kterej bude udrzovat lokalni kopii tech potrebnych dat a servicu, ktera ty data bude na pozadani vydavat.

    ADM: me prave prislo jako overkill nejak resit to lockovani mezi temi init containery, ale co se mi nakonec podarilo vygooglit, tak je to v teto situaci doporucovany postup - vpodstate se kuberneti API zneuzije jako mutex pro ty initcontainery - prace bezi jen v prvnim, a ostatni jen cekaj az ten dobehne.

    Vsem dekuju za podnety - snad vam to i zpestrilo den jako zajimavy problem (ktery navic nemusite resit, staci poradit :) )
    KING
    KING --- ---
    JON: ja myslim, ze ta otazka neni na deployment, ale cachiing - to je to co chces, aby se to nestahovalo opakovane.

    Tak si udelej uplne samostatnou service ktera bude proxy pro to externi uloziste a poresi tuhle logiku za tebe a ten stateful set to nebude muset resit. Ty pak nebudes muset resit slozitou orchestraci. Proste si jen kazdy pod vyzada od te sluzby kopii dat, ta service to stahne a vsem vrati. Jedine co ti zbyva poresit je nejake zamykani/cachovani/verzovani dat v te service, ale to je radove jednodussi problem imho
    ADM
    ADM --- ---
    JON:

    pokud mas dobre technicky vyreseny tohle:
    2. tato data se v clusteru lokalne rozkopirujou tak, aby kazdy pod ve StatefulSetu mela vlastni kopii

    tak asi nic lepsiho nez tohle nevymyslis:
    Asi bych mohl nejak sesynchronizovat ty InitContainery, ze by tu opravdovou praci udelal jen jeden, ale je to takove neohrabane.

    neohrabane to muze byt a nemusi (zalezi dost jak neohrabane je to samotne rozkopirovani dat v clusteru), jde o to jak vymyslis synchronizaci tech initcontaineru, jake mas moznosti (naivni pristup ten prvni treba udela lockfile, a ty dalsi tak pochopi ze uz to nekdo za ne resi, kdyz lockfile zmizi tak hotovo, ale zas aby to nevyhnilo pokud padne ten pracovni initcointainer)
    JON
    JON --- ---
    VELDRANE: jako ze ansiblem tahat za kuberneti API?
    VELDRANE
    VELDRANE --- ---
    JON: heie na to bych si asi napsal nakou ansible roli (a to ten tool fakt nenavidim :))
    JON
    JON --- ---
    Mam kuberneti dotaz: potreboval bych dosahnout nasledujiciho postupu pri deploynuti nove verze aplikace, ktera bezi jako StatefulSet

    1. z externiho uloziste se stahnou aktualni run-time data (dost velika)
    2. tato data se v clusteru lokalne rozkopirujou tak, aby kazdy pod ve StatefulSetu mela vlastni kopii
    3. appka se pusti jako StatefulSet o X podech, kazdy pod ma vlastni kopii dat

    Nechci, aby si kazdy pod porizoval tu kopii z externiho uloziste sam (zahlti to linku, zbytecne se Xkrat bude tahat to same). Nedari se mi k tomu nic moc najit - mozna jen nevim co googlit. Idealni by bylo, kdybych nejak mohl spustit jeden InitContainer pro celej StatefulSet - ale to imho nejde, InitContainer je vazanej k Podu.
    Asi bych mohl nejak sesynchronizovat ty InitContainery, ze by tu opravdovou praci udelal jen jeden, ale je to takove neohrabane.
    JON
    JON --- ---
    DRUDRIGER2: co dat ty databazi volume na data, aby tam ta data po restartu zustala?

    jinak to ze se to po preneseni do jine site nedostane na internet nebude souviset se setupem v docker-compose, ale se setupem dockeru, a mozna s necim este jinym.
    DRUDRIGER2
    DRUDRIGER2 --- ---
    zdravim mam jednu otazecku.
    mam docker-compose kde pouzivam sit i mezi containerama.
    do db v dockeru si nalivam data s produkce abych co nejpresneji simuloval pro vyvoj.
    obcas ale potrebuji prenest notas s kanclu domu a naopak. a kdyz to udelam tak se uz docker nedostane na internet.
    popravde nevim co s tim.
    jako jedno reseni mne zatim napadlo a to mit dva adresare a v kazdem z nich postavenej jeden docker ...ale to jekai tezkopadne.
    jinak db co tam nalejvam mam kolem 4G. takze ten restart docela casove trva a celkove se mi to reseni nelibi.
    kus zdrojaku tady
       oldaheeva:
            image: mysql:8.0.22
            command: mysqld --default-authentication-plugin=mysql_native_password --log-bin-trust-function-creators=1
            container_name: "${XNET_HOST_PREFIX}-oldaheeva"
            expose:
                - 3306
            environment:
                MYSQL_ROOT_PASSWORD: heslo
                MYSQL_DATABASE: aheevaccs
                MYSQL_USER: xnet
                MYSQL_PASSWORD: aheeva_old
                TZ: Europe/Prague
            networks:
                - xnet-net
    networks:
        xnet-net:
            external:
                name: cacti-xnet-net
    dik za rady. potrebuji mit nastaveno tak ze kdyz hostovskej pc zmeni internet pripojeni tak se z dockeru stale dostanu na net.
    SH_PANDA
    SH_PANDA --- ---
    Mate uz nekdo Oracle 21c XE v dockeru? Bojuju s peipojenim z hostu, ktere mi nefunguje bez vypleho userland proxy, co vadi zase v docker-compose nginxu. :-/
    MARTEN
    MARTEN --- ---
    FALLENANGEL: Presne tak. Bud vezmes bare metal a nainstalujes tam agenta a ten to pak umi na nem, nebo das credentials pro aws apod. Jeste k tomu existuje dalsi opensource, ktery umi z bare metal udelat cloud, ted si nevzpomenu na nazev. Vpodstate pak vlastni aws apod.
    Jen ted resim jak to spravne nainstalovat, jestli rancher ma ovladat sam sebe, nebo ho lepe dat na vlastni stroj. Proste takove best practice.
    A ten na cloud je opennebula. Podobne snad funguje i openstack .
    Tohle master/worker v aws/gcp ale musi byt relativne drahy. Aspon mi to tak prijde. Pokud bych musel instalovat tolik OS a jeste mit workery a porad bezici node, tak je to docela blbe.

    Ovladam dobre docker, na produkci pouzivam zakladne. Mam zkusenost s openshift, ale od klienta kde ma vlastni datacentrum. Pro svoje projekty je to nepouzitelne, nebo moc drahe reseni. Ten rancher prave vypadal super. Jen nekde hostovat a pak bud servery, nebo cloud a platit relativne minimum. Nemit vic klientu kde by se to hodilo, tak to resim i treba primo pres aws, ale kdyz ma kazdy neco jineho, tak je to blbe na udrzovani. Asi do toho proste skocim a uvidim. Pripadne to skoleni co psal JON.
    FALLENANGEL
    FALLENANGEL --- ---
    MARTEN: A na cem tam ty kontejnery bezi? Predpokladam, ze musis mit nejakej Rancher node s Dockerem/Podmanem/CRI-O, ktery spousti kontejnery. Jestli Rancher umi udelat takhle stretched cluster pres vice cloud provideru tak to je fakt super.

    OpenShift nainstalujes na cluster tvorenej z virtualnich stroju. Takze v AWS si vytvoris sest virtualu, na tri das mastery, na tri workery a pak ten workload bezi na workerech. Stejne tak v Google Cloud, nebo onprem. Rozhodit worker nody pres ruzny providery neumi. Jako OS pouziva CoreOS, coz je v podstate RHEL8, akorat v immutable modu, takze se vubec neocekava, ze se donej budes logovat.
    MARTEN
    MARTEN --- ---
    FALLENANGEL: Rancher umi to, ze reknu ze chci deploynout nejake image se skalovanim a ma se treba jedna replica dat do aws, druha do gcp, treti na vlastni server. Rancher se pak postara o haproxy a da do nej vsechny tyhle containery, plus nastavi health check, aby pripadne zmenil load balancing.
    Pokud se nepletu, tak OS umi jen byt nainstalovat treba na AWS, ale neumi pak dalsi veci deployovat do aws nebo gcp. Nebo minimalne o tom nekde v nem nevim. Nemyslim instalovat openshift na aws, ale pomoci OS pak deployovat containery na tyhle cloud providery.
    FALLENANGEL
    FALLENANGEL --- ---
    MARTEN: Co myslis pod 'ridit AWS cluster'?
    MARTEN
    MARTEN --- ---
    FALLENANGEL: nechci instalovat na aws, ale ridit tim aws cluster. Instalace mimo. Neni to uplne must have. Jen OS nechci kvuli rhel, pokud mozno.
    JON
    JON --- ---
    MARTEN: k tomu muzu doporucit tohle skoleni: https://ondrej-sika.cz/skoleni/rancher/

    primo na skoleni jsem nebyl, ale spolupracujeme s Ondrou Sikou a je dobrej. Imo velmi dobre investovanych 6800.
    Kliknutím sem můžete změnit nastavení reklam