{"id":34735,"date":"2019-10-31T22:00:06","date_gmt":"2019-10-31T19:00:06","guid":{"rendered":"https:\/\/prohoster.info\/blog\/znakomstvo-s-helm-3\/"},"modified":"2019-10-31T22:00:06","modified_gmt":"2019-10-31T19:00:06","slug":"znakomstvo-s-helm-3","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/znakomstvo-s-helm-3","title":{"rendered":"Einf\u00fchrung in Helm 3","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Einf\u00fchrung in Helm 3\" src=\"\/wp-content\/uploads\/2019\/05\/6de0e2887ddcc802f1dd71c902325401.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<i><b>Hinweis.<\/b>: Der 16. Mai dieses Jahres markiert einen bedeutenden Meilenstein in der Entwicklung des Paketmanagers f\u00fcr Kubernetes \u2013 Helm. An diesem Tag wurde die erste Alpha-Version der bevorstehenden Major-Version 3.0 des Projekts vorgestellt. Ihr Erscheinen wird erhebliche und lang erwartete \u00c4nderungen in Helm mit sich bringen, auf die viele in der Kubernetes-Community gro\u00dfe Hoffnungen setzen. Auch wir sind hiervon betroffen, da wir Helm aktiv f\u00fcr das Deployment von Anwendungen nutzen: Wir haben es in unser CI\/CD-Tool integriert. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/werf\">werf<\/a><\/noindex> Von Zeit zu Zeit tragen wir auch zur Weiterentwicklung des Upstreams bei. Diese \u00dcbersetzung fasst 7 Beitr\u00e4ge aus dem offiziellen Helm-Blog zusammen, die an den ersten Alpha-Release von Helm 3 angekn\u00fcpft sind und die Geschichte des Projekts sowie die Hauptmerkmale von Helm 3 thematisieren. Der Autor ist Matt \u201ebacongobbler\u201c Fisher, ein Mitarbeiter von Microsoft und einer der Hauptmaintainer von Helm.<\/i><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Das Projekt, das heute als Helm bekannt ist, entstand am 15. Oktober 2015. Nur ein Jahr nach seiner Gr\u00fcndung trat die Helm-Community Kubernetes bei und arbeitete gleichzeitig aktiv an Helm 2. Im Juni 2018 wurde Helm <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cncf.io\/blog\/2018\/06\/01\/cncf-to-host-helm\/\">Teil der CNCF<\/a><\/noindex> als ein sich entwickelndes (incubating) Projekt. Lassen Sie uns in die Gegenwart zur\u00fcckkehren \u2013 und nun steht der erste Alpha-Release von Helm 3 vor der T\u00fcr. <i>(dieser Release <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/helm\/releases\/tag\/v3.0.0-alpha.1\">hat bereits stattgefunden.<\/a><\/noindex> Mitte Mai \u2014 Anmerkung des \u00dcbersetzers.<\/i>.<\/p>\n<p>In diesem Artikel werde ich dar\u00fcber sprechen, wie alles begann, wie wir zu diesem aktuellen Stand gekommen sind, einige einzigartige Funktionen, die im ersten Alpha-Release von Helm 3 verf\u00fcgbar sind, vorstellen und erl\u00e4utern, wie wir uns weiterentwickeln m\u00f6chten.<\/p>\n<p>Zusammenfassung:<\/p>\n<ul>\n<li>Die Entstehungsgeschichte von Helm;<\/li>\n<li>ein sanfter Abschied von Tiller<\/li>\n<li>Chart-Repositories;<\/li>\n<li>Release-Management;<\/li>\n<li>\u00c4nderungen in den Chart-Abh\u00e4ngigkeiten;<\/li>\n<li>Bibliotheks-Charts;<\/li>\n<li>was tun Sie als N\u00e4chstes?<\/li>\n<\/ul>\n<p><\/p>\n<h2>Die Entstehungsgeschichte von Helm<\/h2>\n<p><\/p>\n<h3>Die Geburt<\/h3>\n<p>\nHelm 1 begann als Open-Source-Projekt, das von der Firma Deis ins Leben gerufen wurde. Wir waren ein kleines Startup, <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.microsoft.com\/blog\/2017\/04\/10\/microsoft-acquire-deis-help-companies-innovate-containers\/\">das<\/a><\/noindex> im Fr\u00fchjahr 2017 von Microsoft \u00fcbernommen wurde. Unser anderes Open-Source-Projekt, das ebenfalls den Namen Deis trug, hatte ein Werkzeug namens <code>deisctl<\/code>, das (unter anderem) zur Installation und zum Betrieb der Deis-Plattform in einem <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/coreos\/fleet\">Fleet-Cluster<\/a><\/noindex>verwendet wurde. Zu dieser Zeit war Fleet eine der ersten Plattformen zur Orchestrierung von Containern.<\/p>\n<p>Mitte 2015 entschlossen wir uns, die Richtung zu \u00e4ndern und Deis (damals in Deis Workflow umbenannt) von Fleet auf Kubernetes zu migrieren. Eines der ersten Werkzeuge, das \u00fcberarbeitet wurde, war das Installationswerkzeug. <code>deisctl<\/code>Es wurde verwendet, um Deis Workflow in einem Fleet-Cluster zu installieren und zu verwalten.<\/p>\n<p>Helm 1 wurde nach dem Vorbild bekannter Paketmanager wie Homebrew, apt und yum entwickelt. Seine Hauptaufgabe bestand darin, Aufgaben wie das Paketieren und Installieren von Anwendungen in Kubernetes zu vereinfachen. Offiziell wurde Helm 2015 auf der KubeCon-Konferenz in San Francisco vorgestellt.<\/p>\n<p>Unser erster Versuch mit Helm war erfolgreich, aber es gab ernsthafte Einschr\u00e4nkungen. Er nahm eine Reihe von Kubernetes-Manifesten, gew\u00fcrzt mit Generatoren als Eingangs-YAML-Bl\u00f6cke <i>(front-matter)<\/i>*, und lud die Ergebnisse in Kubernetes.<\/p>\n<p><i>* <b>Hinweis.<\/b>: Mit der ersten Version von Helm wurde f\u00fcr die Beschreibung von Kubernetes-Ressourcen die YAML-Syntax gew\u00e4hlt, und beim Schreiben von Konfigurationen wurden Jinja-Templates und Python-Skripte unterst\u00fctzt. Mehr dazu und zur Struktur der ersten Helm-Version haben wir im Kapitel \"Kurze Geschichte von Helm\" geschrieben. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/417079\/\">diesem Material<\/a><\/noindex>.<\/i><\/p>\n<p>Zum Beispiel, um ein Feld in einer YAML-Datei zu ersetzen, musste man die folgende Konstruktion zum Manifest hinzuf\u00fcgen:<\/p>\n<pre><code class=\"plaintext\">#helm:generate sed -i -e s|ubuntu-debootstrap|fluffy-bunny| my\/pod.yaml<\/code><\/pre>\n<p>\nEs ist toll, dass es heute Template-Engines gibt, nicht wahr?<\/p>\n<p>Aus vielen Gr\u00fcnden erforderte dieser fr\u00fche Kubernetes-Installer eine festgelegte Liste von Manifest-Dateien und f\u00fchrte nur eine kleine, feste Abfolge von Ereignissen aus. Der Umgang damit war so schwierig, dass das Forschung- und Entwicklungsteam von Deis Workflow auf erhebliche Herausforderungen stie\u00df, als sie versuchten, ihr Produkt auf diese Plattform zu migrieren \u2013 dennoch waren die Samen der Idee bereits ges\u00e4t. Unser erster Versuch bot eine gro\u00dfartige Lerngelegenheit: Wir erkannten, dass wir leidenschaftlich daran interessiert sind, pragmatische Werkzeuge zu entwickeln, die allt\u00e4gliche Probleme unserer Nutzer l\u00f6sen.<\/p>\n<p>Gest\u00fctzt auf die Erfahrungen aus vergangenen Fehlern begannen wir mit der Entwicklung von Helm 2.<\/p>\n<h3>Die Erstellung von Helm 2<\/h3>\n<p>\nEnde 2015 trat das Google-Team an uns heran. Sie arbeiteten an einem \u00e4hnlichen Werkzeug f\u00fcr Kubernetes. Der Deployment Manager f\u00fcr Kubernetes war ein Port eines bestehenden Tools, das bereits f\u00fcr die Google Cloud Plattform verwendet wurde. \u201eM\u00f6chten wir uns ein paar Tage Zeit nehmen, um die \u00c4hnlichkeiten und Unterschiede zu besprechen?\u201c, fragten sie.<\/p>\n<p>Im Januar 2016 trafen sich die Teams von Helm und dem Deployment Manager in Seattle, um Ideen auszutauschen. Die Gespr\u00e4che endeten mit einem ehrgeizigen Plan: die beiden Projekte zu vereinen, um Helm 2 zu schaffen. Zusammen mit Deis und Google schlossen sich die Jungs dem Entwicklerteam an <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/skippbox\">SkippBox<\/a><\/noindex> <i>(jetzt Teil von Bitnami \u2013 Anmerkung d. \u00dcbers.)<\/i>, und wir machten uns an die Arbeit an Helm 2.<\/p>\n<p>Wir wollten die Benutzerfreundlichkeit von Helm beibehalten, gleichzeitig jedoch Folgendes hinzuf\u00fcgen:<\/p>\n<ul>\n<li> Chart-Vorlagen zur Anpassung;<\/li>\n<li> Management innerhalb des Clusters f\u00fcr Teams;<\/li>\n<li> ein erstklassiges Chart-Repository;<\/li>\n<li> ein stabiles Paketformat mit Signierungsoption;<\/li>\n<li> eine feste Verpflichtung zu semantischer Versionierung und der Wahrung der Abw\u00e4rtskompatibilit\u00e4t zwischen Versionen.<\/li>\n<\/ul>\n<p>\nUm diese Ziele zu erreichen, wurde ein zweites Element in das Helm-\u00d6kosystem eingef\u00fchrt. Dieses komponenteninternen Teil wurde Tiller genannt und k\u00fcmmerte sich um die Installation und Verwaltung von Helm-Charts.<\/p>\n<p>Seit der Ver\u00f6ffentlichung von Helm 2 im Jahr 2016 hat Kubernetes mehrere bedeutende Neuerungen erhalten. Es wurde eine rollenbasierte Zugriffskontrolle eingef\u00fchrt (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/422801\/\">RBAC<\/a><\/noindex>), die schlie\u00dflich die attributbasierte Zugriffskontrolle (ABAC) abl\u00f6ste. Neue Ressourcentypen wurden eingef\u00fchrt (Deployments befanden sich zu diesem Zeitpunkt weiterhin im Beta-Status). Die Custom Resource Definitions wurden erfunden (urspr\u00fcnglich als Third Party Resources oder TPRs bezeichnet). Am wichtigsten war jedoch, dass ein Satz bew\u00e4hrter Praktiken entstand.<\/p>\n<p>Vor dem Hintergrund all dieser Ver\u00e4nderungen bew\u00e4hrte sich Helm weiterhin f\u00fcr die Benutzer von Kubernetes. Nach drei Jahren und zahlreichen neuen Erweiterungen wurde klar, dass es an der Zeit war, bedeutende \u00c4nderungen an der Codebasis vorzunehmen, um Helm weiterhin den wachsenden Anforderungen des sich entwickelnden \u00d6kosystems gerecht zu machen.<\/p>\n<h2>Ein sanfter Abschied von Tiller<\/h2>\n<p>\nW\u00e4hrend der Entwicklung von Helm 2 f\u00fchrten wir Tiller als Teil unserer Integration mit dem Deployment Manager von Google ein. Tiller spielte eine wichtige Rolle f\u00fcr die Teams, die innerhalb eines gemeinsamen Clusters arbeiteten: Er erm\u00f6glichte es verschiedenen Fachleuten, die Infrastruktur verwalten, mit demselben Set an Releases zu interagieren.<\/p>\n<p>Seit der Standardaktivierung der rollenbasierten Zugriffskontrolle (RBAC) in Kubernetes 1.6 wurde die Arbeit mit Tiller in der Produktion komplexer. Aufgrund der Vielzahl m\u00f6glicher Sicherheitsrichtlinien waren wir der Auffassung, dass wir eine permissive Konfiguration als Standardeinstellung anbieten sollten. Dies erm\u00f6glichte es Neueinsteigern, mit Helm und Kubernetes zu experimentieren, ohne sich zun\u00e4chst mit den Sicherheitskonfigurationen auseinandersetzen zu m\u00fcssen. Leider konnte diese permissive Konfiguration dem Nutzer zu viele Berechtigungen gew\u00e4hren, die er gar nicht ben\u00f6tigt h\u00e4tte. DevOps- und SRE-Ingenieuren blieb nichts anderes \u00fcbrig, als zus\u00e4tzliche Betriebsschritte zu lernen, um Tiller in einem Mehrbenutzer-Cluster (multi-tenant) bereitzustellen.<\/p>\n<p>Durch das Verst\u00e4ndnis, wie Mitglieder der Community Helm in bestimmten Situationen nutzen, wurde uns klar, dass das Release-Management-Tool Tiller nicht auf einen intra-cluster Komponenten angewiesen sein muss, um Zust\u00e4nde zu verwalten oder als zentrales Hub f\u00fcr Release-Informationen zu fungieren. Stattdessen k\u00f6nnten wir einfach Informationen vom Kubernetes API-Server abrufen, das Chart auf der Client-Seite generieren und den Installationsdatensatz in Kubernetes speichern.<\/p>\n<p>Die Hauptaufgabe von Tiller h\u00e4tte auch ohne Tiller erf\u00fcllt werden k\u00f6nnen, daher war eine unserer ersten Entscheidungen bez\u00fcglich Helm 3 der vollst\u00e4ndige Verzicht auf Tiller.<\/p>\n<p>Mit dem Wegfall von Tiller hat sich das Sicherheitsmodell von Helm radikal vereinfacht. Helm 3 unterst\u00fctzt nun alle modernen Methoden der Sicherheit, Identifizierung und Autorisierung, die im aktuellen Kubernetes verwendet werden. Die Berechtigungen von Helm werden durch <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/organize-cluster-access-kubeconfig\/\">der kubeconfig-Datei<\/a><\/noindex>. Clusteradministratoren k\u00f6nnen die Benutzerrechte mit jeder gew\u00fcnschten Detailgenauigkeit einschr\u00e4nken. Releases werden weiterhin innerhalb des Clusters gespeichert, die restliche Funktionalit\u00e4t von Helm bleibt erhalten.<\/p>\n<h2>Chart-Repositories<\/h2>\n<p>\nEin Chart-Repository ist eine effiziente Ablage f\u00fcr die Speicherung und gemeinsame Nutzung von Charts. Der Helm-Client packt und sendet diese Charts an das Repository. Kurz gesagt, ein Chart-Repository fungiert im Grunde genommen als einfacher HTTP-Server mit einer index.yaml-Datei und mehreren verpackten Charts.<\/p>\n<p>Obwohl das API des Chart-Repositories einige Vorteile bietet und grundlegende Anforderungen an die Speicherung erf\u00fcllt, gibt es auch einige Nachteile:<\/p>\n<ul>\n<li> Chart-Repositories sind mit den meisten sicherheitsrelevanten Implementierungen, die in Produktionsumgebungen erforderlich sind, schwer kompatibel. Ein standardisiertes API f\u00fcr Authentifizierung und Autorisierung ist in Produktionsszenarien von entscheidender Bedeutung.<\/li>\n<li> Die Helm-Tools zur Verfolgung der Herkunft eines Charts, die f\u00fcr die Signierung, Integrit\u00e4tspr\u00fcfung und Ursprungskontrolle genutzt werden, sind optional im Ver\u00f6ffentlichungsprozess eines Charts.<\/li>\n<li> In Mehrbenutzerszenarien kann dasselbe Chart von einem anderen Benutzer geladen werden, was den Speicherbedarf f\u00fcr denselben Inhalt verdoppelt. Um dieses Problem zu l\u00f6sen, wurden intelligentere Repositories entwickelt, die jedoch nicht Teil der formalen Spezifikation sind.<\/li>\n<li> Die Verwendung einer einzigen Indexdatei zur Suche, Speicherung von Metadaten und zum Abrufen von Charts hat die Entwicklung sicherer Mehrbenutzer-Implementierungen kompliziert.<\/li>\n<\/ul>\n<p>\nProjekt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/docker\/distribution\">Docker Distribution<\/a><\/noindex> (auch bekannt als Docker Registry v2) ist der Nachfolger der Docker Registry und stellt tats\u00e4chlich eine Sammlung von Werkzeugen zum Packen, Versenden, Speichern und Bereitstellen von Docker-Images dar. Viele gro\u00dfe Cloud-Dienste bieten Produkte auf Basis von Distribution an. Aufgrund dieser erh\u00f6hten Aufmerksamkeit hat das Distribution-Projekt von jahrelangen Verbesserungen, Best Practices in Bezug auf Sicherheit und Tests unter \u201erealen\u201c Bedingungen profitiert, wodurch es zu einem der erfolgreichsten unbekannten Helden der Open Source-Welt geworden ist.<\/p>\n<p>Aber wussten Sie, dass das Distribution-Projekt entwickelt wurde, um jede Art von Inhalt zu verteilen und nicht nur Container-Images?<\/p>\n<p>Dank des Engagements <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opencontainers.org\/\">Open Container Initiative<\/a><\/noindex> (oder OCI) k\u00f6nnen Helm-Charts auf jeder Instanz von Distribution gehostet werden. Dieser Prozess ist derzeit noch experimentell. Die Arbeit an der Unterst\u00fctzung von Logins und weiteren Funktionen, die f\u00fcr ein vollst\u00e4ndiges Helm 3 erforderlich sind, ist noch nicht abgeschlossen, aber wir freuen uns sehr \u00fcber die Gelegenheit, von den Entdeckungen zu lernen, die die Teams von OCI und Distribution \u00fcber die Jahre gemacht haben. Dank ihrer Mentorschaft und F\u00fchrung erfahren wir, was den Betrieb eines hochverf\u00fcgbaren Services in gro\u00dfem Ma\u00dfstab ausmacht.<\/p>\n<p>Eine ausf\u00fchrlichere Beschreibung einiger bevorstehender \u00c4nderungen in den Helm-Chart-Repositories ist verf\u00fcgbar <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.bacongobbler.com\/post\/2019-01-25-distributing-with-distribution\/\">\u00fcber den Link<\/a><\/noindex>.<\/p>\n<h2>Verwaltung der Releases<\/h2>\n<p>\nIn Helm 3 wird der Zustand der Anwendung innerhalb des Clusters durch ein Paar Objekte verfolgt:<\/p>\n<ul>\n<li> release object \u2014 stellt eine Instanz der Anwendung dar;<\/li>\n<li> release version secret \u2014 stellt den gew\u00fcnschten Zustand der Anwendung zu einem bestimmten Zeitpunkt dar (z. B. die Ver\u00f6ffentlichung einer neuen Version).<\/li>\n<\/ul>\n<p>\nAufruf <code>helm install<\/code> erstellt das release object und das release version secret. Der Aufruf <code>helm upgrade<\/code> erfordert ein release object (das ver\u00e4ndert werden kann) und erstellt ein neues release version secret, das neue Werte und das vorbereitete Manifest enth\u00e4lt.<\/p>\n<p>Das Release-Objekt enth\u00e4lt Informationen \u00fcber das Release, wobei ein Release eine spezifische Installation eines benannten Charts und seiner Werte darstellt. Dieses Objekt beschreibt die Metadaten auf oberster Ebene des Releases. Das Release-Objekt bleibt w\u00e4hrend des gesamten Lebenszyklus der Anwendung bestehen und ist der Eigent\u00fcmer aller Release-Version-Secrets sowie aller Objekte, die direkt durch das Helm-Chart erstellt werden.<\/p>\n<p>Das Release-Version-Secret verbindet den Release mit einer Reihe von Revisionen (Installation, Updates, Rollbacks, L\u00f6schungen).<\/p>\n<p>In Helm 2 waren die Revisionen ausschlie\u00dflich sequenziell. Der Aufruf <code>helm install<\/code> Erstellte v1, das nachfolgende Update (Upgrade) war v2, und so weiter. Release und Release-Version-Secret wurden zu einem einzigen Objekt zusammengef\u00fchrt, das als Revision bekannt ist. Die Revisionsdaten wurden im gleichen Namensraum wie Tiller gespeichert, was bedeutete, dass jedes Release in Bezug auf den Namensraum \u2018global\u2019 war; daher konnte nur eine Instanz eines Namens verwendet werden.<\/p>\n<p>In Helm 3 ist jede Ver\u00f6ffentlichung mit einem oder mehreren Release Version Secrets verbunden. Das Release-Objekt beschreibt immer die aktuelle Ver\u00f6ffentlichung, die in Kubernetes bereitgestellt ist. Jedes Release Version Secret beschreibt nur eine Version dieser Ver\u00f6ffentlichung. Ein Upgrade erstellt beispielsweise ein neues Release Version Secret und \u00e4ndert dann das Release-Objekt, damit es auf diese neue Version verweist. Bei einem Rollback k\u00f6nnen fr\u00fchere Release Version Secrets verwendet werden, um die Ver\u00f6ffentlichung auf den vorherigen Zustand zur\u00fcckzusetzen.<\/p>\n<p>Nach der Abl\u00f6sung von Tiller speichert Helm 3 die Daten zur Ver\u00f6ffentlichung im gleichen Namensraum wie das Release. Diese \u00c4nderung erm\u00f6glicht es, ein Chart mit demselben Ver\u00f6ffentlichungennamen in einem anderen Namensraum zu installieren, wobei die Daten zwischen Updates und Neustarts des Clusters in etcd erhalten bleiben. Zum Beispiel kann WordPress im Namensraum \u201efoo\u201c installiert werden, und anschlie\u00dfend im Namensraum \u201ebar\u201c, wobei beide Ver\u00f6ffentlichungen \u201ewordpress\u201c genannt werden k\u00f6nnen.<\/p>\n<h2>\u00c4nderungen in den Chart-Abh\u00e4ngigkeiten<\/h2>\n<p>\nCharts, die gepackt sind (mithilfe von <code>helm package<\/code>) f\u00fcr die Verwendung mit Helm 2 kann mit Helm 3 installiert werden. Der Entwicklungsprozess von Charts wurde jedoch vollst\u00e4ndig \u00fcberarbeitet, weshalb einige Anpassungen erforderlich sind, um die Entwicklung von Charts mit Helm 3 fortzusetzen. Insbesondere wurde das System zur Verwaltung von Chart-Abh\u00e4ngigkeiten ge\u00e4ndert.<\/p>\n<p>Das System zur Verwaltung von Chart-Abh\u00e4ngigkeiten wurde von <code>requirements.yaml<\/code> und <code>requirements.lock<\/code> findet man <code>Chart.yaml<\/code> und <code>Chart.lock<\/code>. Das bedeutet, dass Charts, die den Befehl <code>helm dependency<\/code>, ben\u00f6tigen einige Anpassungen, um in Helm 3 zu funktionieren.<\/p>\n<p>Schauen wir uns ein Beispiel an. F\u00fcgen wir eine Abh\u00e4ngigkeit zu einem Chart in Helm 2 hinzu und sehen wir uns an, was sich beim Wechsel zu Helm 3 \u00e4ndert.<\/p>\n<p>In Helm 2 <code>requirements.yaml<\/code> sah es folgenderma\u00dfen aus:<\/p>\n<pre><code class=\"plaintext\">dependencies:\n- name: mariadb\n  version: 5.x.x\n  repository: https:\/\/kubernetes-charts.storage.googleapis.com\/\n  condition: mariadb.enabled\n  tags:\n    - database<\/code><\/pre>\n<p>\nIn Helm 3 wird dieselbe Abh\u00e4ngigkeit in Ihrer <code>Chart.yaml<\/code>:<\/p>\n<pre><code class=\"plaintext\">dependencies:\n- name: mariadb\n  version: 5.x.x\n  repository: https:\/\/kubernetes-charts.storage.googleapis.com\/\n  condition: mariadb.enabled\n  tags:\n    - database<\/code><\/pre>\n<p>\nCharts werden weiterhin geladen und in das Verzeichnis <code>charts\/<\/code>, deshalb funktionieren die Subcharts <i>(subcharts)<\/i>, die im Verzeichnis liegen, <code>charts\/<\/code>, ohne \u00c4nderungen weiter.<\/p>\n<h2>Einf\u00fchrung von Library Charts<\/h2>\n<p>\nHelm 3 unterst\u00fctzt eine Klasse von Charts, die als Bibliothekscharts bezeichnet wird <i>(library chart)<\/i>. Dieses Chart wird von anderen Charts verwendet, erstellt jedoch keine eigenen Ver\u00f6ffentlichungsartefakte. Library-Chart-Vorlagen d\u00fcrfen nur Elemente deklarieren. <code>definieren<\/code>. Anderer Inhalt wird einfach ignoriert. Dies erm\u00f6glicht es den Nutzern, Codefragmente wiederzuverwenden und auszutauschen, die in vielen Charts verwendet werden k\u00f6nnen, wodurch Duplizierung vermieden wird und das Prinzip eingehalten wird. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Don%27t_repeat_yourself\">DRY<\/a><\/noindex>.<\/p>\n<p>Library-Charts werden im Abschnitt <code>Abh\u00e4ngigkeiten<\/code> in der Datei <code>Chart.yaml<\/code>. Die Installation und Verwaltung unterscheidet sich nicht von anderen Charts.<\/p>\n<pre><code class=\"plaintext\">dependencies:\n  - name: mylib\n    version: 1.x.x\n    repository: quay.io<\/code><\/pre>\n<p>\nWir freuen uns auf die Anwendungsf\u00e4lle, die dieser Bestandteil f\u00fcr Chart-Entwickler er\u00f6ffnen wird, sowie auf die besten Praktiken, die aus den Library-Charts hervorgehen k\u00f6nnen.<\/p>\n<h2>Wie geht es weiter?<\/h2>\n<p>\nHelm 3.0.0-alpha.1 ist die Grundlage, auf der wir die neue Version von Helm aufbauen. In diesem Artikel habe ich einige interessante Funktionen von Helm 3 beschrieben. Viele davon befinden sich noch in der fr\u00fchen Entwicklungsphase, und das ist normal; der Zweck einer Alpha-Version besteht darin, die Idee zu testen, R\u00fcckmeldungen von den ersten Nutzern zu sammeln und unsere Annahmen zu best\u00e4tigen.<\/p>\n<p>Sobald die Alpha-Version ver\u00f6ffentlicht wird <i>(denken wir daran, dass dies <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/helm\/helm\/releases\/tag\/v3.0.0-alpha.1\">bereits geschehen ist<\/a><\/noindex> \u2014 Anmerkung des \u00dcbersetzers).<\/i>, wir werden anfangen, Community-Patches f\u00fcr Helm 3 zu akzeptieren. Es ist wichtig, eine zuverl\u00e4ssige Basis zu schaffen, die die Entwicklung und Implementierung neuer Funktionalit\u00e4ten erm\u00f6glicht, sodass die Benutzer aktiv in den Prozess eingebunden werden k\u00f6nnen, indem sie Tickets er\u00f6ffnen und Korrekturen einreichen.<\/p>\n<p>In diesem Artikel habe ich versucht, einige bedeutende Verbesserungen zu beleuchten, die in Helm 3 erscheinen werden, jedoch ist diese Liste keinesfalls ersch\u00f6pfend. Der umfassende Plan f\u00fcr Helm 3 beinhaltet neue Features wie verbesserte Upgrade-Strategien, eine tiefere Integration mit OCI-Registry und die Verwendung von JSON-Schemata zur Validierung von Chart-Werten. Dar\u00fcber hinaus planen wir, den Code zu bereinigen und die Teile zu aktualisieren, die in den letzten drei Jahren vernachl\u00e4ssigt wurden.<\/p>\n<p>Wenn Sie das Gef\u00fchl haben, dass wir etwas \u00fcbersehen haben, freuen wir uns \u00fcber Ihr Feedback!<\/p>\n<p>Nehmen Sie an der Diskussion in unseren <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.slack.com\/\">Slack-Kan\u00e4len<\/a><\/noindex>:<\/p>\n<ul>\n<li> <code>#helm-users<\/code> teil, um Fragen zu stellen und einfach mit der Community zu kommunizieren;<\/li>\n<li> <code>#helm-dev<\/code> um Pull Requests, Code und Bugs zu besprechen.<\/li>\n<\/ul>\n<p>\nSie k\u00f6nnen auch an unseren w\u00f6chentlichen \u00f6ffentlichen Entwicklergespr\u00e4chen teilnehmen, die donnerstags um 19:30 Uhr MSK stattfinden. Diese Treffen sind der Diskussion \u00fcber die Aufgaben gewidmet, an denen die Schl\u00fcsselentwickler und die Community arbeiten, sowie den Themen der Woche. Jeder Interessierte kann teilnehmen und mitdiskutieren. Der Link ist im Slack-Kanal verf\u00fcgbar. <code>#helm-dev<\/code>.<\/p>\n<h2>P.S. vom \u00dcbersetzer<\/h2>\n<p>\nLesen Sie auch in unserem Blog:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/417079\/\">Der Paketmanager f\u00fcr Kubernetes \u2013 Helm: Vergangenheit, Gegenwart, Zukunft<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/438814\/\">Ein n\u00fcchterner Blick auf Helm 2: \u201eSo ist es\u2026\u201c<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/420437\/\">Praktische Einf\u00fchrung in den Paketmanager f\u00fcr Kubernetes \u2013 Helm<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/441964\/\">Kubernetes Tipps &amp; Tricks: Migration von Ressourcen im Cluster unter Helm 2<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/336170\/\">Praxis mit dapp. Teil 2. Bereitstellung von Docker-Images in Kubernetes mithilfe von Helm<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/453734\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: 16 \u043c\u0430\u044f \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u2014 \u0437\u043d\u0430\u0447\u0438\u043c\u0430\u044f \u0432\u0435\u0445\u0430 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0438 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0434\u043b\u044f Kubernetes \u2014 Helm. \u0412 \u044d\u0442\u043e\u0442 \u0434\u0435\u043d\u044c \u0431\u044b\u043b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0430\u043b\u044c\u0444\u0430-\u0440\u0435\u043b\u0438\u0437 \u0431\u0443\u0434\u0443\u0449\u0435\u0439 \u043a\u0440\u0443\u043f\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u2014 3.0. \u0415\u0451 \u0432\u044b\u0445\u043e\u0434 \u043f\u0440\u0438\u043d\u0435\u0441\u0451\u0442 \u0432 Helm \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0438 \u0434\u043e\u043b\u0433\u043e\u0436\u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043d\u043e\u0433\u0438\u0435 \u0432 Kubernetes-\u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435 \u0432\u043e\u0437\u043b\u0430\u0433\u0430\u044e\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043d\u0430\u0434\u0435\u0436\u0434\u044b. \u041a \u0442\u0430\u043a\u043e\u0432\u044b\u043c \u043e\u0442\u043d\u043e\u0441\u0438\u043c\u0441\u044f \u0438 \u043c\u044b \u0441\u0430\u043c\u0438, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0430\u043a\u0442\u0438\u0432\u043d\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26173,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-34735","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: 16 \u043c\u0430\u044f \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u2014 \u0437\u043d\u0430\u0447\u0438\u043c\u0430\u044f \u0432\u0435\u0445\u0430 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0438 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0434\u043b\u044f Kubernetes \u2014 Helm. \u0412 \u044d\u0442\u043e\u0442 \u0434\u0435\u043d\u044c \u0431\u044b\u043b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0430\u043b\u044c\u0444\u0430-\u0440\u0435\u043b\u0438\u0437 \u0431\u0443\u0434\u0443\u0449\u0435\u0439 \u043a\u0440\u0443\u043f\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u2014 3.0. \u0415\u0451 \u0432\u044b\u0445\u043e\u0434 \u043f\u0440\u0438\u043d\u0435\u0441\u0451\u0442 \u0432 Helm \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0438 \u0434\u043e\u043b\u0433\u043e\u0436\u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043d\u043e\u0433\u0438\u0435 \u0432 Kubernetes-\u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435 \u0432\u043e\u0437\u043b\u0430\u0433\u0430\u044e\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043d\u0430\u0434\u0435\u0436\u0434\u044b. \u041a \u0442\u0430\u043a\u043e\u0432\u044b\u043c \u043e\u0442\u043d\u043e\u0441\u0438\u043c\u0441\u044f \u0438 \u043c\u044b \u0441\u0430\u043c\u0438, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/znakomstvo-s-helm-3\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0417\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e \u0441 Helm 3 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: 16 \u043c\u0430\u044f \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u2014 \u0437\u043d\u0430\u0447\u0438\u043c\u0430\u044f \u0432\u0435\u0445\u0430 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0438 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0434\u043b\u044f Kubernetes \u2014 Helm. \u0412 \u044d\u0442\u043e\u0442 \u0434\u0435\u043d\u044c \u0431\u044b\u043b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0430\u043b\u044c\u0444\u0430-\u0440\u0435\u043b\u0438\u0437 \u0431\u0443\u0434\u0443\u0449\u0435\u0439 \u043a\u0440\u0443\u043f\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u2014 3.0. \u0415\u0451 \u0432\u044b\u0445\u043e\u0434 \u043f\u0440\u0438\u043d\u0435\u0441\u0451\u0442 \u0432 Helm \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0438 \u0434\u043e\u043b\u0433\u043e\u0436\u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043d\u043e\u0433\u0438\u0435 \u0432 Kubernetes-\u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435 \u0432\u043e\u0437\u043b\u0430\u0433\u0430\u044e\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043d\u0430\u0434\u0435\u0436\u0434\u044b. \u041a \u0442\u0430\u043a\u043e\u0432\u044b\u043c \u043e\u0442\u043d\u043e\u0441\u0438\u043c\u0441\u044f \u0438 \u043c\u044b \u0441\u0430\u043c\u0438, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/znakomstvo-s-helm-3\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:00:06+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:00:06+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Einf\u00fchrung in Helm 3 | ProHoster","description":"Hinweis: Der 16. Mai dieses Jahres ist ein wichtiger Meilenstein in der Entwicklung des Paketmanagers f\u00fcr Kubernetes \u2013 Helm. An diesem Tag wurde die erste Alpha-Version der kommenden gr\u00f6\u00dferen Projektversion \u2013 3.0 \u2013 vorgestellt. Ihr Erscheinen wird wesentliche und lang erwartete \u00c4nderungen in Helm mit sich bringen, auf die viele im Kubernetes-Community gro\u00dfe Hoffnung setzen. Dazu z\u00e4hlen auch wir, da wir aktiv daran beteiligt sind.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/znakomstvo-s-helm-3","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0417\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e \u0441 Helm 3 | ProHoster","og:description":"\u041f\u0440\u0438\u043c. \u043f\u0435\u0440\u0435\u0432.: 16 \u043c\u0430\u044f \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u2014 \u0437\u043d\u0430\u0447\u0438\u043c\u0430\u044f \u0432\u0435\u0445\u0430 \u0432 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0438 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0434\u043b\u044f Kubernetes \u2014 Helm. \u0412 \u044d\u0442\u043e\u0442 \u0434\u0435\u043d\u044c \u0431\u044b\u043b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0430\u043b\u044c\u0444\u0430-\u0440\u0435\u043b\u0438\u0437 \u0431\u0443\u0434\u0443\u0449\u0435\u0439 \u043a\u0440\u0443\u043f\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u2014 3.0. \u0415\u0451 \u0432\u044b\u0445\u043e\u0434 \u043f\u0440\u0438\u043d\u0435\u0441\u0451\u0442 \u0432 Helm \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0438 \u0434\u043e\u043b\u0433\u043e\u0436\u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043d\u043e\u0433\u0438\u0435 \u0432 Kubernetes-\u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435 \u0432\u043e\u0437\u043b\u0430\u0433\u0430\u044e\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043d\u0430\u0434\u0435\u0436\u0434\u044b. \u041a \u0442\u0430\u043a\u043e\u0432\u044b\u043c \u043e\u0442\u043d\u043e\u0441\u0438\u043c\u0441\u044f \u0438 \u043c\u044b \u0441\u0430\u043c\u0438, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0430\u043a\u0442\u0438\u0432\u043d\u043e","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/znakomstvo-s-helm-3","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:00:06+00:00","article:modified_time":"2019-10-31T19:00:06+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34735","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 20:26:53","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 23:08:04","updated":"2026-01-21 20:26:53"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/34735","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=34735"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/34735\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/26173"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=34735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=34735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=34735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}