pixel
Select Page

NETWAYS Blog

Kubernetes Custom Resources with Kubeless and Metacontroller by Michael Grüner | OSDC 2019

This entry is part 1 of 6 in the series OSDC 2019 | Recap

 

This talk is about our journey from Nginx & Docker Swarm to Traefik & Nomad. At the Open Source Data Center Conference (OSDC) 2019 in Berlin, Jan Martens invited to audience to travel with him in his talk „Evolution of a Microservice-Infrastructure”. You have missed him speaking? We got something for you: See the video of Michael’s presentation and read a summary (below).

The former OSDC will be held for the first time in 2020 under the new name stackconf. With the changes in modern IT in recent years, the focus of the conference has increasingly shifted from a mainly static infrastructure approach to a broader spectrum that includes agile methods, continuous integration, container, hybrid and cloud solutions. This development is taken into account by changing the name of the conference and opening the topic area for further innovations.

Due to concerns around the coronavirus (COVID-19), the decision was made to hold stackconf 2020 as an online conference. The online event will now take place from 16 to 18 June 2020. Join us, live online! Save your ticket now at: stackconf.eu/ticket/


 

Kubernetes Custom Resources with Kubeless and Metacontroller

Mostly Michael is working with all the Kubernetes stuff in his company (also with Foreman). Developing additional tools e.g. scripts and tools for deploy applications. Custom Resources from Kubernetes and how to use them.

The goal of Michael‘s talk: Create your own Kubernetes resources that look like, behave like and can be used like every other Kubernetes resource. For example, if you want to let your users manage helm for Kubernetes, you have to give them access to your instance, what means, they can control the hole cluster. That’s not what you want.

The recipe:

  • A resource definition
  • Some logic to make it do something
  • Some API magic to make it all stick together

 

1) Resource definition

CustomResourceDefinition = It is used to tell Kubernetes about your new resource.

It consists of three parts:

  • API group
  • some metadata
  • the kind (the name of your resource)

 

2) Some logic to make it to something

For this, Michael uses a tool called Kubeless. It is a so called function as a service framework. It is basically a framework where you can say ‘Here is my code, make it work as a webservice’. (That’s a very oversimplified description of what it is, but for the use case in this presentation it is enough.)

Use Kubeless to create our actual resource logic in form of a web service. How do we do that? As everytime in Kubernetes we use a Kubernetes resource (in this case it is a function).

Example:

  • API
  • kind (function)
  • metadata (name, namespace, etc.)
  • spec (runtime, handler, checksum, function-content-type, the actual function)

The function (logic) can now be found at http://hello-world.test:8080.

 

3) Some API magic to make it all stick together

How to connect your custom resource with your logic? As always, we use a Kubernetes resource. The special feature here is to give the resource the parentResource, that means, the apiVersion of the custom resource. We also have to tell, what childResource it has to create. In our case just “pods”. 

Furthermore, we have to define what to do if the resource changes. For example, what should happen if we change the parent resource or add some configuration? At the end of the configuration we have to tell where to find the logic we built. In our example it is http://hello-world.test:8080.

And this ties our two pieces together. It connects our custom resource definition with our logic. Now we have on the right our logic, on the left our resource definition and meta controller for the communication in the middle.

 

If the user now creates a new instance of our custom resource, the logic gets notified by the API, that ensures the meta controller gets notified. After this, the meta controller calls our function and returns a JSON structure containing the status and the list of children. Meta Controller then uses these information to do whatever API requests are necessary to create these children.

If you are interested now, watch the full video to have a look at a live demo how this works!

Tobias Bauriedel
Tobias Bauriedel
Systems Engineer

Tobias ist ein offener und gelassener Mensch, dem vor allem der Spaß an der Arbeit wichtig ist. Bei uns hat er seine Ausbildung zum Fachinformatiker für Systemintegration abgeschlossen und arbeitet nun im NETWAYS Professional Services - Team Operations und entwickelt nebenbei Projekte für die NPS. In seiner Freizeit engagiert er sich ehrenamtlich aktiv bei der Freiwilligen Feuerwehr als Atemschutzgerätetrager und Maschinist, bereist die Welt und unternimmt gerne etwas mit Freunden.

Meine ersten Start-Up Days bei Netways

Da ich letztes Jahr leider nicht dabei sein konnte, hatte ich dieses Jahr meine ersten Start-Up Days!
Für die Leute, welche nicht wissen, um was es sich dabei handelt, hier eine kurze Erklärung:
Die Start-Up Days sind eine Veranstaltung, die jedes Jahr stattfindet. In den zwei Tagen werden Themen bearbeitet, welche die netten Kollegen von NETWAYS vorgeschlagen haben. Dabei muss es sich nicht unbedingt um etwas aus der Technik handeln. Voraussetzung ist nur, dass es bestenfalls nachhaltig für die Firma ist, und Ziel, dass man auch mal mit Kollegen zusammenarbeitet mit denen man sonst nicht viel zu tun hat.

Wie läuft die Veranstaltung ab?

Im Voraus zu den Veranstaltungstagen werden in unserem internen Wiki, Themen von uns Mitarbeitern festgelegt. Da sich jeder ein Thema aussuchen muss, bei welchem er mitwirken möchte, haben die Leute, welche Themen vorgeschlagen haben, zu Beginn des ersten Tages 2 Minuten Zeit, ihr Thema vorzustellen. Im Nachhinein sucht sich jeder eine Gruppe und dann geht es auch schon mit dem Arbeiten los.

Welche Themen gab es dieses Jahr?

  • NETWAYS Merchandise
  • Sales DB
  • Icinga2 in Go
  • Save our Planet
  • Virales Marketing
  • Neue Dashboards
  • NETWAYS Band
  • NETWAYS kocht
  • NETWAYS Firmenkommunikation
  • “NETGAYS”

Wo habe ich mitgewirkt?

Das Thema, welches ich gewählt habe, ist “Virales Marketing”.

Worum geht es dabei?

Unsere Idee war es, ein “Werbevideo” zu drehen, in welchem wir die Firma NETWAYS “vermarkten”. Da wir keine geschulten Schauspieler, Filmregisseure, Kameraleute oder Filmschnittmeister sind, war von Anfang an abzusehen, dass bei dem Projekt kein professioneller Film bei rum kommt. Wir sind von Anfang an mit der Idee ran gegangen, eine Art von Comedy-Film oder einen “Trash-Movie” zu drehen. Die Themen des Filmes waren unsere NETWAYS Abteilungen. Wir haben versucht, zu jeder Abteilung einen ansprechenden Clip zu drehen. Auf unserem Twitter-Account, kann man sich demnächst kleine Schnipsel des Videos ansehen. 😉

Mein Eindruck zu der Veranstaltung

Die NETWAYS Start-Up Days bieten die Chance, versteckte oder unbekannte Talente der Teilnehmer herauszufinden. Zum Beispiel Filmschnitt, Instrumente, die man spielen kann, oder ähnliches. Durch die enge Zusammenarbeit an den Projekten gibt es außerdem meiner Meinung nach eine gute Möglichkeit den Teamgeist zu stärken.

Ich freue mich schon auf die kommenden Start-Up Days im Jahr 2020.

Tobias Bauriedel
Tobias Bauriedel
Systems Engineer

Tobias ist ein offener und gelassener Mensch, dem vor allem der Spaß an der Arbeit wichtig ist. Bei uns hat er seine Ausbildung zum Fachinformatiker für Systemintegration abgeschlossen und arbeitet nun im NETWAYS Professional Services - Team Operations und entwickelt nebenbei Projekte für die NPS. In seiner Freizeit engagiert er sich ehrenamtlich aktiv bei der Freiwilligen Feuerwehr als Atemschutzgerätetrager und Maschinist, bereist die Welt und unternimmt gerne etwas mit Freunden.

NETWAYS stellt sich vor – Tobias Bauriedel

This entry is part 15 of 38 in the series NETWAYS stellt sich vor

Name: Tobias Bauriedel

Alter: 18 Jahre

Position bei Netways: Junior Consultant

Ausbildung: Fachinformatiker für Systemintegration

Bei NETWAYS seit: September 2018

 

Wie bist du zu NETWAYS gekommen und was genau gehört zu Deinem Aufgabenbereich?

Zu NETWAYS gekommen, bin ich so wie wahrscheinlich die meisten anderen auch. Ich habe nach meinem Schulabschluss einen Ausbildungsplatz gesucht, und habe NETWAYS gefunden und kurzer Hand eine Bewerbung geschrieben. Nach einem Bewerbungsgespräch hatte ich dann die Zusage und habe im September 2018 die Ausbildung begonnen. Meine Aufgabenbereiche sind sehr vielfältig. Es wird darauf geachtet, dass wir von allem etwas mitbekommen, so dass wir später als Consultants alles drauf haben.

Was macht Dir an Deiner Arbeit Spaß?

Es ist die Abwechslung und die Problemstellungen an meinem Aufgaben. Natürlich gibt es Momente, in denen man nicht weiter kommt, und man “keine Lust” mehr hat. Aber genau die Situationen bringen dich weiter. Du lernst das Problem richtig anzugehen und im Nachhinein doch noch zu lösen.

Was machst Du, wenn Du mal nicht bei NETWAYS bist?

Wenn ich mal nicht bei NETWAYS vor dem Bildschirm sitze, unternehme ich viel mit meinen Freunden oder schraube an dem ein oder anderen Auto. Außerdem spiele ich seit Kurzem wieder Fußball im Verein.

Wie geht es in Zukunft bei Dir weiter?

Wenn ich das jetzt schon wüsste, wäre ich Hellseher anstatt Fachinformatiker geworden 😉 . Aber ich hoffe natürlich, dass ich in meinen knappen zwei Jahren Ausbildung, die ich noch vor mir habe, viel lerne und mir einen Namen machen kann.

Tobias Bauriedel
Tobias Bauriedel
Systems Engineer

Tobias ist ein offener und gelassener Mensch, dem vor allem der Spaß an der Arbeit wichtig ist. Bei uns hat er seine Ausbildung zum Fachinformatiker für Systemintegration abgeschlossen und arbeitet nun im NETWAYS Professional Services - Team Operations und entwickelt nebenbei Projekte für die NPS. In seiner Freizeit engagiert er sich ehrenamtlich aktiv bei der Freiwilligen Feuerwehr als Atemschutzgerätetrager und Maschinist, bereist die Welt und unternimmt gerne etwas mit Freunden.

Mein erstes Jahr bei NETWAYS!

Mein erstes Jahr in der Ausbildung zum Fachinformatiker für Systemintegration bei NETWAYS ist vorbei. Welche Eindrücke ich gesammelt habe und wie es sich entwickelt hat, möchte ich euch in diesem Beitrag erzählen.

Mit welcher Einstellung habe ich die Ausbildung begonnen?

Bevor ich erzähle, was ich alles erlebt habe und wie ich es in der Ausbildung bei NETWAYS finde, sollten wir vielleicht klären, wie meine Einstellung zu Beginn der Ausbildung und vor der Ausbildung war. Natürlich hat man vor Beginn einer Ausbildung hohe Erwartungen, aber auch Angst, dass nicht alles so ist, wie man es sich erhofft. Ich für meinen Teil hatte vor allem vor Ausbildungsbeginn Bange, dass ich mit den Kollegen nicht klar komme oder ich nicht “aufgenommen”  werde.

Als ich meinen Ausbildungsvertrag unterschrieben habe, hatte ich nicht wirklich einen Überblick, was mich alles in der Ausbildung erwarten wird. Alles was ich wusste, war was für Themen mich grob erwarten und was mich als ausgelernter Consultant erwartet.

Haben sich meine Erwartungen erfüllt?

Ich kann nur sagen, dass sich alle Erwartungen die ich an die Ausbildung und Firma hatte, erfüllt haben. Und die Befürchtung dass ich nicht aufgenommen werde, war wenn ich jetzt darüber nachdenke, auch sinnlos. Ich fühle mich hier unter den Kollegen wie in einer großen Familie, in der sich jeder um jeden kümmert. Ein kleines Beispiel dazu wären die Freundschaften, die durch die Arbeit mit den Kollegen bei NETWAYS entstanden sind. Aber sowas kann man im Vorfeld natürlich nicht wissen…

Meine bisherigen Eindrücke von der Ausbildung

Fachinformatiker für Systemintegration ist genau das, was ich mir vorgestellt habe, später mal zu werden. Durch eine Vielzahl an Projekten und Schulungen lerne ich immer neue Dinge dazu, die mir bei den nächsten Aufgaben vielleicht weiterhelfen können. Eine Sache, die mir an diesem Beruf sehr gut gefällt, ist die Abwechslung. Von einem LAMP (Linux Apache MySQL PHP) Projekt bis hin zum Umzug ins neue NETWAYS Büro (was allerdings kein wirklicher Teil der Ausbildung zum Fachinformatiker ist), durfte ich überall mit anpacken und habe dadurch neue, wertvolle Erfahrungen gesammelt.

Wie geht es weiter?

Da ich nun im zweiten Lehrjahr bin, stehen neben Unmengen an Schulungen und Projekten auch der erste “Kontakt” mit dem Kunden vor Ort an. Zwar habe ich auch jetzt schon für NETWAYS-Kunden gearbeitet, aber noch nicht als angehender Consultant direkt vor Ort. Das bedeutet, dass ich mit einem der Consultants mit zu einem Kunden fahre und dort schon aktiv mitarbeite. Die Hauptgründe weshalb wir, Azubis ab dem zweitem Lehrjahr, aber mitfahren dürfen, ist dass wir erste Erfahrungen sammeln, sehen wie ein Consulting-Termin abläuft und daneben auch ein wenig Unterstützung leisten können.

Die Hauptsache für mich ist, dass die nächsten zwei Jahre in der Ausbildung genau so gut und voll mit Informationen und Erfahrungen werden wie das erste Jahr! Nach meinen Erfahrungen im ersten Lehrjahr glaube ich nicht, dass dem etwas im Wege steht.

Tobias Bauriedel
Tobias Bauriedel
Systems Engineer

Tobias ist ein offener und gelassener Mensch, dem vor allem der Spaß an der Arbeit wichtig ist. Bei uns hat er seine Ausbildung zum Fachinformatiker für Systemintegration abgeschlossen und arbeitet nun im NETWAYS Professional Services - Team Operations und entwickelt nebenbei Projekte für die NPS. In seiner Freizeit engagiert er sich ehrenamtlich aktiv bei der Freiwilligen Feuerwehr als Atemschutzgerätetrager und Maschinist, bereist die Welt und unternimmt gerne etwas mit Freunden.

Server löschen mit Darik´s Boot and Nuke

Da ich derzeit meinen Abteilungsdurchlauf bei Netways Managed Services mache, übernehme ich heute den wöchentlichen Post. Ich dachte mir, da ich derzeit viele Server lösche und aus dem Rechenzentrum ausbaue, wäre es ein gutes Thema über das sichere löschen von Servern zu reden. Das Tool welches wir bei Netways zum löschen von Servern und Festplatten benutzen, ist Darik´s Boot and Nuke (kurz DBAN).

Was ist DBAN?

DBAN ist ein Werkzeug zum kompletten Überschreiben von Festplatten und Servern.

Wie funktionert Darik´s Boot and Nuke?

Das Tool überschreibt die gewünschten Festplatten so oft mit Einsen und Nullen, wie man es wünscht. Dadurch ist eine Wiederherstellung der Daten nicht möglich. Außerdem kann man verschiedene “Löschmethoden” auswählen. Diese werden ich in diesem Artikel aber nicht alle einzeln aufzählen und erklären, da dies zu weit gehen würde. Die Methode welche wir zum löschen nutzen, ist DoD 5220.22-M.

Warum löschen wir Server?

Aus einem einfachen Grund: Daten von Kunden, welche sich auf den Servern befinden, dürfen nicht an die Öffentlichkeit gelangen. Für jemanden der sich in dieser Branche auskennt, ist es kein Problem übrige oder gar nicht gelöschte Daten aus den Festplatten der Server zu lesen. Sollte ein Server verschrottet werden, ist es also trotzdem nötig die Daten vorher sauber und sicher zu löschen. Außerdem werden Server, welche in guter Verfassung und auf dem heutigen Standart sind, meist nach der Löschung weiter verwendet.

Wie erstellt man einen bootbaren DBAN Stick?

Mit diesem Thema hatte ich lange zu kämpfen. Als Information vorab, DBAN ist als ISO Image zu downloaden und als bootbares Image zu nutzen. DBAN kann man mit so gut wie jeden “Startmedienersteller” bootbar auf einen Stick schreiben. Allerdings wird bei Ubuntu 18.04 (welches ich auf meinem Rechner habe) das Image nicht komplett erstellt. Es fehlen einzelne Bruchteile des Systems, welche dafür sorgen, dass ich DBAN nicht booten kann. Ich habe lange gebraucht um herauszufinden, wie ich einen DBAN Stick erstellen kann. Am Ende war es ziemlich simpel. Ich habe versucht das Image auf einem Windows 10 Rechner zu erstellen, und der bootbare Stick wurde sauber ersellt und ich konnte von ihm booten.

Eine kleine Tücke, über die ich auch gestolpert bin, sind Raids. Raids müssen vor dem löschen entfernt, bzw. jede Platte sollte als eigenständiges Raid 0 auf geführt werden, da sie sonst nicht in der Tabelle der löschbaren Festplatten auftauchen.

Ich hoffe ich konnte euch einen kleinen Einblick in DBAN liefern und habe euch für das Werkzeug begeistert.

Tobias Bauriedel
Tobias Bauriedel
Systems Engineer

Tobias ist ein offener und gelassener Mensch, dem vor allem der Spaß an der Arbeit wichtig ist. Bei uns hat er seine Ausbildung zum Fachinformatiker für Systemintegration abgeschlossen und arbeitet nun im NETWAYS Professional Services - Team Operations und entwickelt nebenbei Projekte für die NPS. In seiner Freizeit engagiert er sich ehrenamtlich aktiv bei der Freiwilligen Feuerwehr als Atemschutzgerätetrager und Maschinist, bereist die Welt und unternimmt gerne etwas mit Freunden.