Wie Plesk auf der KubeCon war

In diesem Jahr hat Plesk beschlossen, einige Leute zur KubeCon zu schicken – der wichtigsten Veranstaltung fĂŒr Kubernetes weltweit. Solche spezifischen Konferenzen zu diesem Thema gibt es in Russland nicht. NatĂŒrlich spricht man bei uns ĂŒber K8s, und alle wollen es, aber so viele Unternehmen, die es praktizieren, versammeln sich an einem Ort nicht noch einmal. Ich war einer der Teilnehmer, da ich an einer auf Kubernetes basierenden Plattform arbeite.

Wie Plesk auf der KubeCon war

Über die Organisation

Die Dimensionen der Konferenz sind beeindruckend: 7000 Teilnehmer, ein riesiges Messezentrum. Der Übergang von einem Saal zum anderen dauerte 5-7 Minuten. Gleichzeitig fanden 30 VortrĂ€ge zu verschiedenen Themen statt. Es gab eine riesige Anzahl von Unternehmen mit eigenen StĂ€nden, bei einigen wurden viele gute und einige hervorragende Preise verlost, außerdem wurden allerlei Dinge wie T-Shirts, Stifte und andere nette Kleinigkeiten verteilt. Die gesamte Kommunikation fand auf Englisch statt, aber ich hatte keine Schwierigkeiten. Wenn das der einzige Grund ist, aus dem Sie nicht zu auslĂ€ndischen Konferenzen fahren, fahren Sie ruhig hin. Englisch in der IT ist einfacher als normales Englisch, dank der FĂŒlle an vertrauten Wörtern, die man jeden Tag im Code und in Dokumentationen schreibt und liest. Auch beim Verstehen der VortrĂ€ge hatte ich keine Probleme. Es wurde sehr viel Wissen vermittelt. Am Abend erinnerte ich an einen Server, der durch einen Buffer Overflow ausgenutzt wurde und die Informationen direkt ins Unterbewusstsein goss.

Über die VortrĂ€ge

Ich möchte kurz ĂŒber die VortrĂ€ge berichten, die mir am besten gefallen haben, und ich wĂŒrde empfehlen, sie anzusehen.

Intro to CNAB: Packaging Cloud Native Applications with Multiple Toolchains — Chris Crone, Docker

Dieser Bericht hat einen bleibenden Eindruck hinterlassen, da er auf starke Schmerzen gedrĂŒckt hat. Wir haben viele separate Services, die von verschiedenen Leuten im Team unterstĂŒtzt und entwickelt werden. Wir folgen den Prinzipien von Infrastructure as Code, aber es gibt einige ungelöste Probleme. Es gibt ein Repository mit Code in Ansible, aber der aktuelle Status und das Inventar werden auf dem Computer des Entwicklers, der das Skript ausfĂŒhrt, gespeichert, dort sind auch die Zugangsdaten. Ein Teil der Informationen ist in Confluence zu finden, aber nicht immer ist klar, wo. Es gibt keinen Ort, an dem man einfach einen Knopf drĂŒcken kann, und alles wird gut. Es wird vorgeschlagen, eine Beschreibung zu erstellen und nicht nur den Code, sondern auch die Deployment-Tools im Repository abzulegen. Beschreiben, wo man den Status und die Zugangsdaten erhĂ€lt, make Install ausfĂŒhren und sich ĂŒber das Ergebnis freuen. Ich hĂ€tte gerne mehr Ordnung in den Services, ich werde die Veröffentlichungen von CNAB verfolgen, sie bei mir verwenden, implementieren und ĂŒberzeugen. Ein gutes Muster fĂŒr die Gestaltung des Readme im Repo.

Die RaumfĂ€hre am Fliegen halten: Robuste Operatoren schreiben – Illya Chekrygin, Upbound

Es gibt viele Informationen ĂŒber Fallstricke beim Schreiben von Operatoren. Ich halte diesen Bericht fĂŒr PflichtlektĂŒre fĂŒr alle, die ihren eigenen Operator fĂŒr Kubernetes schreiben möchten. Alle Aspekte wie Status, Garbage Collection, Concurrency und so weiter werden berĂŒcksichtigt. Sehr informativ. Besonders gut gefiel mir das Zitat aus dem Code der persistenten Volumes von Kubernetes:
Wie Plesk auf der KubeCon war

Die Kubernetes Steuerungsebene fĂŒr beschĂ€ftigte Menschen, die Bilder mögen – Daniel Smith, Google

K8s predigt die KomplexitÀt der Integration zugunsten der Einfachheit der Implementierung.

Dieser Bericht beschreibt im Detail eines der grundlegenden architektonischen Elemente eines Clusters – die Steuerungsebene, genauer gesagt, eine Reihe von Controllern. Ihre Rolle und Architektur sowie die grundlegenden Prinzipien der Erstellung eines eigenen Controllers werden am Beispiel bereits vorhandener Controller beschrieben.

Einer der originellsten Punkte ist die Empfehlung, außergewöhnliche Situationen nicht hinter dem korrekten Verhalten des Controllers zu verbergen, sondern das Verhalten irgendwie zu Ă€ndern, um dem System ein Signal ĂŒber das Auftreten von Problemen zu geben.

Hochleistungs-Workloads von eBay mit Kubernetes ausfĂŒhren – Xin Ma, eBay

Eine sehr interessante Erfahrung, es gibt viele Informationen mit Rezepten darĂŒber, was man berĂŒcksichtigen muss, wenn man wirklich hohe Last hat. In Kubernetes sind sie gut eingestiegen und unterstĂŒtzen 50 Cluster. Sie haben alle Aspekte der Maximierung der Leistung behandelt. Ich empfehle, die PrĂ€sentation anzusehen, bevor technische Entscheidungen zu Clustern getroffen werden.

Grafana Loki: Wie Prometheus, aber fĂŒr Logs. – Tom Wilkie, Grafana Labs

Der Bericht, nach dem ich verstand, dass man Loki unbedingt fĂŒr Logs im Cluster ausprobieren muss und höchstwahrscheinlich dabei bleiben sollte. Der Kern: Elastic ist schwerfĂ€llig. Grafana wollte eine leichtgewichtige, skalierbare Lösung entwickeln, die sich gut fĂŒr Debugging-Probleme eignet. Die Lösung ist elegant: Loki wĂ€hlt aus Kubernetes Metainformationen (Labels wie Prometheus) aus und ordnet die Logs entsprechend. So kann man LogstĂŒcke nach Service auswĂ€hlen, einen bestimmten Pod finden, eine bestimmte Zeit auswĂ€hlen und nach Fehlercodes filtern. Diese Filter arbeiten ohne Volltextsuchen. So kann man allmĂ€hlich den Suchbereich eingrenzen und zur spezifischen Fehlermeldung gelangen. Am Ende wird tatsĂ€chlich eine Suche eingesetzt, aber da der Bereich eingegrenzt ist, reicht die Geschwindigkeit ohne Indizierung. Mit einem Klick wird der Kontext nachgeladen — ein paar Zeilen davor und ein paar Zeilen des Logs danach. So sieht es aus wie die Suche in einer Logdatei und Grep, aber etwas bequemer und in derselben OberflĂ€che wie die Metriken. Es kann die Anzahl der Treffer einer Suchanfrage zĂ€hlen. Die Suchanfragen selbst Ă€hneln der Sprache von Prometheus und sehen einfach aus. Der Referent wies uns darauf hin, dass die Lösung nicht sehr gut fĂŒr Analysen geeignet ist. Ich empfehle jedem, der Logs benötigt, sich das unbedingt anzusehen, es ist eine sehr einfache PrĂ€sentation.

Wie Intuit Canary und Blue Green Deployments mit einem K8s-Controller durchfĂŒhrt — Daniel Thomson

Die Prozesse des Canary- und Blue-Green-Deployments werden sehr anschaulich dargestellt. Ich empfehle den Vortrag denen, die sich damit noch nicht beschĂ€ftigt haben. Die Referenten prĂ€sentieren die Lösung in Form einer Erweiterung fĂŒr das vielversprechende CI-CD-System ARGO. Die englische Sprache des Referenten aus Russland ist leichter zu hören als die der anderen Referenten.

Intelligentere Kubernetes-Zugriffssteuerung: Ein einfacherer Ansatz fĂŒr Authentifizierung — Rob Scott, ReactiveOps

Einer der komplexesten Aspekte der Clusterverwaltung bleibt die Sicherheitskonfiguration, insbesondere die Zugriffsrechte auf Ressourcen. Eingebaute K8s-Primitiven ermöglichen es, die Autorisierung nach Belieben einzurichten. Wie hÀlt man diese schmerzfrei auf dem neuesten Stand? Wie klÀrt man, was mit den Zugriffsrechten geschieht, und debuggt die erstellten Rollen? In diesem Vortrag werden nicht nur mehrere Tools zur Debugging der Autorisierung in K8s vorgestellt, sondern auch allgemeine Empfehlungen zum Aufbau einfacher und effektiver Richtlinien gegeben.

Weitere VortrÀge

Ich werde keine Empfehlungen aussprechen. Einige waren kapitanmĂ€ĂŸig, andere dagegen sehr komplex. Ich rate dazu, in diese Playlist zu schauen und alles zu betrachten, was als Keynote gekennzeichnet ist. Das wird einen breiten Blick auf die Branche rund um Cloud Native Apps ermöglichen, und danach sollte man ctrl+f drĂŒcken und nach interessierenden SchlĂŒsselwörtern, Unternehmen, Produkten und AnsĂ€tzen suchen.

Hier ist der Link zur Playlist mit den VortrÀgen, achten Sie darauf.

Youtube-Playlist

Über die StĂ€nde der Unternehmen

Am Stand von Haproxy bekam ich ein T-Shirt fĂŒr meinen Sohn geschenkt. Ich bezweifle, dass ich deswegen Nginx im Produktionsumfeld durch haproxy ersetzen werde, aber sie sind mir am stĂ€rksten im GedĂ€chtnis geblieben. Wer weiß, was die neuen EigentĂŒmer mit Nginx machen werden.

Wie Plesk auf der KubeCon war
Am Stand von IBM gab es an allen drei Tagen kurze VortrĂ€ge, und sie ziehen Leute an, indem sie Oculus Go, Beats-Kopfhörer und einen Quadrokopter verlosen. Man musste alle eine halbe Stunde am Stand bleiben. Ich habe mein GlĂŒck zwei Mal an drei Tagen versucht — es hat nicht geklappt. Auch bei VMWare und Microsoft gab es kurze VortrĂ€ge.

Am Stand von Ubuntu tat ich das, was anscheinend alle machten — ich ließ mich mit Shuttleworth fotografieren. Ein umgĂ€nglicher Kerl, der sich freute zu hören, dass ich sie seit 8.04 benutze und der Server mit ihr zehn Jahre lang ohne Dist-Upgrade ohne Ausfall lief (allerdings ohne Internetzugang).

Wie Plesk auf der KubeCon war
Ubuntu entwickelt sein MicroK8s — schnell, leicht, upstream Entwicklungs-Kubernetes. microk8s.io

Ich konnte an dem mĂŒden Dmitrij Stolyarov nicht vorbeigehen, sprach mit ihm ĂŒber den harten Alltag der Ingenieure, die Kubernetes unterstĂŒtzen. Die VortrĂ€ge wird er seinen Kollegen delegieren, aber er bereitet irgendein neues Format zur PrĂ€sentation des Materials vor. Er rief dazu auf, den Flant-Kanal auf youtube zu abonnieren.

Wie Plesk auf der KubeCon war
IBM, Cisco, Microsoft und VMWare haben viel Geld in die StĂ€nde investiert. Die StĂ€nde der Open-Source-Freunde waren bescheidener. Ich sprach am Stand mit Vertretern von Grafana, die mich ĂŒberzeugt haben – ich muss Loki ausprobieren. Allgemein scheint es, dass die Volltextsuche im Loggingsystem nur fĂŒr die Analyse notwendig ist, wĂ€hrend fĂŒr das Troubleshooting Systeme auf Loki-Ebene ausreichen. Ich sprach mit den Entwicklern von Prometheus. Sie planen kein langanhaltendes Metrik-Storage und kein Downsampling von Daten. Sie raten, sich cortex und thanos als Lösung anzusehen. Es gab sehr viele StĂ€nde, man brauchte einen ganzen Tag, um alle zu besuchen. Ein Dutzend Lösungen fĂŒr Monitoring als Service. FĂŒnf Sicherheitsservices. FĂŒnf Performance-Services. Ein Dutzend UIs fĂŒr Kubernetes. Viele, die k8s als Service anbieten. Alle wollen ihr StĂŒck vom Markt.

Amazon und Google haben Dachterrassen mit Kunstrasen gemietet und LiegestĂŒhle aufgestellt. Amazon verschenkte Tassen und schenkte Limonade aus, wĂ€hrend sie am Stand ĂŒber Neuerungen im Umgang mit Spot-Instanzen informierten. Google verteilte Kekse mit dem Kubernetes-Logo und richtete eine tolle Fotokiste ein, wĂ€hrend sie am Stand auf große Enterprise-Fische angeln gingen.

Über Barcelona

Ich bin in Barcelona verliebt. Ich war dort das zweite Mal, das erste Mal 2012 bei einer Stadtrundfahrt. Es ist erstaunlich, aber viele Fakten kamen mir wieder in den Sinn, ich konnte meinen Kollegen viel erzĂ€hlen, war eine Art Mini-Guide. Die frische Meeresluft hat mich sofort von meiner Allergie befreit. Leckere MeeresfrĂŒchte, Paella, Sangria. Sehr warme, sonnige Architektur. Wenig Stockwerke, sehr viel GrĂŒn. Wir sind in diesen drei Tagen etwa 50 Kilometer zu Fuß durch diese Stadt gegangen, man möchte immer wieder spazieren gehen. All das nach den VortrĂ€gen, abends.

Wie Plesk auf der KubeCon war
Wie Plesk auf der KubeCon war
Wie Plesk auf der KubeCon war

Was ich als Wichtigstes verstanden habe

Ich bin sehr froh, dass ich die Gelegenheit hatte, diese Konferenz zu besuchen. Sie hat die Dinge auf den Punkt gebracht, die vorher nicht klar waren. Sie hat inspiriert und einige Dinge offensichtlich gemacht.

Ein roter Faden zog sich durch meine Gedanken: Kubernetes ist kein Endpunkt, sondern ein Werkzeug. Eine Plattform zur Erstellung von Plattformen.

Die Hauptaufgabe der gesamten Bewegung ist es: skierbare Anwendungen zu entwickeln und bereitzustellen.

Die Hauptrichtungen, an denen die Gemeinschaft arbeitet, haben sich herauskristallisiert. So wie seinerzeit die 12 Faktoren fĂŒr Anwendungen entstanden, gibt es nun eine Liste dessen, was und wie man fĂŒr die Infrastruktur insgesamt tun sollte. Wenn man möchte, kann man das als Trends bezeichnen:

  • Dynamische Umgebungen
  • Öffentliche, hybride und private Clouds
  • Container
  • Service Mesh
  • Mikrodienste
  • UnverĂ€nderliche Infrastruktur
  • Deklarative API

Diese Techniken ermöglichen es, Systeme mit folgenden Eigenschaften zu bauen:

  • Schutz vor Datenverlust
  • Elastisch (anpassbar an die Last)
  • Wartbar
  • Überwachbar (drei SĂ€ulen: Monitoring, Logging, Tracing)
  • Die Möglichkeit, ernsthafte Änderungen hĂ€ufig und vorhersehbar sicher auszurollen.

CNCF wÀhlt die besten Projekte aus (eine kleine Liste) und fördert solche Dinge:

  • Gesunde Automatisierung
  • Open Source
  • Freiheit bei der Auswahl des Dienstanbieters.

Kubernetes ist komplex. Ideologisch und in Teilen ist es einfach, aber insgesamt komplex. Niemand hat eine All-in-One-Lösung gezeigt. Auf dem Markt fĂŒr k8s als Dienst ist, wie in vielen anderen Bereichen, der wilde Westen: UnterstĂŒtzung wird sowohl fĂŒr 50 $ als auch fĂŒr 1000 $ pro Monat angeboten. Jeder vertieft sich in einen bestimmten Bereich und buddelt dort. Der eine in Monitoring und Dashboards, der andere in Performance, wieder ein anderer in Sicherheit.

K8S, alles fÀngt gerade erst an!

Quelle: habr.com

60GB SSD 8Gb DDR4