Seite wählen

NETWAYS Blog

NETWAYS GitHub Update – Februar 2023

Willkommen im NETWAYS GitHub Update! Hier erhältst du zukünftig einmal im Monat einen Überblick über unsere neuesten Releases. Und hier die aktuellen Veröffentlichungen unserer GitHub Projekte vom Februar!

Für weitere und schnellere Informationen kannst du uns auch auf GitHub folgen: https://github.com/NETWAYS/

icinga-installer Release v1.0.0

Der icinga-installer – ein einfach zu benutzender Installer für Icinga – ist nun in Version v1.0.0!

Changelog

  • Hinzugefügt: Feature influxdb2
  • Hinzugefügt: IcingaDB Support
  • Projekt Struktur und Parameter angepasst

https://github.com/NETWAYS/icinga-installer/releases/tag/v1.0.0

check_logstash Release v0.8.0

Wir haben das check_logstash Check Plugin in Golang neu geschrieben. Das hat einige Vorteile für dich und für uns. Das Check Plugin kommt jetzt in einer einzigen Binary Datei, also keine Installation weiterer Pakete mehr nötig. Außerdem ist der Code jetzt komplett getestet, damit können wir die zukünftige Entwicklung beschleunigen.

Changelog

  • Rewrite in Golang

https://github.com/NETWAYS/check_logstash/releases/tag/v0.8.0

check_microsoft365 Release v2.0.1

Ein kleines Update mit einigen Bugfixes und aktualisierten Abhängigkeiten.

Changelog

  • Abhängigkeiten aktualisiert
  • Fix: Timeout Trigger
  • Fix: Versionsnummer Anzeige

https://github.com/NETWAYS/check_microsoft365/releases/tag/v2.0.1

go-check Release v0.4.0

Die go-check Bibliothek – um Check Plugins in Golang zu schreiben – hat neue Features und Bugfixes.

Changelog

  • Feature: PartialResults
  • Feature: Metric Verarbeitung
  • Fix: Kein „|“ Output bei leeren perfdata
  • Fix: Weniger strikte perfdata UOM Verarbeitung
  • Refactor: strings.Builder Nutzung für mehr Performance

https://github.com/NETWAYS/go-check/releases/tag/v0.4.0

Ansible Role Redis Cluster Release v0.1.0

Wir bieten jetzt eine Ansible Rolle für die Verwaltung von Redis an! Die Rolle ist noch in einem sehr frühen Stadium, daher sind Pull Requests und allgemeines Feedback sehr Willkommen.

Changelog

  • Initiales Release!

https://github.com/NETWAYS/ansible-role-redis-cluster/releases/tag/0.1.0

Markus Opolka
Markus Opolka
Senior Consultant

Markus war nach seiner Ausbildung als Fachinformatiker mehrere Jahre als Systemadministrator tätig und hat währenddessen ein Master-Studium Linguistik an der FAU absolviert. Seit 2022 ist er bei NETWAYS als Consultant tätig. Hier kümmert er sich um die Themen Container, Kubernetes, Puppet und Ansible. Privat findet man ihn auf dem Fahrrad, dem Sofa oder auf GitHub.

Announcing Kubernetes v1.24 and v1.25

We’d finally like to announce the release of Kubernetes v1.24 and v1.25 on our Kubernetes Platform. Since 1.24 brought many under the hood changes, our deployment process had to be refactored as well. While Version 1.24 and 1.25 were available on our platform for some time now, we can now safely say that both versions are completely stable and safe to use. For the various changes coming with the new version we recommend creating a test cluster to test your applications. But what are these big changes? Let’s go through some of the highlights.

Deprecation of the docker shim

Easily the biggest change is the deprecation of the docker shim that broke our current deployment method where every component and workload runs in Docker containers. But with this release the docker integration is no more. Kubernetes now officially only supports Container Runtimes implementing the CRI specification. Container Runtimes that implement said spec would be Containerd, CRI-O, Kata and gVisor for example.

Since Containerd is the most common runtime, we settled for it. Even though docker internally uses Containerd, the migration was pretty tricky, as it involved installing and configuring Containerd, as well as making sure that Kubernetes uses it. Finally when kubelet restarts, all containers will be recreated.

Containerd

We initially thought Containerd would behave exactly like docker since Containerd runs the docker containers after all. But for one reason or another that is not the case. Through the CRI interface the containers get created based on a CRI-spec. Unfortunately, the default configuration of Containerd does not set the ulimit properly, which results in some application working and others will be killed by the OOMKiller. It turns out that some application try to check the ulimit by „trial and error“ and since the limit is set too high, the kernel will eventually kill the respective process. Weirdly enough, almost exclusively older applications were effected. For example mysql:8 would work fine, but mysql:5.7 will crash almost instantly. The same problem can be observed with the nfs-server-provisioner and rabbitmq for example.

API Deprecations

Like with any other Kubernetes release, there were a lot of API deprecations that needed us to move the Flannel CNI and other deployments to a new release gracefully. The official Kubernetes Blog has a great write-up on this topic.

Configuration

Another problem we faced is the change in configuration. The core Kubernetes component kubelet now only supports being configured with a special configuration file, which in turn meant that we had to rebuild the configuration from scratch, as all of our configuration involved command line flags that now no longer work. CoreDNS as well had some new configuration options helping to conquer overloading the pod with many concurrent DNS queries. We even support adding new static host entries in CoreDNS. The ConfigMap coredns-extra-hosts sets the entries. This entry hosts.list is empty by default, but can the modified like any other hosts file ( 1.2.3.4 example.com ). After restarting the coredns deployment the host can be queried.

Deprecation of PodSecurityPolicy

PodSecurityPolicies have been deprecated since 1.21. But since 1.24 is the last release with it still active, it’s the last chance to get started with PodSecurityAdmission. However, they don’t provide the same feature set, as it enforces the policy based on 3 Pod Security Standards namespace wide. This means, in order to get the same and even more features solutions like OPA Gatekeeper or Kyverno have to be implemented.

ServiceAccount Tokens

Another noteworthy change is the changed behaviour in token creation. Until now, every ServiceAccount automatically gets a new secret including a token to access the Kubernetes api. This is no longer the case. If you need to create a token, make sure to use the kubectl create token command instead.

Happy upgrading!

Justin Lamp
Justin Lamp
Systems Engineer

Justin hat 2022 die Ausbildung zum Fachinformatiker für Systemintegration im "echten" Norden abgeschlossen. Durch seine große Verbundundenheit zu Open Source hat er aber schnell gemerkt, dass ihm Themen im Kubernetes und OpenStack Bereich mehr liegen als im propreritären Microsoft/ VMWare Umfeld. So hat er beschlossen den Schritt zu wagen und andere Teile Deutschlands zu erkunden, um NETWAYS im Team Web Services tatkräftig zu unterstützen. Wenn er nicht in den Untiefen des Linux-Universum unterwegs ist, macht er leidenschaftlich Leichtathletik, geht Wandern und Mountainbiking.

Foreman 3.0 – Was bedeutet der neue Major-Release

Wer erinnert sich noch an die letzte Versionsnummer bei Foreman mit einer 1 am Anfang? Es war eine 1.24, also 25 Minor-Releases und ein ganzer Haufen Bugfix-Releases, bis zur 2.0! Und nun nach nur 6 Releases mit einer 2.x, kommt schon die 3.0? Hat die Entwicklung hier so viel Fahrt aufgenommen? Um gleich alle Bedenken vorweg zu nehmen: Nein, Foreman nutzt die Major-Versionen um eine größere Änderung an der Infrastruktur hinzuweisen. Mit 2.0 war es die Fokussierung auf PostgreSQL als einzige Datenbank und mit 3.0 ist es das Herauslösen von Puppet in ein separates Plugin.

Puppet als separates Plugin

Das Puppet bei Foreman eine Sonderstellung gegenüber den anderen Konfigurationsmanagementlösungen hat bzw. ab jetzt hatte, ist historisch leicht zu begründen, da Foreman als Managementoberfäche für Puppet entstanden ist. Schon lange sollten die anderen Lösungen aber möglichst gleiche Funktionalität bieten und als gleichwertig betrachtet werden können. Nachdem sowohl in der Community öfters die Frage aufkam, ob man Foreman auch ganz ohne Puppet nutzen kann, als auch sich für Red Hat die Strategie zu Ansible als einzige Konfigurationsmanagementlösung geändert hat, war es nur eine Frage der Zeit, dass Puppet mit den anderen Lösungen gleichgestellt und als ein Plugin heraus gelöst wurde. Das Red Hat hierfür verständlicherweise die Entwicklungszeit zurückfahren möchte, wurde auch bereits von Anfang an klar kommuniziert und somit hat Ondrej Ezr um Unterstützung aus der Community für die weitere Pflege gebeten. Hier geht der Dank ganz klar an die ATIX AG und dmTech, die sich hierzu bereit erklärt haben, sowie iRonin, die sie dabei unterstützen.

Bereits in den letzten Versionen war das Plugin verfügbar und konnte getestet werden. Mit 3.0 wird es immer noch standardmäßig installiert, kann aber falls Puppet nicht gewünscht ist einfach deinstalliert werden. Erst mit 3.1 ist es angedacht es nicht mehr direkt mit zu installieren.

Bis jetzt sind mir hier noch keine Probleme aufgefallen, aber wenn man bedenkt, dass hier dmTech mit wesentlich größerer Umgebung in Produktion testen kann, hätte mich das auch gewundert. Daher mein Aufruf an Foreman-Nutzer ohne Puppet-Umgebung, direkt mal das Plugin zu deinstallieren und zu testen, bzw. an die mit Puppet-Umgebung zu prüfen, ob nicht doch ein Fehler in ihrer Umgebung auftritt.

Neue Hostansicht als Preview

Natürlich bleibt die Entwicklung hier nicht stehen, der nächste große Schritt wird die Modernisierung der Hostansicht sein. Diese ist zwar immer noch funktional aber unbestreitbar in die Jahre gekommen. Wer möchte kann also die Chance nutzen, die neue Ansicht aktivieren und Feedback geben. Zwar sind bereits die ersten Detailverbesserungen für die 3.0.1 angekündigt, aber nur mit Feedback von Leuten die Foreman auch täglich nutzen, kann in meinen Augen auch das bestmögliche Ergebnis erzielt werden.

Wer also die neue Hostpage sehen möchte, muss unter „Administer -> Settings -> Generic“ die Option „Show Experimental Labs“ aktivieren. Nun taucht im Action-Menü der Hostübersicht eine neue Option „New Detail Page“ auf.

Neue Host-Action 'New Detail Page'

Diese sieht aktuell folgendermaßen aus:

Neue Hostansicht

Teil der neuen Hostansicht ist bereits jetzt eine neue Statusübersicht, weitere Tabs für die verschiedenen Plugins werden in den nächsten Minor-Releases folgen.

Neue Statusübersicht

Über Lob, Kritik oder Anregungen freut sich der Feedback-Thread im Community-Forum.

Zukunftssicherheit

Die meisten anderen Änderungen möchte ich unter Zukunftssicherheit zusammenfassen. Zum einen setzt Foreman ab 3.0 auf mod_auth_gssapi für die Kerberos-Authentifizierung, damit steht dieser auch auf EL8 nichts mehr im Weg. Zum anderen wurde der Code zum Parsen der Systemdaten aus allen Quellen in Foreman selbst verschoben, was das angedachte Refactoring erleichtern sollte.

Dazu kommen noch kleine Änderungen an Permissions, Parametern und Defaults, die sich in der Upgrade-Warnings finden. Und zu guter Letzt wurde der Support für Ubuntu 18.04 und EL7 als Plattform abgekündigt, wobei für ersteres konkret mit 3.0 der Support ausläuft, bei EL7 gilt aktuell nur EL8 ab dieser Version als bevorzugte Plattform.

Zusätzlich listen die Release Notes noch eine große Menge an Detailverbesserungen und Bugfixes auf.

Ich wünsche allen ein erfolgreiches Update, Katello-Nutzer warten darum bitte noch auf den finalen Release der Version 4.2! Und wer sich fragt wovon ich hier überhaupt rede, kann sich ja mal unsere Produktseite anschauen, die wir vor kurzem aktualisiert und erweitert haben.

Dirk Götz
Dirk Götz
Principal Consultant

Dirk ist Red Hat Spezialist und arbeitet bei NETWAYS im Bereich Consulting für Icinga, Puppet, Ansible, Foreman und andere Systems-Management-Lösungen. Früher war er bei einem Träger der gesetzlichen Rentenversicherung als Senior Administrator beschäftigt und auch für die Ausbildung der Azubis verantwortlich wie nun bei NETWAYS.

brevis.one: Neue Software-Version 21 verfügbar!

brevis.one hat uns mitgeteilt, dass die neue Software-Version 21 ab sofort für updateberechtigte Gateways verfügbar ist und zusätzlich auch spannende neue Funktionen erhalten hat. Ab Version 21 stellt brevis.one allen Kunden Software-Updates zur Verfügung, die ein Software Asset Management (SAM) abgeschlossen haben. Kunden können noch bis 31.03.2021 die brevis.one Sonder-Aktion nutzen, um ihr Gerät immer auf dem neuesten Stand zu halten. Dazu könnt Ihr Euch einfach per Mail bei uns melden! Wer noch ein älteres Braintower SMS Gateway besitzt, kann hier die Austauschangebote von brevis.one nutzen, um direkt wieder auf dem aktuellen Stand der Technik zu sein. Insbesondere mit Hinblick auf die Abschaltung von 3G-Netzen ist dies definitiv eine Überlegung wert. Wer hieran interessiert ist, kann sich direkt bei brevis.one unter der Mail-Adresse sales@brevis.one melden.

 

Software-Version 21

Neben Optimierungen im User Interface bringt die Version zwei spannende neue Features mit sich:

  • RING: Lasst zusätzlich zur SMS das Telefon des Empfängers klingeln, und erzeugt so noch mehr Aufmerksamkeit für Eure dringenden Benachrichtigungen
  • Flash Message: Dieser Nachrichtentyp erscheint unmittelbar nach dem Empfang auf dem Display des Smartphones
  • Außerdem wurden einige kleinere Fehler behoben und die Funktion zur Datenbereinigung erweitert

Den Download der Version 21 findet Ihr unter https://my.brevis.one. Zur Anmeldung werden ab sofort neben der Seriennummer (GWS-0xxxxx oder GWL-0xxxxx) zusätzlich die IMEI des Geräts benötigt. Diese kann im Webinterface unter “Hilfe” – “Info” angezeigt werden. Bei einigen älteren Geräten kann es vorkommen, dass der Eintrag der IMEI in der brevis.one Datenbank noch fehlt. Dadurch schlägt der Login-Versuch unter my.brevis.one fehl. In diesem Fall wendet Euch bitte einfach mit einem Screenshot dieser Seite aus Eurem Gerät mit Seriennummer und IMEI an support@brevis.one, so dass eine Korrektur erfolgen kann.

Die aktuelle Dokumentation des SMS Gateways findet Ihr ab sofort unter https://docs.brevis.one/current/de. Die Release-Notes zur aktuellen Version stehen hier zur Verfügung.

 

SAM – Software Asset Management

Um Software-Updates zu erhalten und Euer Gerät immer auf dem neuesten Stand zu halten, bietet brevis.one allen Kunden die Möglichkeit, auch mit Ihrem bestehenden Gerät bis 31.03.2021 in den SAM einzusteigen. Bei Geräten mit Kaufdatum bis 2018 bietet der Hersteller dies im Rahmen einer zeitlich befristeten Aktion an, ohne dass rückwirkend Gebühren in Rechnung gestellt werden. Ihr zahlt lediglich ab 01.01.2021 die SAM-Gebühr pro Jahr und pro Gerät. Zusätzlich im SAM enthalten sind ab 2021 alle bisherigen Software-Features des brevis.one SMS Gateways.

Bei den Geräten mit Kaufdatum vor 2018 fällt aufgrund des Alters der Geräte eine einmalige Gebühr pro Gerät an. Kontaktiert uns in diesem Fall bitte per Mail!

Bei einem Einstieg in den SAM ab April 2021 werden die Gebühren für die verstrichene Zeit seit Kaufdatum des Geräts nachberechnet. Der bisherige „Full Service“ inkl. Hardware-Tausch wird weiterhin angeboten und beinhaltet selbstverständlich die Leistungen des SAM. Eine Übersicht über die Inhalte der Serviceverträge findet Ihr unter https//:brevis.one unter Produktinformationen/Übersicht Service + Support

 

Bei Fragen rund um die Hardware aus unserem Shop helfen wir gerne persönlich weiter – wir sind erreichbar per Mail oder telefonisch unter der 0911 92885-44. Wer uns gerne bei der Arbeit ein bisschen über die Schulter schauen oder den Shop und die angebotenen Produkte verfolgen möchte, kann uns auch auf Twitter folgen – über @NetwaysShop twittert das NETWAYS Shop Team!

Cachet now available at NETWAYS Web Services

We think communication is crucial. Especially during downtimes. That’s why we release a new app today. An app, which allows you to share all necessary information about your services and servers with your users. Cachet is software that improves downtime.

Cachet is a status page, which is very simple to use, yet it offers many opportunities, to better communicate downtime and system outages to customers, teams and shareholders. You can display the status of your services, websites and servers. You can create and show metrics, plan maintenances or inform your users about current issues.

 

 

Cachet comes with a powerfull API. In the detailed documentation you can generate your calls for whatever you want to create or change. All information which can be created and edited in the admin panel, can also be created and changed with an API call. The interesting part about Cachet is that administrators have the opportunity to automate the updates. For example with data of your monitoring or some scripts on your hosts which check some services.

In the following command, you would create a new incident with the name „Down“ and the message „A server went down„.

  • It will be in the state „1„, which means „investigating
  • The component which is affected by this incident has the id 2, which is in this case „My Login
  • The component will be in state „4„, which means „Major Outage
  • Notify: true – so your user would receive an email with about this incident.

mgebert@MacBook-Pro ~ $ curl --request POST --url -H "Content-Type: application/json;" -H "X-Cachet-Token: j5t0mNvvh57ubO84TxJq" --data '{"name":"Down","message":"A server went down.","status":1,"visible":1,"component_id":2,"component_status":4,"notify":"true"}'

If you want to notify your users as soon as an incident was reported, you will have to configure the credentials for your mailserver and enable the „Subscribe“ button, which can be done in the settings quite simple.

But if you don’t want to use the API, you can create and manage your information just by changing the states of your components and incidents, as you can see in the screenshots below.

 

You can start your own Cachet app at the NWS platform now on our platform. First 30 days are for free and the app will be ready within 5 minutes – so what are you waiting for?

Last but not least, I want to share with you the link to a temporary available demo installation, so you can have a look at it right now. Check it out!