Neues in der Kategorie lxc

Volles Rohr Docker

| 3 Kommentare | Keine TrackBacks
Ahoi,
Mache mich gleich auf den Weg zur DevOpsConf (Berlin),
da gibt es unter anderem zwei Talks (Hands-on: Bootstrapping Docker Swarm und (Hands-on-Docker-Security) von mir. Da ich schon in Berlin bin und auch noch die  SLAC am Start ist, gibt es noch den Talk (Docker Infrastrukturen mit Docker Batteries). 
Wo wir schon dabei sind. Es gibt noch die ContainerDays (Hamburg) da darf ich dann  Linuxkernel features building my $CONTAINER halten. 
Wer da ist einfach mal anschubsen, ich bin der in der kurzen Hose ;)

Wer Lust auf Schulung hat. Im Linuxhotel (Essen) sind für Juli die Schulungen um Docker und LXC (endlich) confirmed. Leider kein LXD, aber was soll mensch da machen? :/

Ja der Titel lehnt sich an Deichkind an :) Ein Alleinstellungsmerkmal von LXD/LXC ist LXCFS. Damit sehen Prozesse im Container auch nur die Ressourcen, welche zugewiesen wurden (hier am Beispiel LXD (nicht irritieren lassen ist wirklich LXD:) ):

$ lxc exec container1 -- free -m                             
              total        used        free      shared  buff/cache   available
Mem:          15771           8       15646        1588         116       15646
Swap:          2047         581        1466                  

$ lxc config set container1 limits.memory 256MB              

$ lxc exec container1 -- free -m                             
              total        used        free      shared  buff/cache   available
Mem:            256           8         130        1638         116         130
Swap:          2047         581        1466

\o/

Mal so zum Vergleich Docker kann das (noch?) nicht:

$ docker run --rm -m 256M  ubuntu free -m                    
WARNING: Your kernel does not support swap limit capabilities, memory limited without swap.
             total       used       free     shared    buffers     cached
Mem:         15771      15380        391       1653        411       7310
-/+ buffers/cache:       7658       8113                     
Swap:         2047        580       1467
Moinsen,

Ich habe feststellen dürfen, dass ich nächsten Monat noch zwei Kurse im Linuxhotel gebe: 

Für alle, die wissen wollen welche damalige Zukunft heute Gegenwart für Linuxadmins ist:
Linux Admin Update vom 18.-19.04 (Cgroups/Namespaces/Capabilities/systemd)

Und für alle, die auch mal OS-Container machen wollen. Ich denke wir werden auch noch
LXD machen :) 
LXC LinuxContainers vom 20.-21.04. Geht auch beides in einem Rutsch :)

Viel Spaß
Erkan



Docker in der iX

| Keine Kommentare | Keine TrackBacks
Moinsen FYI:
In der aktuellen iX (3/2016) und in der Beilage gibt es je einen Artikel von meinereiner.
Docker Tuturial Part 1
Container werden erwachsen

\o/

Da im am Do im Linuxhotel ne Dockerschulung halte, wollte ich über die derzeitige Schulungsplanung bis Ende 2015 informieren.

Schulungen werden bei Heinlein und im Linuxhotel gehalten.

\o/

Viel Spaß

Erkan :)

Ahoi,

Hier das Video zum Vortrag auf der FrOSCon. Wie man sein MySQL mit Galera HA tauglich macht :)
Gibt keine Slides, da ich gerade aus dem Urlaub kam. Ansible kam arg kurz:/ Naja ich brauch wohl eher 2h :)

Viel Spaß
Erkan :)

Ahoi hier die Vorträge für das nächste Halbjahr:

MySQL Hochverfügbar mit Galera

Wo: FrOSCon

Was: Galera wird erklärt und mit LXC und Ansible aufgebaut :)

LBaaS-Loadbalancer as a Service

Wo: GUUG Frühjahrsgespräche

Was: Mit Jan Walzer und Jörg Jungermann gibt es einen Workshop zu in LXC gekapselten Loadbalancer Instanzen. Hier werden nur die Loadbalancer virturalisiert.

Medley der Containertechniken

Wo: GUUG Frühjahrsgespräche

Was: Wie schauen uns die Basics der Containertechniken im Kernel an (Namespaces, Cgroups und Chroot). Darauf hin schauen wir uns LXC, Libvrit, systemd-nspawn und Docker an.

MySQL Replikation: Von den Anfängen in die Zukunft

Wo: DOAG 2014

Was: Es wird einen Überblick über die Evolution der Replikation in MySQL und MariaDB geben.

Hands on Docker

Wo: CommitterConf.de  Was: In dem Workshop lernen wir Docker :)

Ahoi,

Es gab die letzte Zeit Blogposts, welche zwei Themen vereinten, die mich interessieren: Docker und Galera. Und offensichtlich finden diese auch in der MySQL Community viel Anklang.

Vorweg ich halte dies für keine gute Kombination. Ganz im Gegenteil um dies halbwegs sauber hinzubekommen ist (noch) viel Aufwand notwendig.

Galera wird als bekannt vorausgesetzt.

Docker nicht einfach eine neue Virtualisierung

Docker ist nicht nur eine Technik, sondern auch ein anderes Paradigma wie Deployments/Container verstanden werden sollen. Das scheinen die bisherigen Blogposts (planetmysql.com) nicht gerafft zu haben.

Was macht Docker?

Mit Docker werden Applikationskontainer - Container aus nur einer Applikation bestehend - erstellt. Als Technik ist schon von LXC bekannt. Auch hier konnte lediglich eine Applikation virtualisiert werden.

Ein paar Punkte

  • Applikationscontainer

  • Images werden durch Dockerfiles gebaut

  • Container werden nicht zur Laufzeit konfiguriert

  • Container werden durch das Ausrollen von neuen Images upgegraded

  • Es gibt noch mehr. Aber das reicht.

Ohne zu sehr ins Detail zu gehen, sollten solche Container als Binaries gesehen werden. Daraus folgt, dass man sich auf diesen Containern nicht einloggt. Die Verbindung läuft wie sonst zu der Applikation üblich. Bei MySQL über den Port. Zwar hat in Docker jeder Container eine IP-Addresse, aber diese ändert sich bei jedem Neustart und wird nicht geroutet. Sie soll auch nicht verwendet werden. Da damit das Feature portable Images zu bauen ad absurdum geführt wird. Zur Kommuikation mit der Aussenwelt ist das Mappen von Ports vorgesehen. Am besten dynamisch an gerade freie Ports.

Wenn wir uns überlegen, dass wir bei einem Galera Knoten 4 Ports zu verwalten haben bekommt das eine Komplexität, welche durch dir Verwendung der volatilen IPs kaschiert wird. Das Problem tritt aber auf, wenn man einen Galera Cluster nicht zum spielen aufbauen will.

Konfiguration Docker

Der goldene Weg Images für Docker zu bauen ist via Dockerfile das passende Image zu bauen. Dies können gerne Umgebungsvariablen oder Optionen auslesen. Diese Dockerfiles sind die Makefiles der Images.

In den Blogs werden Dockerfiles nur halbherzig - Installation von Paketen - genutzt. Diese Lösungen kommen nicht herum sich noch auf die Container zu verbinden und diese zu Konfigurieren. Damit hat das Konfigurationsmanagement seine Rolle wie bei chter Hardware oder VMs behalten :/

Was wurde gebaut?

Die gebauten Galera Cluster haben so einige Unannehmlichkeiten.

  1. Prinzipiell wurden in den Blogpost Galeracluster gebaut indem die Container (nicht das Image) konfiguriert wird.
  2. Der Cluster funktioniert mit den ContainerIPs welche sich bei jedem Restart ändern.
  3. Bedingt durch 2. müssen alle Container auf einem Host laufen. Wo da der Sinn liegt erschließt sich mir nicht.
  4. Woll ihr wirklich eure Datenbank auf Aufs laufen lassen? (Geht für Test, aber für Produktion?)

Nicht so schlimm

Selbstredend kann dies zum Spielen verwendet werden. Nur stellt sich die Frage nach dem Mehrwert.

LXC

Wenn man eh die nicht so um die Dockerphilosophie schert. Hätte auch direkt LXC genommen werden können und gleich über mehrere Hosts verteilen. Die IPs würden keine Probleme bereiten. Die Datenbanken würden auch nicht auf Aufs laufen usw. usw.

Kein Happy End für Docker und Galera

Nö Wir haben pro Instanz 4 Ports zu verwalten. Man könnte

  • Auf verschiedenen Hosts ein 1:1 mapping machen.

Doesn’t scale!

  • Eine Portverwaltung einführen.

Ob die Verwaltung von 4 Ports pro Instanz Spaß macht oder Hipster ist weiß ich jetzt nicht.

Zumindest hat sich der geneigte Leser mit

wsrep_sst_receive_address
gmcast.listen_addr
ist.recv_addr

Zu beschäftigen. Und ja man kann auch noch Volumes in die Container rein mounten um das datadir nicht auf Aufs und persitent zu haben. Aber auch das klingt nicht nach weniger aufwand.

Nachwort

Und ja jeder kann Docker nutzen wie er will, auch wenn es nichts bringt.

Viel Spaß

Erkan

Mein zweiter nicht MySQL Artikel in der iX \o/
Biske was zu Docker.
/me ist so hipster!!!!!!!!!!!

http://www.heise.de/ix/inhalt/2014/5/110/

Hallo,
anbei ein Überblick über die Vorträge in diesem Halbjahr.

  • MySQL@Ceph (Ceph Day Frankfurt ./. 27.02.2014)
    Habt ihr wohl verpasst ;)
  • MySQL: PerformanceSchema (DOAG SIG - MySQL ./. 27.03.2014)
  • Galera Cluster für MySQL (DOAG SIG - MySQL ./. 27.03.2014)
  • Docker++ ./. Containervirtualisierung von Applikationen mit Merhwert (Linuxtag ./. 08.05.2014)
  • Docker: Not even a Hypervisor (Containers for OpenStack) (Linuxtag ./. 09.05.2014
  • Docker: LXC Applikationskontainer für jedermann (SLAC ./. 13.05.2014)

Zudem gebe ich noch eine öffentliche Schulung im Linuxhotel zu LXC und neuen Linuxfeatures (Anfang Mai)

Viel Spaß :)

Erkan