Docker, Container & Kubernetes

Liittynyt
29.10.2016
Viestejä
793
Reilun vuoden pyörittänyt kotiympäristössä docker kontteja/palveluja docker-composella.
Kiinnostusta on ollut kubernetekseen. Testailin aikaa sitten k3s:ää, mutta rpi3 tukehtui yhtään vaativamman sovelluksen kanssa, joten homma jäi lähinnä "hello world" tasolle. Toki Kubernetes on overkill koti virityksiin.
Tänään löysin podmanin, jota aikomus kokeilla. Onko tästä kokemuksia? Onko tämä next gen steppi docker-composesta vai kannattaisiko kenties kokeilla jotain muuta?
Docker Swarmia kannattaa kans testata jos clusterointi on tavoitteena. Helpompi käyttää ja ottaa käyttöön kun K8s. Ei kai clusteroinnin pitäis vaikuttaa suorituskykyyn juurikaan, vaan siihen vaikuttaa tietysti instanssi jossa ne kontit pyörivät. Kannattaa myös tsekata AWS:n Kubernetes palvelut ja konttipalvelut. Free tierilläkin päässee (en ole ihan varma) alkuun.
 
Liittynyt
14.02.2018
Viestejä
38
Docker Swarmia kannattaa kans testata jos clusterointi on tavoitteena. Helpompi käyttää ja ottaa käyttöön kun K8s. Ei kai clusteroinnin pitäis vaikuttaa suorituskykyyn juurikaan, vaan siihen vaikuttaa tietysti instanssi jossa ne kontit pyörivät. Kannattaa myös tsekata AWS:n Kubernetes palvelut ja konttipalvelut. Free tierilläkin päässee (en ole ihan varma) alkuun.
AWS tarjoaa myös ECS (Elastic Container Service), joka on yksinkertaisempi käyttää kuin AWS:n EKS (Elastic Kubernetes Service). ECS:n kanssa on myös mahdollista käyttää Fargate-palvelua, jossa kontti ajetaan täysin serverless-ympäristössä. Tämä sopii erityisesti tehtäville, joita suoritetaan vain rajatun ajan, ja laskutus tapahtuu suoritusajan mukaan.

(Ainoa?) huono puoli ECS+Fargate combossa on harrasteprojektille, että nuo ovat varsin AWS-keskeisiä työkaluja, eikä siirry sellaisenaan esim. Googlen palvelimille.
 
Liittynyt
17.10.2016
Viestejä
213
AWS tarjoaa myös ECS (Elastic Container Service), joka on yksinkertaisempi käyttää kuin AWS:n EKS (Elastic Kubernetes Service). ECS:n kanssa on myös mahdollista käyttää Fargate-palvelua, jossa kontti ajetaan täysin serverless-ympäristössä. Tämä sopii erityisesti tehtäville, joita suoritetaan vain rajatun ajan, ja laskutus tapahtuu suoritusajan mukaan.

(Ainoa?) huono puoli ECS+Fargate combossa on harrasteprojektille, että nuo ovat varsin AWS-keskeisiä työkaluja, eikä siirry sellaisenaan esim. Googlen palvelimille.
AWS ECS Fargate on jokseenkin tuttu. Tein sinne aiemmin harraste mielessä pari Flask microserviceä.
Nykyisin näyttää olevan myös EKS Fargate tarjolla, mutta se nyt ei ainakaan homelab rakenteluun kiinnosta clusterin kuukausimaksun vuoksi.

Podman suurempi tutustuminen jäi sitten omalta kohdalta väliin ja sen sijaan pystytin vmware Debianiin yhden noden kubeadm k8s clusterin. Toistaiseksi olen saanut sinne Prometheuksen pod:n keräämään clusterin metriikat ja RPi docker-compose ympäristössä vielä pyörivästä gitlab ce:stä integraation ja runner podin. Seuraavina suunnitelmina grafana pod ja kokeeksi appi siirtoja docker-composesta. Ehkä tämä setup toimisi raspberryssäkin, mutta luultavasti siirrän tämän virtuaaliympäristön jossain vaiheessa johonkin parempaan rautaan (nyt työsasemassa/pelikoneessa). Raspberryjä voisi varmaan hyödyntää worker nodeina. Tämän nyt pitäisi olla sellainen setup, jonka voisi myös siirtää EKS tai GKE kohtuullisella vaivalla.
 
Viimeksi muokattu:
Liittynyt
01.02.2017
Viestejä
617
Hei, simppeli kysymys: Jos kotilinuxilla saan pystyyn halutun docker kontin/kontit, onko se helppo siirtää vaikka omalle serverille avaraan weppiin avautuvaksi?
Huono kysymys.
 
Viimeksi muokattu:
Liittynyt
01.02.2017
Viestejä
617
Seuraavanlainen probleema. Mulla on nyt serverillä paljaaltaan mysql serveri eli ei dockeroituna. Haluaisin kuitenkin dockeroida phpmyadminin että sen voisi aina sammuttaa kun ei käytä yms. ei php:t sotke serveriä. Koitin nyt pöytälinuxilla yhdistää docerissa olevan phpmyadminin erilliseen ei-cdocker mysql:iin (mariadb), mutta en runsaasta goolailusta huolimatta ole löytänyt oikeita komentoija. Mites tätä lähestyttäis? Tuntuis melkein jo helpommalta että kaikki olisi dokkeroituna niin kuin oikeasti pitäisi, mutta en halua lähteä veivaamaan nyt tätä toimivaa comboa. Myöhemmin sitten jatkan docereilla.

Eli : miiten yhdistää dockeroitu phpmyadmin ei-dockeroituun mysql-serveriin.
 
Liittynyt
17.01.2018
Viestejä
980
Seuraavanlainen probleema. Mulla on nyt serverillä paljaaltaan mysql serveri eli ei dockeroituna. Haluaisin kuitenkin dockeroida phpmyadminin että sen voisi aina sammuttaa kun ei käytä yms. ei php:t sotke serveriä. Koitin nyt pöytälinuxilla yhdistää docerissa olevan phpmyadminin erilliseen ei-cdocker mysql:iin (mariadb), mutta en runsaasta goolailusta huolimatta ole löytänyt oikeita komentoija. Mites tätä lähestyttäis? Tuntuis melkein jo helpommalta että kaikki olisi dokkeroituna niin kuin oikeasti pitäisi, mutta en halua lähteä veivaamaan nyt tätä toimivaa comboa. Myöhemmin sitten jatkan docereilla.

Eli : miiten yhdistää dockeroitu phpmyadmin ei-dockeroituun mysql-serveriin.
Minkä virheen sait?
Tuossa tapauksessa mysqln mielestä phpmyadmin pyörii eri koneella eli ainakin pitää phpmyadminin puolella kertoa oikea mysql host ja mysqln puolella sallia kirjautuminen & käyttö docker- "koneesta".

Oletettavasti törmäät samaan jos mysql ja admin pyörivät eri konteissa.
 
Liittynyt
01.02.2017
Viestejä
617
No siihen löysin jo ohjeet miten eri konttien väliin tehdään networkki. Mutta siis virhe oli oletettu eli: mysqli::real_connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known

Eli pistetäänkö hostiksi localhostia ja porttia 3306 jne käynnistysrimpsuun vai mitä? ja mikä on arbitary connct, tarviinko sitä.
 
Liittynyt
29.10.2016
Viestejä
793
Aukase portit mysql serveriltä niin pitäis kontin ja serverin väliset yhteydet onnistua. Jos haluat sofistukoitunempaa nettikonfiguraatiota konttien ja hostien välillä niin tutustu Traefikiin.
 
Liittynyt
01.02.2017
Viestejä
617
No, eipä eilen onnistunut. Laitoin mariadb:ssä bindauksen 0.0.0.0 (vai laitoinko sen kokonaan pois). Pitäisikö mun käyttää dockerin sisäistä ip:tä jotenkin? Ai kun olisi joku komentorivi esimerkki jolla ton pitäisi toimia.
 
Liittynyt
13.11.2016
Viestejä
488
Itsekin olen toisinaan jotain tällaisia kuvioita pyöritellyt jossa mariadb pyörii lokaalisti ja sitä käyttäviä sovelluksia toisaalta konteissa - minusta helpoin on vaan katsoa ifconfigista host-koneelle myönnetyt ip-osoitteet ja pingailla niitä läpi (tai tarkastaa nc:lla portin aukiolo) sieltä kontin sisältä kunnes löytyy se joka vastaa. Tuo toimiva on sitten myös se sama host josta sen sun tietokannan pitäisi vastata.
 
Liittynyt
01.02.2017
Viestejä
617
Koodi:
version: '3'

services:
  db:
    image: mysql:5.7
    container_name: db
    environment:
      MYSQL_ROOT_PASSWORD: my_secret_password
      MYSQL_DATABASE: app_db
      MYSQL_USER: db_user
      MYSQL_PASSWORD: db_user_pass
    ports:
      - "6033:3306"
    volumes:
      - dbdata:/var/lib/mysql
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: pma
    links:
      - db
    environment:
      PMA_HOST: db
      PMA_PORT: 3306
      PMA_ARBITRARY: 1
    restart: always
    ports:
      - 8081:80
volumes:
  dbdata:
No, tällä sain että asentui mysql ja phpmyadmin. En saanut siis ilman. Puuttuu jotain pieniä, mutta oleellisia paloja tietämyksestä niin ei ole helppoa. Ehkä tätä tutkimalla valkenee. Tietenkin mielenkiintoista vielä, miten yhdistän nyt siihen ulkopuoliseen mariadb:hen.
 
Liittynyt
13.11.2016
Viestejä
488
Koodi:
version: '3'

services:
  db:
    image: mysql:5.7
    container_name: db
    environment:
      MYSQL_ROOT_PASSWORD: my_secret_password
      MYSQL_DATABASE: app_db
      MYSQL_USER: db_user
      MYSQL_PASSWORD: db_user_pass
    ports:
      - "6033:3306"
    volumes:
      - dbdata:/var/lib/mysql
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: pma
    links:
      - db
    environment:
      PMA_HOST: db
      PMA_PORT: 3306
      PMA_ARBITRARY: 1
    restart: always
    ports:
      - 8081:80
volumes:
  dbdata:
No, tällä sain että asentui mysql ja phpmyadmin. En saanut siis ilman. Puuttuu jotain pieniä, mutta oleellisia paloja tietämyksestä niin ei ole helppoa. Ehkä tätä tutkimalla valkenee. Tietenkin mielenkiintoista vielä, miten yhdistän nyt siihen ulkopuoliseen mariadb:hen.
Eikös se tuon perusteella pitäisi onnistua jos laitat vaan konffin osoittamaan siihen omaan koneeseesi jolla se db pyörii, eli jotakuinkin näin:

Koodi:
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: pma
    links:
      - db
    environment:
      PMA_HOST: 172.17.0.1
      PMA_PORT: 3306
      PMA_ARBITRARY: 1
    restart: always
    ports:
      - 8081:80
 
Liittynyt
01.02.2017
Viestejä
617
No joo ja ei. Täytyy nyt keskittyä miten mariadb:ssä saisi tcp:n päälle. Tuossa kontti+kontti ratkaisussa yhteys meni tcp:n kautta, nyt edelleen ilman konttia pyörivässä unix-sokettien. Niin pal tietoa interneetissä. Tai sitten keskityn vaikka arangodb:hen jossa adminit itsessään.
 
Liittynyt
17.01.2018
Viestejä
980
No joo ja ei. Täytyy nyt keskittyä miten mariadb:ssä saisi tcp:n päälle. Tuossa kontti+kontti ratkaisussa yhteys meni tcp:n kautta, nyt edelleen ilman konttia pyörivässä unix-sokettien. Niin pal tietoa interneetissä. Tai sitten keskityn vaikka arangodb:hen jossa adminit itsessään.
Configuring MariaDB for Remote Client Access ?

Missä tahansa valitussa kannassa pitää ensin perehtyä asennukseen, ylläpitoon ja tietoturvaan.
Kaikissa ne on vaan vähän erilaisia löytää/asettaa/jne.

Lyhyesti: Mariadbn konffista skip-networking pois (jos bind-address pois niin kuuntelee kaikkialla) ja tietysti tunnuksille kunnon salasanat ja vain tarvittaville tunnuksille oikeudet kirjautua ulkoa tarvittaviin kantoihin.
 
Liittynyt
01.02.2017
Viestejä
617
Koodi:
phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: pma
    environment:
      PMA_ARBITRARY: 1
    restart: always
    ports:
      - 8081:80
No vihdoin. Eli kun tuo arbitary antaa laittaa osoitteen, niin tuolla pullautuksella ja laittamalla siihen 172.17.0.1 niin meni läpi. Eihän siihen mennytkään kuin pari päivää. Mutta kiitoksia johdatuksesta oikeeseen suuntaan. Nuo skipit ja bindit olikin pois. Ja ei-dokkeroidulla phpmyadminilla käyttää socettia.
Edit: Nyt siis toimii myös kun lisää tuon PMA_HOST: 172.17.0.1
Ja toimii myös kun siinä on tuo PORT kuten ehdotettu.

Eli vois olla niin, että tosiaan käyttäjät alkoi olla solmussa ja auttoi kun niitä rukkasin. Nyt siis vähän vielä turvallisempaa käyttäjähallintaa ennen kuin uskaltaa oikealle serverille laittaa.

p.s vscode on aika kätevä näiden dockkereiden ja composerien viilailuun.
 
Viimeksi muokattu:
Liittynyt
01.02.2017
Viestejä
617
Yksi dokker-kysymys vielä. Jos tuo dockerin ip oli 172.17.0.1, niin jos laittaa sen userin hostiksi, niin ei pääse sisään, vaan pitää laittaa 172.17.0.2. Olikos jossain, että tuo oli vaihtuva ip? vai mistä tuo johtuukaan.
 
Toggle Sidebar

Statistiikka

Viestiketjut
102 884
Viestejä
2 065 914
Jäsenet
42 376
Uusin jäsen
Kivuntappaja

Hinta.fi

Ylös Bottom