Kirjoittaja Aihe: lxd-kontti käyttöön  (Luettu 3309 kertaa)

teele

  • Käyttäjä
  • Viestejä: 851
    • Profiili
lxd-kontti käyttöön
« : 28.04.21 - klo:08.00 »
Opettelua ja kokeilua varten jonkinlainen konttiratkaisu vois olla kätevä.

Nyt vaihtoehtona on ensimmäisnä harkinnassa lxd. Kannataisiko se asentaa aptilla Ubuntun pakettivarastoista vai snapina.

Olisiko docker tai podman selvästi parempi valinta. Jostain syystä lxd näyttää nyt sopivimmalta, onhan se Canonicalin oma sovellus.
« Viimeksi muokattu: 28.04.21 - klo:09.23 kirjoittanut teele »

Efraiminpoika

  • Käyttäjä
  • Viestejä: 165
    • Profiili
Vs: lxd-kontti käyttöön
« Vastaus #1 : 28.04.21 - klo:08.57 »
Itselläni käytössä lxd snap-asennuksena.
En ole mikään snap-paketoinnin ystävä, mutta lxd:n kohdalla päädyin siihen koska snap kautta lxd:n versio on uudempi, koska Canonical pyrkii suosimaan tällä hetkellä snap-paketointia.
Snap-paketoinnin käyttö lxd-konteissa taas tuntuu ylimääräiseltä paketoinnilta paketoinnin päällä, koska itselläni lxd:n käytön tarkoitus on yksi palvelin/sovellus lxd-konttia kohti. Kaikkea ei laiteta samaan koriin.  Saman saa oikeilla virtuaalikoneilla, mutta lxd-kontti on kevyempi ratkaisu.
Itse koen LXD:n käytön selkeämmäksi ja yksinkertaisemmaksi  kuin Dockerin, siis kun tekee itse kontteja, eikä käytä valmiita muiden kontteja.
LXD:ssäkin on jo uusimmassa versiossa myös virtuaalikoneen käyttömahdollisuus.
Ajatuksena olisi myös käyttää LXD-kontteja ainakin kokeilumielessä Windows 10 Pron alle Microsoftin virtuaalikoneen alla ajettavassa Ubuntussa, mikä kyllä on aika 'pimeä' ajatus. Mutta siten saisi 'kätkettyä' Linuxeja Windowsin taakse.
Vaikka LXD-kontti näyttää ihan yksittäiseltä Linux-koneelta niin kyllä LXD-kontin käytössä opettelemista riittää. Onko LXD-koneilla oma kiintolevyosio vai ajataankoon isännän levyjärjestelmän päällä? Ovatko kontit virtuualisillan ja NAT:n  takana, mikä on oletus,  vai ovatka ne sillatuna koneen verkkoliitäntään, jolloin ne näkyvät suoraan paikallisverkon muille koneille ja oman verkon DHCP antaa niille osoitteet esim. kotona.

lisäys:
LXD:ssä on myös oma proxy, jolla isäntäkoneen portin saa ohjattua kontille. Jos kontit ovat virtuaalisillan NAT:n takia niin isäntäkoneen web-portit saa ohjatua konttiin ja isäntäkoneen verkkolitännässä oleva web-palvelin pyöriikin kontissa eikä isäntäkoneessa.
 
« Viimeksi muokattu: 28.04.21 - klo:09.05 kirjoittanut Efraiminpoika »
eläkeläisäijä

A. Hellaakoski: Tien kulkija tien on vanki. Vapaa on vain umpihanki.

teele

  • Käyttäjä
  • Viestejä: 851
    • Profiili
Vs: lxd-kontti käyttöön
« Vastaus #2 : 28.04.21 - klo:09.09 »
Näytti, että aptilla tulikin snap-paketti

Koodia: [Valitse]
sudo apt install lxd
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  lxd
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 5 444 B of archives.
After this operation, 79,9 kB of additional disk space will be used.
Get:1 http://fi.archive.ubuntu.com/ubuntu focal/universe amd64 lxd all 1:0.9 [5 444 B]
Fetched 5 444 B in 0s (11,6 kB/s)   
Preconfiguring packages ...
Selecting previously unselected package lxd.
(Reading database ... 192588 files and directories currently installed.)
Preparing to unpack .../archives/lxd_1%3a0.9_all.deb ...
=> Installing the LXD snap
==> Checking connectivity with the snap store
==> Installing the LXD snap from the 4.0 track for ubuntu-20.04

lxd (4.0/stable) 4.0.5 from Canonical✓ installed
=> Snap installation complete
==> Cleaning up leftovers
Failed to stop lxd.socket: Unit lxd.socket not loaded.
Failed to stop lxd.service: Unit lxd.service not loaded.
Failed to stop lxd-containers.service: Unit lxd-containers.service not loaded.
Failed to disable unit: Unit file lxd.socket does not exist.
Unpacking lxd (1:0.9) ...
Setting up lxd (1:0.9) ...

Nyt pitää alkaa tutustua asiian, ehkä onnistuisi jossain vaiheessa nodejs:kin kokeilu työpoytäkoneella, siis ilman oikeaa nettiyhteyttä localhostina.

Eli yhteytenä on käytössä vain nettitikku, mitään muuta ei ole. Toivottavasti lxd:n saa näkyville jotain kautta ja siihen yhteyden.

Ohjeen
https://www.cyberciti.biz/faq/install-lxd-on-ubuntu-20-04-lts-using-apt/
mukaan init-vaiheessa saakin sitten tehdä aika tavalla valintoja. Toivottavasti onnistun valinnoissa ja saan kontin toimimaan omalla koneella.
« Viimeksi muokattu: 28.04.21 - klo:09.33 kirjoittanut teele »

Efraiminpoika

  • Käyttäjä
  • Viestejä: 165
    • Profiili
Vs: lxd-kontti käyttöön
« Vastaus #3 : 28.04.21 - klo:09.43 »
Näytti, että aptilla tulikin snap-paketti

Koodia: [Valitse]
sudo apt install lxd
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  lxd
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 5 444 B of archives.
After this operation, 79,9 kB of additional disk space will be used.
Get:1 http://fi.archive.ubuntu.com/ubuntu focal/universe amd64 lxd all 1:0.9 [5 444 B]
Fetched 5 444 B in 0s (11,6 kB/s)   
Preconfiguring packages ...
Selecting previously unselected package lxd.
(Reading database ... 192588 files and directories currently installed.)
Preparing to unpack .../archives/lxd_1%3a0.9_all.deb ...
=> Installing the LXD snap
==> Checking connectivity with the snap store
==> Installing the LXD snap from the 4.0 track for ubuntu-20.04

lxd (4.0/stable) 4.0.5 from Canonical✓ installed
=> Snap installation complete
==> Cleaning up leftovers
Failed to stop lxd.socket: Unit lxd.socket not loaded.
Failed to stop lxd.service: Unit lxd.service not loaded.
Failed to stop lxd-containers.service: Unit lxd-containers.service not loaded.
Failed to disable unit: Unit file lxd.socket does not exist.
Unpacking lxd (1:0.9) ...
Setting up lxd (1:0.9) ...

Nyt pitää alkaa tutustua asiian, ehkä onnistuisi jossain vaiheessa nodejs:kin kokeilu työpoytäkoneella, siis ilman oikeaa nettiyhteyttä localhostina.

Eli yhteytenä on käytössä vain nettitikku, mitään muuta ei ole. Toivottavasti lxd:n saa näkyville jotain kautta ja siihen yhteyden.

Kyllä isäntäkoneelta, jolle LXD on asennettu aina konttiin yhteyden saa. Muualta verkosta ei yhteyttä välttämättä ole oletuksena...

lxc exec <kontinnimi> -- bash
komennolla isäntäkoneella ja olet kontin shellissä, sitten kun olet saanut 1. kontin pyörimään

paketin, siis napiin, asennuksen jälkeen ajat komennon
lxd init
 ja vastailet ekana oletuksen (default) mukaan. Sitten kun ymmärrät vaihtoehdot voit vastata muuta kuin default.

eka kontti käyntiin
lxd launch ubuntu:20.04 kontinnimi

lista käynnissä olevissa konteista

lxc list

listaa kontit

...
eläkeläisäijä

A. Hellaakoski: Tien kulkija tien on vanki. Vapaa on vain umpihanki.

teele

  • Käyttäjä
  • Viestejä: 851
    • Profiili
Vs: lxd-kontti käyttöön
« Vastaus #4 : 28.04.21 - klo:10.37 »

Noi kokeilin, mutta laitoin sen mallin mukaan ubuntu 18.04 version ekaan kokeilukontiin.

Mutta nyt jos pitäisi saada joku palvelin kontiin, miten siihen saa yhteyden vaikka omalta koneelta kontin ulkopuolelta.

lxd info kertoo, että location on none, eli ei mitään osoitetta, kun kontti on sammutettu

Koodia: [Valitse]
$ lxc info excited-chimp
Name: excited-chimp
Location: none
Remote: unix://
Architecture: x86_64
Created: 2021/04/28 07:06 UTC
Status: Stopped
Type: container
Profiles: default

ja

Koodia: [Valitse]
$ lxc info excited-chimp
Name: excited-chimp
Location: none
Remote: unix://
Architecture: x86_64
Created: 2021/04/28 07:06 UTC
Status: Running
Type: container
Profiles: default
Pid: 12927
Ips:
  eth0: inet 10.14.251.3 vethe9c68ad4
  eth0: inet6 fd42:3cc:af5b:9f91:216:3eff:fe51:5f25 vethe9c68ad4
  eth0: inet6 fe80::216:3eff:fe51:5f25 vethe9c68ad4
  lo: inet 127.0.0.1
  lo: inet6 ::1
Resources:
  Processes: 38
  CPU usage:
    CPU usage (in seconds): 6
  Memory usage:
    Memory (current): 100.83MB
    Memory (peak): 109.50MB
    Swap (current): 16.38kB
    Swap (peak): 16.38kB
  Network usage:
    eth0:
      Bytes received: 11.36kB
      Bytes sent: 5.58kB
      Packets received: 37
      Packets sent: 49
    lo:
      Bytes received: 1.12kB
      Bytes sent: 1.12kB
      Packets received: 12
      Packets sent: 12

kun kontti on käynnissä ja siinä ajataan ubuntu 18.04:ää, joka on jostain syystä nimetty excited-chimp-nimiseksi jostain syystä



Efraiminpoika

  • Käyttäjä
  • Viestejä: 165
    • Profiili
Vs: lxd-kontti käyttöön
« Vastaus #5 : 28.04.21 - klo:10.50 »
Jos et anna kontinimeä launchissa niin kontille arvotaan nimi

lxc list
komennolla näet kontit ja niiden ipt:t

Jos isäntäkoneella selain (pöytäkone, läppäri) ja konttiin asennettu web-palvelin (apache, nginx) ainakin ip-osoitteella saat yhteyden web-palvelimelle.
Jos haluat yhteyden muualtakin kuin isäntäkoneelta, pitää googlata "lxd proxy" ja löytyy ohjeita, kun tämä lxd proxy ei ole itsellä vielä selkäytimessä.

lisäys:
näkyihän ip 10.14.251.3, jo listauksissakin...

 
« Viimeksi muokattu: 28.04.21 - klo:10.51 kirjoittanut Efraiminpoika »
eläkeläisäijä

A. Hellaakoski: Tien kulkija tien on vanki. Vapaa on vain umpihanki.

teele

  • Käyttäjä
  • Viestejä: 851
    • Profiili
Vs: lxd-kontti käyttöön
« Vastaus #6 : 28.04.21 - klo:21.27 »
On päästy alkukokeiluihin, tässä on komentolista, ehkä myöhemmin tulee vastaan jotain jännittävämpääkin :)

Koodia: [Valitse]
sudo apt upgrade
sudo apt install lxd
sudo adduser $USER lxd

lxc list

lxd init
lxc launch ubuntu:20.04 eka-ubuntu-kontti
lxc start eka-ubuntu-kontti
lxc stop eka-ubuntu-kontti


lxc exec eka-ubuntu-kontti bash
lxc stop eka-ubuntu-kontti

lxc launch ubuntu:20.04 toka-ubuntu-kontti
lxc exec toka-ubuntu-kontti -- su --shell /bin/bash --login ubuntu
exit
lxc stop eka-ubuntu-kontti
lxc image list
« Viimeksi muokattu: 04.05.21 - klo:21.33 kirjoittanut teele »

Efraiminpoika

  • Käyttäjä
  • Viestejä: 165
    • Profiili
Vs: lxd-kontti käyttöön
« Vastaus #7 : 29.04.21 - klo:08.36 »
Yksi LXD:n mahdollisuus on oma virtuaaliverkko yhdessä fyysisessä koneessa, kotipöytäkoneessa tai läppärissä tai vaikka Rasperry Pi 4:ssa. Kuinka monta LXD-konttia (container) koneessa pystyy ajamaan rippuu tietenkin koneesta, jossa niitä ajaa ja miten raskaita ajattevat sovellutukset ovat, mutta kyllä uudehkossa pöytäkoneessa tai läppärissä aika montaa konttia pyörittää.  LXD kontithan pyörivät samalla kernelillä kuin isäntäkone, kun virtuaalikoneissa joka koneella on oma kerneli ja vain prosessori/ytimet ovat yhteiset.  Niin uuusimmassa LXD:n versiossa oli kyllä jo virtuualikone mahdollisuuskin mukana...
Ihan ikioma hiekkalaatikko, jossa harjoitella ja testailla asioita ilman ikäviä santaa toisten silmille heittäviä kiusaajia, joita julkisesta verkosta löytyy vaikka kuinka paljon...
Kun suojapleksi on kunnossa voi siirtyä julkiseen verkkoon, kun pleksi suojaa silmiä sannalta.

Vihdoinkin ihan oma hiekkalaatikko, jossa saa leikkiä rauhassa?

Kyllä sitä on aika monta kymmentä vuotta toivonut... ;)
eläkeläisäijä

A. Hellaakoski: Tien kulkija tien on vanki. Vapaa on vain umpihanki.

teele

  • Käyttäjä
  • Viestejä: 851
    • Profiili
Vs: lxd-kontti käyttöön
« Vastaus #8 : 30.04.21 - klo:09.36 »
Just mietein samaa asiaa ja ajattelin, että pitää laittaa kysymys tälle palstalle :)

Eli olisi kätevää saada pari konttia omalle koneelle ja toiseen vaikka apache ja toiseen nginx tai jotain sellaista. Ensimmäinen netistä etsimäni aihe oli kontin kopiointi tai "kloonaus", mutta en vielä löytänyt ainakaan omasta mielestäni sopivaa.

Nyt vappuaikana tulee helposti mieleen laittaa vähän hulinaksi ja katselin gnome system managerilla, että omaankin koneeseeni voisi mahtua vaikka 3 konttia samanaikaiseen ajoon.

Sitten pitäisi vielä opetella, miten virtuaali-isännöintiä voisi leikkiä omalla koneella konttien kanssa.
« Viimeksi muokattu: 30.04.21 - klo:09.38 kirjoittanut teele »