• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    ALMADDocker a kontejnery
    ADMIX
    ADMIX --- ---
    ADM: Je to proste jinej svet :)
    ADM
    ADM --- ---
    no teorie je to sice pekna, ale pokud je v ty php aplikaci nejaky staticky content, ktery ma byt podavany pres nginx, tak mi prijde trochu kontraproduktivni to oddelovat protoze pokud mi neco neunika tak bych tu aplikaci musel strkat do obou kontejneru, a dale resit smerovani z nginx na php (ale ok, o dynamickou dns vazbu se postara vyssi vrstva), dale musim v nginx mit servername abych vedel na ktery php-fpm konterjner to poslat, kdezto kdyz to mam spolecne tak to vim a mam tu nginx cast uplne stejnou konfiguraci v kazdem kontejneru

    stale mi prijde vyhodnejsi reseni mit to spolecne
    ADMIX
    ADMIX --- ---
    DWICH: Ja to treba delam kvuli tomu, ze backend je perl, je tam extra kontejner na perl a par dalsich dependencies, zatimco nginxu staci base OS kvuli par knihovnam.
    NIXIMOR
    NIXIMOR --- ---
    DWICH: vyhodu to ma tu, ze nemusis prave resit process management typu supervisor, protoze to za tebe dela docker sam.
    JON
    JON --- ---
    DWICH:u malych aplikaci to neni tak zjevny, ale v tom nginxu si to muzes treba rozhazovat mezi nekolik upstreamu (vic kontejneru) kvuli loadbalancingu, nebo AB testovani, nebo cast appky ti bezi v php a cast treba v ruby, nebo abys nasral uzivatele nebo admina apod. Duvod se dycky najde.
    DWICH
    DWICH --- ---
    NIXIMOR: Ja teda pochopil pravidlo "one process per container" tak, jak ho pisou v best practices: "Each container should have only one concern"

    Best practices for writing Dockerfiles | Docker Documentation
    https://docs.docker.com/...ge/dockerfile_best-practices/#each-container-should-have-only-one-concern

    Oddelit od sebe webserver (nginx) a interpretr jazyka (php, py...) mi uz prijde trochu moc.

    Co by melo za vyhodu oddelit webserver a interpretr?
    NIXIMOR
    NIXIMOR --- ---
    ADM: spravne reseni by melo byt nginx v jednom kontejneru, php-fpm v druhym a ty mezi sebou prolinkovat. Idealne totiz plati ze jeden kontejner = jeden proces.
    ADMIX
    ADMIX --- ---
    ADM: V tomhle se mi kubernetes libi vic, pac v kombinaci s flanneld neresi porty, ale proste namapuje rovnou IP adresu pro tu danou instanci.
    ADM
    ADM --- ---
    no a pak by to podle zadani melo behat pod openshift(kubernetes), na to jsem taky zvedavej, takze predpokladam ze tahle vrstva se kompletne postara o dns-services-routing-portmapping a ten container bude hovorit pouze http na jakoukoli host hlavicku zvenku, jinak si nedovedu predstavit jak by se to uridilo, takze jina moznost nez nginx+php-fpm v kazdym containeru asi neni mozna
    ADM
    ADM --- ---
    resim ted microservices jako nginx+php container a musim si povzdechnout ze ofiko reseni jako CMD nebo ENTRYPOINT ve forme script wrapperu na startovani obou sluzeb me teda elegantni vubec neprijde (a uz vubec ne ta dalsi moznost hazet do containeru python kvuli supervisord, jak se pise v dokumentaci https://docs.docker.com/engine/admin/multi-service_container/). tohle mi prijde jako dost velke omezeni jinak velice vychytaneho dockeru
    ADMIX
    ADMIX --- ---
    ADMIX: Napadlo me dat followup na moji puvodni otazku, postavil jsem par malejch rychlejch PoC na Consul+Nomad kombu (SDS/CDS) co jedu v AWS EC2, a musim rict ze ten suite je fakt dobrej. Pro velky komplexni operations bude mozna kubernetes lepsi, ale Nomad jako orchestrator je rozhodne konkurenceschopnej, a hlavne consul+nomad ve srovnani s etcd+kubernetes je vyrazne jednodussi na initial setup.
    Zacinam si ted hrat s tou druhou dvojici, abych to dostal do ruky, tak uvidime jaky budou dojmy z toho :))
    KOJA
    KOJA --- ---
    ADMIX: Diky!
    HVJ3R
    HVJ3R --- ---
    KOJA: Ja ti vubec nerozumim a stejne ti nedokazu poradit. Tohle neni use case, ktery bych resil. My v podstate mame desitky dockeru postaveny tak, aby nam kopirovaly produkcni prostredi (akorat misto jednoho kazdyho fyzickyho serveru v produkci, na kterym bezi pet sluzeb, mame pet dockeru).
    NIXIMOR
    NIXIMOR --- ---
    RATTKIN: A do te doby co? Nedostupnost sluzby? Trochu pitomy, ne?
    RATTKIN
    RATTKIN --- ---
    KOJA: když node selže, tak ti to hlásí monitoring a jdeš node opravit?
    KOJA
    KOJA --- ---
    HVJ3R: Predem se omlouvam, mozna zmotam terminy.

    Necht mam jediny node a na nem bezi service ve trech replikach. Pripravim a do swarmu pridam druhy node. Otazka zni zda se necha nejak zaridit aby se nejaka z tech trech replik automaticky "prestehovala" na ten druhy node aby byl cluster robustnejsi proti selhani jednoho z nodu.

    Duvod proc jsem to resil byla predstava, ze pokud se tohle nedeje automaticky, tak kazde "zaskobrtnuti" hw/os/sw nodu mi efektivne vyradi node z clusteru a cely cluster se tak pomalu sestehovava na jediny node. Nebo je to blbost?

    Mam skoro pocit, ze jsem nekde videl, ze tohle docker-swarm zatim neumi ale pamet uz nerika kde. Na druhou stranu mi to ale prijde celkem dulezite a tusim, ze docker-swarm uz asi dost lidi pouziva v produkci, tak jsem z toho muflon.

    Predem diky za osvetu.
    JINX
    JINX --- ---
    Neresili jste nekdo problem s volumes definovanych pres docker-compose ve Windows 10 (Hyper-v) ? prosel jsem github, stackoverflow a nikde nic nepomohlo :(
    ADMIX
    ADMIX --- ---
    Pocitam ze ma na mysli bezici instance.
    HVJ3R
    HVJ3R --- ---
    KOJA: Replik ceho?
    Kliknutím sem můžete změnit nastavení reklam