pixel
Seite wählen

NETWAYS Blog

openSUSE-Kubic getestet…

Schon mal von openSUSE-Kubic gehört? Nein? Okay, als Fan des Chamäleons habe ich davon schon öfter gelesen, aber ausprobiert habe ich es  noch nie.
Also dann beschreibe ich kurz was sich hinter Kubic versteckt.

Kubic ist eine zertifizierte Kubernetes Distribution, die auf openSUSE-MicroOS basiert und dem openSUSE-Tumbleweed (Rolling-Release) zu Grunde liegt.
Es ist sozusagen ein fertiges Betriebssystem für den Einsatz von Kubernetes, alle nötigen Tools sind schon vorinstalliert, damit man sofort beginnen kann
seinen K8s Cluster aufzusetzen oder z.B. Docker Container zu bauen.
Hier wurde ein transactional Server eingerichtet, das heißt, es ist ein read-only BTRFS Filesystem gemountet und man kann nicht wie unter openSUSE/SLES bekannt zypper
per Kommandozeile benutzen um Software-Paket nach zu installieren, aber ich werde noch CodeSnippets mit einbauen wo das ersichtlich wird. Sondern jedes neu installiertes Software-Paket wird vorerst als Snapshot zur Verfügung gestellt, der dann nach dem Reboot des Servers mit einbezogen wird.
Diese Distribution Kubic kann man sich in verschiedenen Formaten herunterladen, z.B. als RaspberryPI, openStack oder ISO-Image uvm siehe Link. Ich habe mir das in unserer openStack Umgebung als Image geladen und getestet.

So dann schauen wir uns das mal auf der Kommandozeile an:
kubic:~ # rpm -qa |grep kube*
patterns-containers-kubic_worker-5.0-25.1.x86_64
hello-kubic-k8s-yaml-1.4-1.3.noarch
kube-prometheus-k8s-yaml-0.5.0+git20200729.f0955e0-1.5.noarch
kuberlr-0.3.1-1.6.x86_64
kubernetes1.22-client-1.22.2-1.1.x86_64
patterns-containers-kubeadm-5.0-25.1.x86_64
patterns-containers-kubic_admin-5.0-25.1.x86_64
kubic-haproxycfg-0.12.2-1.1.x86_64
kubernetes1.22-client-common-1.22.2-1.1.x86_64
kubicctl-0.12.2-1.1.x86_64
kubernetes-client-1.22.2-21.2.x86_64
health-checker-plugins-kubic-1.6-1.1.noarch
kubicd-0.12.2-1.1.x86_64
kubernetes1.22-kubelet-1.22.2-1.1.x86_64
kubernetes1.22-kubelet-common-1.22.2-1.1.x86_64
patterns-containers-kubic_loadbalancer-5.0-25.1.x86_64
kubernetes1.21-kubelet-1.21.5-2.1.x86_64
kubernetes-kubelet-1.22.2-21.2.x86_64
kubernetes1.22-kubeadm-1.22.2-1.1.x86_64
cri-o-kubeadm-criconfig-1.22.0-1.2.x86_64
patterns-containers-container_runtime_kubernetes-5.0-25.1.x86_64
kubernetes-kubeadm-1.22.2-21.2.x86_64
kubic:~ # rpm -qa |grep helm
helm-3.6.3-2.1.x86_64

Das Paket Docker musste ich noch nachinstallieren und mich noch in die Gruppe docker hinzufügen, damit ich mit dem Tool Minikube meine ersten Kubernetes Cluster testen konnte.

Da ich das schon im Vorfeld getan habe zeige ich nochmal kurz den Befehl mit dem ich das Paket Docker, Tmux installiert habe:
ransactional-update pkg install tmux docker
Checking for newer version.
transactional-update 3.6.2 started
Options: pkg install tmux docker
Separate /var detected.
2021-11-29 13:42:32 tukit 3.6.2 started
2021-11-29 13:42:32 Options: -c10 open
2021-11-29 13:42:32 Using snapshot 10 as base for new snapshot 11.
2021-11-29 13:42:32 Syncing /etc of previous snapshot 9 as base into new snapshot "/.snapshots/11/snapshot"
ID: 11
2021-11-29 13:42:33 Transaction completed.
Calling zypper install
zypper: nothing to update
Removing snapshot #11...
2021-11-29 13:42:34 tukit 3.6.2 started
2021-11-29 13:42:34 Options: abort 11
2021-11-29 13:42:34 Discarding snapshot 11.
2021-11-29 13:42:34 Transaction completed.
transactional-update finished

Diese Meldung kommt jetzt, da diese Pakete schon vorhanden sind, sonst würde zypper im Hintergrund die Pakete installieren.
Anschließend muss man einen Reboot durchführen, sonst wird das nicht live geschaltet.
Dann noch folgendes:
usermod -a username -G docker
Damit man mit einem bestimmten $user docker run … ausführen kann.

Hier nochmal zur Vollständigkeit eine Installation vom Paket LXC
transactional-update pkg install lxc
Checking for newer version.
transactional-update 3.6.2 started
Options: pkg install lxc
Separate /var detected.
2021-11-30 08:37:36 tukit 3.6.2 started
2021-11-30 08:37:36 Options: -c11 open
2021-11-30 08:37:36 Using snapshot 11 as base for new snapshot 12.
2021-11-30 08:37:36 Syncing /etc of previous snapshot 10 as base into new snapshot "/.snapshots/12/snapshot"
ID: 12
2021-11-30 08:37:36 Transaction completed.
Calling zypper install
2021-11-30 08:37:37 tukit 3.6.2 started
2021-11-30 08:37:37 Options: callext 12 zypper -R {} install lxc
2021-11-30 08:37:37 Executing `zypper -R /.snapshots/12/snapshot install lxc`:
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following 5 NEW packages are going to be installed:
libcap-progs liblxc1 lxc lxcfs lxcfs-hooks-lxc

5 new packages to install.
Overall download size: 860.6 KiB. Already cached: 0 B. After the operation, additional 2.6 MiB will be used.
Continue? [y/n/v/...? shows all options] (y):

Checking for file conflicts: [......done]
Warning: 5 packages had to be excluded from file conflicts check because they are not yet downloaded.

Note: Checking for file conflicts requires not installed packages to be downloaded in advance in
order to access their file lists. See option '--download-in-advance / --dry-run --download-only'
in the zypper manual page for details.
2021-11-30 08:37:54 Application returned with exit status 0.
2021-11-30 08:37:55 Transaction completed.
Trying to rebuild kdump initrd
2021-11-30 08:37:55 tukit 3.6.2 started
2021-11-30 08:37:55 Options: close 12
2021-11-30 08:37:55 New default snapshot is #12 (/.snapshots/12/snapshot).
2021-11-30 08:37:55 Transaction completed.

Wichtig hier:
Please reboot your machine to activate the changes and avoid data loss.
New default snapshot is #12 (/.snapshots/12/snapshot).
transactional-update finished

Wie man jetzt zum Testen von Kubernetes mit z.B. Minikube kommt, werde ich hier nicht beschreiben, denn dazu gibt es
genügend Informationen im Internet. Vor allem kann ich das Kubernetes , das wir hosten, sehr empfehlen, einfach Anfrage bei uns starten.

Nur wie gesagt, wer den Einstieg in ein selbst gehostetes K8s lernen möchte, ist der Einstieg mit openSUSE-Kubic sehr vorteilhaft, da vieles schon vorkonfiguriert ist.

So ich denke für den ersten Überblick von Kubic reicht das vorerst, ich wünsche schon mal viel Spaß beim ausprobieren und besucht unser K8s Training!

Johannes Carraro
Johannes Carraro
Senior Systems Engineer

Bevor Johannes bei NETWAYS anheuerte war er knapp drei Jahre als Systemadministrator in Ansbach tätig. Seit Februar 2016 verstärkt er nun unser Team Operations als Senior Systems Engineer. In seiner Freizeit spielt Johannes E-Gitarre, bastelt an Linux Systemen zuhause herum und ertüchtigt sich beim Tischtennisspielen im Verein, bzw. Mountainbiken, Inlinern und nicht zuletzt Skifahren.

Music Home-Recording unter Linux

Heute möchte ich ein Thema aufgreifen, das für alle diejenigen ist, die ein Instrument spielen und Musik machen. Meine Wenigkeit spielt E-Gitarre (Heavy Metal) und wie oft kommt es vor, man spielt mit dem Drumcomputer mit und plötzlich hat man eine super klasse Akkord-Folge (Riff-Folge) die man in Schleife spielt. Man denkt sich, Mensch die muss ich aufnehmen, aber wie?

Falls man sich mit der Thematik “Home-Recording” unter Linux noch nicht beschäftigt hat, steht man da jetzt wie der “Ochs vorm Berg”. Da das Thema riesengroß ist, werde ich nur etwas den Einstieg beleuchten, wie ABNAHME, LATENZ, SOFTWARE.

Abnahme Instrument

Hiermit ist gemeint, wie ich das Instrument z.B. E-Gitarre mit meinen Computer verbinde und was brauche ich dazu. Am einfachsten man besorgt sich ein sogenanntes Audio-USB-Interface, das normalerweise Eingänge für Klinkenstecker oder Mikrofon hat, um das Instrument anzuschließen. Der Vorteil von dem Interface ist, das man das Eingangssignal einstellen (auspegeln) kann und je nach Ausstattung einen Kopfhörer-Ausgang beziehungsweise weitere Features hat. Ich kann für Linux-User folgendes Interface empfehlen, welches ich auch verwende: Behringer U-Phoria UMC204HD. Dieses Gerät wird per USB an den Computer angeschlossen und sollte vom Linux-Kernel erkannt werden.

Bei Instrumenten die nicht per Kabel direkt ans Interface angesteckt werden können, müssen per Mikrofon abgenommen und das ans Interface angeschlossen werden z.B. Saxophon.

Früher hatte ich auch Verstärker-Preamp-Out direkt mit dem Mic-Eingang der Soundkarte verbunden, was aber nicht sehr flexibel ist, da ich das Eingangsignal immer im Computer anpassen musste und man eine gute Soundkarte braucht, die speziell für Audio-Aufnahmen sein sollte, was diese nicht war.

Bei mir:

  • Audio-USB-Interface via USB am Computer
  • Preamp-Out Verstärker per Klinken-Kabel mit dem Eingang Audio-USB-Interface verbunden
  • Alternative E-Gitarre direkt ins Audio-USB-Interface und auf Instrument schalten sonst ist es Line-In.

Latenz

Um es simpel zu beschreiben, ist die Verzögerungszeit vom praktisch gespielten Ton (Instrument) bis zum hörbaren Ton aus dem Computer-Lautsprecher. Der Computer muß das In -und Output-Signal verarbeiten und das am besten in Realtime. Dafür braucht man unter Linux einen Realtime-Kernel, der bei manchen Linux-Distributionen (z.B. openSUSE-Leap, Ubuntu-Studio) bereits als RT-Kernel Paket zum installieren in den Repositories vorhanden ist. Was auch noch wichtig ist, das die Desktop-Oberfläche schlank ist und nicht wertvollen Arbeitsspeicher im Betrieb verbraucht (z.B. XFCE, LXDE, Enlightenment)

Diese Latenz lässt sich mit der Software JACK (JACK Audio Connection Kit) einstellen um das gewünschte Ergebnis zur erhalten, dazu könnte man schon alleine einen Blogbeitrag füllen. Die Standard-Einstellung sollte für die ersten Versuche ausreichend sein.

Software

Mittlerweile gibt es einiges an Open Source Software unter Linux, die auch von diversen Distributionen über Repositories installiert werden kann, hier mal eine kleine Auswahl:

Für Einsteiger würde ich die ALL-in-One Lösung Qtractor wählen, da diese einfacher und verständlicher zu bedienen ist, JACK braucht jeder um die Eingänge und Ausgänge zu steuern. Wer jetzt schon mit MIDI herum experimentiert, kann sich Rosegarden anschauen, Nachteil Audiospuren editieren, hier muss eine passende Software in den Einstellungen wie z.B.  Audacity mit verknüpft werden.

Je nachdem was man jetzt für eine Software zum Recording verwendet, braucht man eine gewisse Zeit bis man sich in diese eingearbeitet hat und da gehen schon Stunden ins Land. Deswegen würde ich jetzt nicht ins Detail gehen das würde hier den Rahmen sprengen, aber im Netz findet man jede Menge HowTo’s zu der jeweiligen Software, die die tiefere Anwendung beschreiben.

So jetzt wünsche ich jedem viel Erfolg bei seiner ersten Aufnahme und falls diese Schrott wird, keine Bange ich weiß schon gar nicht mehr wie viel Schrott ich am Anfang produziert habe, hier gilt die Devise, einfach weitermachen, es ist noch kein Meister vom Himmel gefallen.:-)

Johannes Carraro
Johannes Carraro
Senior Systems Engineer

Bevor Johannes bei NETWAYS anheuerte war er knapp drei Jahre als Systemadministrator in Ansbach tätig. Seit Februar 2016 verstärkt er nun unser Team Operations als Senior Systems Engineer. In seiner Freizeit spielt Johannes E-Gitarre, bastelt an Linux Systemen zuhause herum und ertüchtigt sich beim Tischtennisspielen im Verein, bzw. Mountainbiken, Inlinern und nicht zuletzt Skifahren.

PostgreSQL Einstieg unter openSUSE-Leap 15.2

da die meisten User sich zwar mit MySQL oder MariaDB auskennen, werde ich heute mal auf PostgreSQL eingehen, wie man dieses Paket installiert und ein paar Kommandos zur Verwaltung einer Datenbank.
PostgeSQL ist von den Kommandos ähnlich wie zum Beispiel MariaDB. Sie wird auch als ein freies, objektrelationales Datenbankmanagementsystem (ORDBMS) betitelt, somit auch Opensource ist.

Installation unter openSUSE-Leap 15.2:

Pakete sind in den offiziellen Repositories zu finden, die bei dem Setup von openSUSE-Leap gesetzt werden.

# sudo zypper in postgresql postgresql-server

Da da der Dienst von PostgreSQL nicht automatisch gestartet wird, wie z.B bei Debian basierten Linux-Distributionen muß dieser noch gestartet werden

# sudo systemctl start postgresql

Am besten prüft man nochmal ob der Dienst auch fehlerfrei läuft

# sudo systemctl status postgresql
● postgresql.service - PostgreSQL database server
 Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled)
 Active: active (running) since Tue 2020-11-03 08:31:17 UTC; 4h 23min ago
 Main PID: 1460 (postgres)
 Tasks: 8
 CGroup: /system.slice/postgresql.service
 ├─1460 /usr/lib/postgresql12/bin/postgres -D /var/lib/pgsql/data
 ├─1461 postgres: logger 
 ├─1463 postgres: checkpointer 
 ├─1464 postgres: background writer 
 ├─1465 postgres: walwriter 
 ├─1466 postgres: autovacuum launcher 
 ├─1467 postgres: stats collector 
 └─1468 postgres: logical replication launcher

Nov 03 08:31:15 opensuse-leap systemd[1]: Starting PostgreSQL database server...
Nov 03 08:31:15 opensuse-leap postgresql-script[1437]: Initializing PostgreSQL 12.4 at location /var/lib/pgsql/data
Nov 03 08:31:17 opensuse-leap postgresql-script[1437]: 2020-11-03 08:31:17.186 UTC [1460]LOG: starting PostgreSQL 12.4 on x86_64-suse-linux-gnu, compiled by gcc (SUSE L>
Nov 03 08:31:17 opensuse-leap postgresql-script[1437]: 2020-11-03 08:31:17.187 UTC [1460]LOG: listening on IPv6 address "::1", port 5432
Nov 03 08:31:17 opensuse-leap postgresql-script[1437]: 2020-11-03 08:31:17.187 UTC [1460]LOG: listening on IPv4 address "127.0.0.1", port 5432
Nov 03 08:31:17 opensuse-leap postgresql-script[1437]: 2020-11-03 08:31:17.193 UTC [1460]LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
Nov 03 08:31:17 opensuse-leap postgresql-script[1437]: 2020-11-03 08:31:17.204 UTC [1460]LOG: listening on Unix socket "/tmp/.s.PGSQL.5432"
Nov 03 08:31:17 opensuse-leap postgresql-script[1437]: 2020-11-03 08:31:17.221 UTC [1460]LOG: redirecting log output to logging collector process
Nov 03 08:31:17 opensuse-leap postgresql-script[1437]: 2020-11-03 08:31:17.221 UTC [1460]HINT: Future log output will appear in directory "log".
Nov 03 08:31:17 opensuse-leap systemd[1]: Started PostgreSQL database server.

Da wir jetzt wissen, das der Dienst ordnungsgemäß läuft, können wir loslegen, mit dem anlegen von der Datenbank und Tabellen.

PostgreSQL wird vom System-User postgres verwaltet, der alle Rechte hat, um z.B. Datenbanken oder auch Datenbankbenutzer anzulegen. Da dieser User ohne Passwort konfiguriert ist, was unter MariaDB oder MySQL teilweise auch so ist, sollte man dem User sicherheitstechnisch ein Passwort konfigurieren.

# sudo passwd postgres

Passwort nach Aufforderung eingeben und erneut wiederholen.

Unter PostgreSQL gibt es genauso ein Shell wie bei z.B. MySQL und in diese kommt man wie folgt:

# sudo -u postgres psql

Um diese Shell wieder zu verlassen

\q

eingeben

Anlegen vom User der Datenbanken verwalten darf

 # sudo sudo -u postgres createuser -P -d NUTZERNAME

Der Schalter -P <password> -d <create databases>

Anlegen von einer Datenbank

# sudo -u postgres createdb -O username DATABASENAME

Löschen einer Datenbank

# sudo -u postgress dropdb DATABASE

In der postgresql Shell sieht das anders aus

postgres=# CREATE DATABASE my_music;

Wechseln zwischen den Datenbanken

\c DATENBANK

Ein Tabelle mit den Spalten anlegen

postgres=# CREATE TABLE cds ( id int, interpreter varchar(100), album varchar(100), release date );

Daten in die Tabelle der Datenbank schreiben

INSERT INTO cds VALUES ( 1, 'Pretty Maids', 'Future World', '1987-04-12' );

Ausgeben der Daten

my_music=# select * from cds;
 id | interpreter  |       album        |  release   
----+--------------+--------------------+------------
  1 | Pretty Maids | Future World       | 1987-04-12
  2 | Metallica    | Ride the Lightning | 1984-04-12
(2 rows)

Als kleine Einführung in PostgreSQL sollte das erst mal ausreichen,  für mehr Wissen darüber bieten wir von NETWAYS auch eine PostgreSQL Schulung an.

Dann viel Spaß bei ausprobieren von PostgreSQL auf openSUSE.

 

Johannes Carraro
Johannes Carraro
Senior Systems Engineer

Bevor Johannes bei NETWAYS anheuerte war er knapp drei Jahre als Systemadministrator in Ansbach tätig. Seit Februar 2016 verstärkt er nun unser Team Operations als Senior Systems Engineer. In seiner Freizeit spielt Johannes E-Gitarre, bastelt an Linux Systemen zuhause herum und ertüchtigt sich beim Tischtennisspielen im Verein, bzw. Mountainbiken, Inlinern und nicht zuletzt Skifahren.

Putty mit tmux

Nachdem ich öfters mit dem Tool Putty  zu tun bekommen habe, um mich von einer Windows-Umgebung auf einen Linux-Host zu verbinden, habe ich recherchiert wie man beim verbinden einer SSH-Session von Putty direkt eine Tmux-Session auf dem Linux-Server eröffnen kann.
Also habe ich mich mit den Einstellungen von Putty etwas näher befasst, getestet und siehe da es geht doch, dann dachte ich mir, das interessiert doch bestimmt mehr SysAdmins.
Öffnet man Putty, sieht man die Session mit der Liste von Hosts und Links in der Sidebar verschiedene Dropdown-Punkte unter anderem den Punkt SSH, diesen wenn man anwählt kann man einige Einstellung vornehmen unter anderen “Remote command” und hier trägt man “exec tmux” ein und speichert das beim Host ab und schwups hat mein beim nächsten SSH-Login eine Tmux-Session parat, Klasse. Dann viel Spaß beim ausprobieren.

Siehe Screenshot:
Und denkt daran immer schön weiterbilden, wir haben hier tolle Trainings im Bereich OpenSource und die Macht wird mit Dir sein.

Johannes Carraro
Johannes Carraro
Senior Systems Engineer

Bevor Johannes bei NETWAYS anheuerte war er knapp drei Jahre als Systemadministrator in Ansbach tätig. Seit Februar 2016 verstärkt er nun unser Team Operations als Senior Systems Engineer. In seiner Freizeit spielt Johannes E-Gitarre, bastelt an Linux Systemen zuhause herum und ertüchtigt sich beim Tischtennisspielen im Verein, bzw. Mountainbiken, Inlinern und nicht zuletzt Skifahren.

Aufsetzen eines Redis-clusters

Da mir vor kurzem die Aufgabe zuteil wurde, einen Redis Cluster aufzusetzen, möchte ich diese Erfahrung mit euch teilen.
Die Vorbereitung:
 3 Nodes
– Redis in der aktuellen stabilen Version

Auf allen 3 Nodes die aktuelle (stable) Redis Version herunterladen und das tar.gz file entpacken
wget http://download.redis.io/releases/redis-stable-version.tar.gz
tar -xvzf redis-stable-version.tar.gz -C /opt/
cd /opt/redis-stable-version/
make

Da der Cluster aus 6 Nodes bestehen muss (minimal), laufen auf jedem Node ein Master-Prozess und ein Slave-Prozess, deshalb sollte man ein Verzeichnis Cluster anlegen in dem dann eine master.conf und slave.conf liegt, die unterschiedlich konfiguriert sind.
zum Beispiel:
master.conf Node 1:
port 7000
logfile /var/log/redis/redis-master.log
bind 192.168.33.50
cluster-enabled yes
cluster-config-file nodes-master.conf
cluster-node-timeout 5000
appendonly yes
----
slave.conf Node 1:
port 7001
logfile /var/log/redis/redis-slave.log
bind 192.168.33.50
cluster-enabled yes
cluster-config-file nodes-slave.conf
cluster-node-timeout 5000
appendonly yes

Zur Erklärung: Ich habe jetzt den Master-Prozess Ports immer auf eine gerade Zahl gelegt (7000, 7002, 7004)
und die Slaves auf (7001, 7003, 7005). Die bind IP-Adresse ist auch wichtig auf dem jeweiligen Node zu binden.
Die Angabe von der nodes-master.conf / nodes-slave.conf ist dafür, damit hier der Status der Master/Slave Nodes hinein geschrieben werden
und diese Dateien werden beim Start automatisch erstellt.

z.B Node 3:
~# cat /opt/redis-5.0.7/cluster/master.conf
port 7004
logfile /var/log/redis/redis-master.log
bind 192.168.33.52
cluster-enabled yes
cluster-config-file nodes-master.conf
cluster-node-timeout 5000
appendonly yes

Die Nodes werden alle 3 so mit Konfigurationsdateien erstellt damit später der Cluster gebaut werden kann.

Starten der Prozesse auf den drei Nodes:
cd /opt/redis-stable-version/cluster && ../src/redis-server ./master.conf &
../src/redis-server ./slave.conf &
pgrep -a redis-server
# pgrep -fl redis-server
1988 redis-server
1992 redis-server

Bevor wir den Cluster zusammenhängen sollte man auf jedem Node prüfen, ob beide redis-server Prozesse laufen, siehe pgrep Kommando.

Cluster zusammenhängen:
Auf dem ersten Master-Node wird das redis-cli Kommando ausgeführt:
~# redis-cli --cluster create 192.168.33.50:7000 192.168.33.50:7001 192.168.33.51:7002 192.168.33.51:7003 192.168.33.52:7004 192.168.33.52:7005 --cluster-replicas 1
Wie man am Kommando erkennen kann, werden hier alle Master / Slave-Nodes mit ihrem Port zum einem Cluster verbunden –cluster-replicas 1 bedeutet, das zu jedem Master Node ein Slave konfiguriert ist.
Man muss die erstellte Konfiguration noch mit “yes” bestätigen und anschließend sollte man folgenden Output erhalten:
[OK] All 16384 slots covered
Jetzt kann man per redis-cli mit dem Cluster kommunizieren, Werte setzen, Statis abfragen usw, in der Online-Dokumentation von Redis sind einige Bespiele vermerkt.
So, hat man einen lauffähigen Redis-Cluster am Start, es besteht auch ein fertiges Bash-Skript womit man einen fertigen Redis-Cluster auf einem Node starten kann, dieses ist unter dem Verzeichnis ‘/redis-stable-version/utils/’ zu finden und als Schnelltest verwendet werden kann.

Das soll es fürs erste mal reichen und ich wünsch euch viel Spaß mit eurem ersten Redis Cluster. Natürlich möchte ich auch hier wieder auf unser Trainingsangebot im OpenSource aufmerksam machen, ihr wisst “Training = “Wissen”, immer fleißig weiterbilden 🙂

Johannes Carraro
Johannes Carraro
Senior Systems Engineer

Bevor Johannes bei NETWAYS anheuerte war er knapp drei Jahre als Systemadministrator in Ansbach tätig. Seit Februar 2016 verstärkt er nun unser Team Operations als Senior Systems Engineer. In seiner Freizeit spielt Johannes E-Gitarre, bastelt an Linux Systemen zuhause herum und ertüchtigt sich beim Tischtennisspielen im Verein, bzw. Mountainbiken, Inlinern und nicht zuletzt Skifahren.