Docker, Container & Kubernetes

Liittynyt
29.10.2016
Viestejä
823
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ä
39
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ä
238
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ä
633
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ä
633
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ä
1 031
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ä
633
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ä
823
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ä
633
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ä
504
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ä
633
Okei. Siis docker0 käyttää 172.17.0.1 ja vastaa pingiin. Mihin tuon laitan?
 
Liittynyt
29.10.2016
Viestejä
823
ootko koittanut tehdä uuden docker networkin ja laittamaan kontin käyttämään sitä?
 
Liittynyt
01.02.2017
Viestejä
633
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ä
504
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ä
633
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ä
1 031
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ä
633
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ä
633
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.
 
Liittynyt
09.11.2016
Viestejä
50
En nyt yhtään muista mihin liittyi mutta täällä piti laittaa /etc/hostsiin Mac OS ympäristössä:

127.0.0.1 kubernetes.docker.internal
 
Liittynyt
22.10.2016
Viestejä
568
Täytyisi tehdä pieni tietokannan ja sen dataa visualisoivan PHP-sivun sisältävä kokonaisuus. Se pitäisi myös olla mahdollista helposti myöhemmin siirtää uudelle palvelimelle. Eikö tällainen kontti ole ideaali sen totetukseen?
 
Liittynyt
17.10.2016
Viestejä
344
Riippuu vähän mistä roikkuu. Ei välttämättä.

Konteissa on oma hommansa säätää portti ohjaukset ja muu konfiguraatio. Lisäksi yleensä sitä tietokantaa ei kannata sinne konttiin tunkea, tai storagea yleensäkään.

Toki jos palvelimilla on jo kontit muutenkin käytössä, niin sitten. Mutta muutoin veikkaisin että helpoin vain kopsata php softan tiedostot ja kanta dumpilla siirtää kanta.

Jos softien installaatiot ei ole selkärangassa niin suosittelen ottamaan loitsut ylös sitä ensimmäistä serveriasennusta tehdessä.

Ja tehdä jonkinlainen tarkistuslista ettei käy niinkuin Vastaamolla.
 
Liittynyt
29.10.2016
Viestejä
823
Tietokanta kannattaa nykypäivänä työntää suoraan AWS:ään tai Azureen. Palvelun voi sitten kontittaa. Tietokanta konttina on suht turha kun se pitää mountata kuitenki persistent storageen ts. jonnekin levylle.
 
Liittynyt
16.10.2016
Viestejä
502
Täytyisi tehdä pieni tietokannan ja sen dataa visualisoivan PHP-sivun sisältävä kokonaisuus. Se pitäisi myös olla mahdollista helposti myöhemmin siirtää uudelle palvelimelle. Eikö tällainen kontti ole ideaali sen totetukseen?
Itse taas sitä mieltä, että todellakin kontteihin vaan kaikki. Myös se kanta, jos kerta joku puuhasteluprojekti kyseessä. Paljon helpompi pistää koko pakka pystyyn konteilla ja docker composella. Sen kannan voi sieltä sitten eriyttää jos siltä joskus tuntuu.
 
Liittynyt
29.10.2016
Viestejä
823
Itse taas sitä mieltä, että todellakin kontteihin vaan kaikki. Myös se kanta, jos kerta joku puuhasteluprojekti kyseessä. Paljon helpompi pistää koko pakka pystyyn konteilla ja docker composella. Sen kannan voi sieltä sitten eriyttää jos siltä joskus tuntuu.
Tässä on vaan se klassinen virhemahis jos ei tiedä täysin miten kontitus toimii. Jos sä työnnät sen db:n sinne konttiin ilman mounttia tai persistent storagea, kontin kuollessa häviää myös data, viimeistään silloin kun sun image ja kontti tuhotaan.
 
Liittynyt
16.10.2016
Viestejä
502
Tässä on vaan se klassinen virhemahis jos ei tiedä täysin miten kontitus toimii. Jos sä työnnät sen db:n sinne konttiin ilman mounttia tai persistent storagea, kontin kuollessa häviää myös data, viimeistään silloin kun sun image ja kontti tuhotaan.
Juu, näinhän se on, puuhastellessa oppii.
 
Toggle Sidebar

Statistiikka

Viestiketjut
106 128
Viestejä
2 137 400
Jäsenet
43 437
Uusin jäsen
Joo123

Hinta.fi

Ylös Bottom