{"id":30272,"date":"2019-10-31T21:34:36","date_gmt":"2019-10-31T18:34:36","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv\/"},"modified":"2019-10-31T21:34:36","modified_gmt":"2019-10-31T18:34:36","slug":"kubernetes-1-14-obzor-osnovnyh-novshestv","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv","title":{"rendered":"Kubernetes 1.14: \u00dcberblick \u00fcber die wichtigsten Neuerungen","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Kubernetes 1.14: \u00dcberblick \u00fcber die wichtigsten Neuerungen\" src=\"\/wp-content\/uploads\/2019\/03\/8fb5be29668f55ec42d31eb47200b639.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn dieser Nacht <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/sig-release\/tree\/master\/releases\/release-1.14#timeline\">stattfinden<\/a><\/noindex> ist das n\u00e4chste Release von Kubernetes \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/sig-release\/tree\/master\/releases\/release-1.14\">1.14<\/a><\/noindex>. In \u00dcbereinstimmung mit der Tradition unseres Blogs berichten wir \u00fcber die wichtigsten \u00c4nderungen in der neuen Version dieses bemerkenswerten Open Source-Produkts.<\/p>\n<p>Die Informationen, die zur Erstellung dieses Materials verwendet wurden, stammen aus <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.google.com\/spreadsheets\/u\/1\/d\/116X6E-lmDJG5UZPlqDAFw8hN9vS6SNY4qRNZ9fKtsMU\/edit#gid=0\">der Tabelle zur Verfolgung von Kubernetes-Verbesserungen<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/blob\/release-1.14\/CHANGELOG-1.14.md\">CHANGELOG-1.14<\/a><\/noindex> und zugeh\u00f6rige Issues, Pull Requests, Kubernetes Enhancement Proposals (KEP).<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Beginnen wir mit einer wichtigen Einf\u00fchrung von SIG cluster-lifecycle: <b>dynamische, ausfallsichere Cluster<\/b> Kubernetes (oder, um genauer zu sein, selbstgehostete HA-Deployments) k\u00f6nnen jetzt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/357\">mit den gewohnten (im Kontext von Einzelnutzern-Clustern) Befehlen<\/a><\/noindex> ). Kurz gesagt: <code>kubeadm zu wechseln.<\/code> (<code>init<\/code> und <code>beitreten<\/code>die vom Cluster verwendeten Zertifikate werden in Secrets \u00fcbertragen;<\/p>\n<ul>\n<li> um die Verwendung von etcd innerhalb des K8s-Clusters (d.h. die Beseitigung der bisherigen externen Abh\u00e4ngigkeit) zu erm\u00f6glichen, wird<\/li>\n<li> etcd-operator <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/coreos\/etcd-operator\">eingesetzt, um die empfohlenen Einstellungen f\u00fcr den externen Lastenausgleich zu dokumentieren, der eine ausfallsichere Konfiguration gew\u00e4hrleistet (es ist geplant, diese Abh\u00e4ngigkeit in Zukunft ebenfalls abzulehnen, jedoch nicht in dieser Phase).<\/a><\/noindex>;<\/li>\n<li> Architektur des HA-Kubernetes-Clusters, erstellt mit kubeadm<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Kubernetes 1.14: \u00dcberblick \u00fcber die wichtigsten Neuerungen\" src=\"\/wp-content\/uploads\/2019\/03\/0e82b7e8db1ad117dc87f68fa4669431.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Die Einzelheiten zur Implementierung sind in<\/i><\/p>\n<p>design proposal <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.google.com\/document\/d\/1P3oUJ_kdaRSTlGONujadGBpYegjn4RjBNZLHZ4zU7lI\/edit#\">Designvorschlag<\/a><\/noindex>. Dieses Feature wurde wirklich lang erwartet: Die Alpha-Version wurde bereits f\u00fcr K8s 1.9 angek\u00fcndigt, ist aber erst jetzt verf\u00fcgbar.<\/p>\n<h2>API<\/h2>\n<p>\nDer Befehl <code>apply<\/code> und allgemein <b>deklarative Verwaltung von Objekten<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/555\">ausgelagert<\/a><\/noindex> von <code>kubectl<\/code> in den apiserver. Die Entwickler erl\u00e4utern kurz ihre Entscheidung damit, dass <code>kubectl apply<\/code> \u2014 ein grundlegender Teil der Arbeit mit Konfigurationen in Kubernetes, jedoch voller Bugs und schwer zu reparieren ist, weshalb diese Funktionalit\u00e4t in einen funktionierenden Zustand gebracht und in den Control Plane verlagert werden muss. Hier sind einige einfache und anschauliche Beispiele f\u00fcr bestehende Probleme:<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes 1.14: \u00dcberblick \u00fcber die wichtigsten Neuerungen\" src=\"\/wp-content\/uploads\/2019\/03\/379b0d830491bbb0e7ac3c3ccfff71c4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDetails zur Implementierung finden Sie in <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/blob\/master\/keps\/sig-api-machinery\/0006-apply.md\">KEP<\/a><\/noindex>. Der aktuelle Status ist Alpha-Version (das Upgrade auf Beta ist f\u00fcr die n\u00e4chste Kubernetes-Version geplant).<\/p>\n<p>In der Alpha-Version wurde <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/692\">die M\u00f6glichkeit<\/a><\/noindex> die Verwendung des OpenAPI v3-Schemas f\u00fcr <b>die Erstellung und Ver\u00f6ffentlichung von OpenAPI-Dokumentation f\u00fcr CustomResources<\/b> (CR), die zur Validierung (auf Serverseite) von K8s-Ressourcen dienen, die vom Benutzer definiert sind (CustomResourceDefinition, CRD). Die Ver\u00f6ffentlichung von OpenAPI f\u00fcr CRD erm\u00f6glicht es den Clients (zum Beispiel, <code>kubectl<\/code>) die Validation auf ihrer Seite (im Rahmen von <code>kubectl create<\/code> und <code>kubectl apply<\/code>) durchzuf\u00fchren und Schemadokumentation bereitzustellen (<code>kubectl explain<\/code>). Weitere Details finden Sie in <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/blob\/master\/keps\/sig-api-machinery\/00xx-publish-crd-openapi.md\">KEP<\/a><\/noindex>.<\/p>\n<p>Fr\u00fchere Protokolle <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74837\">werden jetzt ge\u00f6ffnet<\/a><\/noindex> das Flag <code>O_APPEND<\/code> (und nicht <code>O_TRUNC<\/code>) um Datenverluste in bestimmten Situationen zu vermeiden und um das Truncating von Logs mit externen Tools zur Rotation zu erleichtern.<\/p>\n<p>Im Kontext der Kubernetes-API ist zudem zu erw\u00e4hnen, dass in <code>PodSandbox<\/code> und <code>PodSandboxStatus<\/code> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73833\">wurde hinzugef\u00fcgt<\/a><\/noindex> das Feld <code>runtime_handler<\/code> zur Erfassung von Informationen \u00fcber <code>RuntimeClass<\/code> in pod (lesen Sie mehr dar\u00fcber im Text \u00fcber <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424331\/\">Kubernetes Version 1.12<\/a><\/noindex>, wo diese Klasse als Alpha-Version eingef\u00fchrt wurde), sowie in den Admission Webhooks <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74998\">wurde<\/a><\/noindex> die M\u00f6glichkeit besteht, welche Versionen <code>AdmissionReview<\/code> sie unterst\u00fctzen. Schlie\u00dflich k\u00f6nnen in den Regeln f\u00fcr Admission Webhooks nun <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74477\">die Anwendung<\/a><\/noindex> den Anwendungsbereichen von Namespaces und Cluster-Rahmen.<\/p>\n<h2>Speicherl\u00f6sungen<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/volumes\/#local\"><code><b>PersistenteLokaleVolumes<\/b><\/code><\/a><\/noindex>, die mit dem Status Beta seit der Ver\u00f6ffentlichung <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/353114\/\">K8s 1.10<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74769\">deklariert wurden<\/a><\/noindex> sind jetzt stabil (GA): dieses Feature-Gate wird nicht mehr deaktiviert und wird in Kubernetes 1.17 entfernt.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/559\">M\u00f6glichkeit<\/a><\/noindex> die Verwendung von Umgebungsvariablen bekannt als <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/inject-data-application\/downward-api-volume-expose-pod-information\/#capabilities-of-the-downward-api\">Downward API<\/a><\/noindex> (z. B. den Namen des pods) f\u00fcr Verzeichnisse, die als <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/volumes\/#using-subpath\"><code>subPath<\/code><\/a><\/noindex>gemountet werden, hat sich weiterentwickelt \u2013 in Form eines neuen Feldes <code>subPathExpr<\/code>, welches nun zur Bestimmung des erforderlichen Verzeichnisnamens verwendet wird. Dieses Feature erschien urspr\u00fcnglich in Kubernetes 1.11, blieb jedoch auch f\u00fcr 1.14 im Alpha-Status.<\/p>\n<p>Wie in der vorherigen Version von Kubernetes wurden viele bedeutende \u00c4nderungen f\u00fcr das aktiv weiterentwickelte CSI (Container Storage Interface) vorgestellt:<\/p>\n<h3>CSI<\/h3>\n<p>\nWurde in der Alpha-Version verf\u00fcgbar gemacht <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/556\">Unterst\u00fctzung f\u00fcr<\/a><\/noindex> <b>\u00c4nderung der Gr\u00f6\u00dfe f\u00fcr CSI-Volumes<\/b>. Um es zu nutzen, m\u00fcssen Sie das Feature-Gate mit dem Namen <code>ExpandCSIVolumes<\/code>aktivieren und die Unterst\u00fctzung dieser Operation im spezifischen CSI-Treiber vorhanden sein.<\/p>\n<p>Eine weitere Funktion f\u00fcr CSI in der Alpha-Version ist <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/596\">die M\u00f6glichkeit<\/a><\/noindex> direkt (d. h. ohne Verwendung von PV\/PVC) auf CSI-Volumes innerhalb der pod-Spezifikation zuzugreifen. Dies ist <b>aufhebt die Einschr\u00e4nkung, CSI ausschlie\u00dflich als entfernte Datenspeicher zu verwenden<\/b>, und \u00f6ffnet ihnen die T\u00fcren zur Welt <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes-csi.github.io\/docs\/ephemeral-local-volumes.html\">lokaler ephemerer Volumes<\/a><\/noindex>. F\u00fcr die Nutzung (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/vladimirvivien\/kubernetes.github.io\/blob\/b78107abfdb2b5877973b84062d93cdf98ef1b9c\/content\/en\/docs\/concepts\/storage\/volumes.md#csi-ephemeral-volumes\">aus der Dokumentation<\/a><\/noindex>) muss das <code>CSIInlineVolume<\/code> Feature-Gate aktiviert werden.<\/p>\n<p>Es gibt Fortschritte in den \u201eInnereien\u201c von Kubernetes in Bezug auf CSI, die den Endbenutzern (Systemadministratoren) nicht so offensichtlich sind... Momentan sind die Entwickler gezwungen, zwei Versionen jedes Storage-Plugins zu pflegen: eine \u201ealte\u201c Version innerhalb der K8s-Codebasis (in-tree) und eine zweite im Rahmen des neuen CSI. <i>(n\u00e4heres dazu lesen Sie zum Beispiel in <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/424211\/\">hier<\/a><\/noindex>)<\/i>. Dies verursacht verst\u00e4ndliche Unannehmlichkeiten, die beseitigt werden m\u00fcssen, w\u00e4hrend sich CSI als solches stabilisiert. Einfach die in den internen (in-tree) Plugins verwendeten APIs als veraltet zu erkl\u00e4ren, ist aufgrund von <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/reference\/using-api\/deprecation-policy\/#deprecating-parts-of-the-api\">entsprechenden Kubernetes-Richtlinien<\/a><\/noindex>.<\/p>\n<p>All dies f\u00fchrte dazu, dass die Alpha-Versionen erreicht wurden <b><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/625\">Migrationsprozess<\/a><\/noindex> internen Plugin-Code<\/b>, die als in-tree und in CSI-Plugins implementiert werden, wodurch die Sorgen der Entwickler auf die Unterst\u00fctzung einer Version ihrer Plugins reduziert werden und die Kompatibilit\u00e4t mit \u00e4lteren APIs erhalten bleibt, sodass sie im \u00fcblichen Szenario als veraltet deklariert werden k\u00f6nnen. Es wird erwartet, dass bis zur n\u00e4chsten Kubernetes-Version (1.15) alle Plugins von Cloud-Anbietern migriert, die Implementierung den Status einer Beta-Version erhalten und in K8s-Installationen standardm\u00e4\u00dfig aktiviert wird. Weitere Informationen finden Sie in <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/community\/blob\/master\/contributors\/design-proposals\/storage\/csi-migration.md\">Designvorschlag<\/a><\/noindex>. Die Folge dieser Migration war auch <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74544\">der Verzicht auf<\/a><\/noindex> von Einschr\u00e4nkungen f\u00fcr Volumes, die von bestimmten Cloud-Anbietern (AWS, Azure, GCE, Cinder) definiert werden.<\/p>\n<p>Dar\u00fcber hinaus wird die Unterst\u00fctzung von Blockger\u00e4ten mit CSI (<code>CSIBlockVolume<\/code>) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74909\">in die Beta-Version \u00fcberf\u00fchrt<\/a><\/noindex> .<\/p>\n<h2>Knoten \/ Kubelet<\/h2>\n<p>\nDie Alpha-Version wurde eingef\u00fchrt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/727\">neuer Endpunkt<\/a><\/noindex> in Kubelet, der f\u00fcr <b>die Bereitstellung von Metriken zu den grundlegenden Ressourcen gedacht ist<\/b>. Generell erh\u00e4lt Kubelet, anstatt die Container-Nutzungsstatistiken von cAdvisor zu beziehen, nun diese Daten aus der Ausf\u00fchrungsumgebung des Containers \u00fcber die CRI (Container Runtime Interface). Allerdings bleibt die Kompatibilit\u00e4t zu \u00e4lteren Docker-Versionen erhalten. Fr\u00fcher wurde die in Kubelet gesammelte Statistik \u00fcber die REST API bereitgestellt, jetzt wird daf\u00fcr ein Endpoint verwendet, der unter folgender Adresse zu finden ist. <code>\/metrics\/resource\/v1alpha1<\/code>. Die langfristige Strategie der Entwickler <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/issues\/68522\">besteht<\/a><\/noindex> darin, die Anzahl der von Kubelet bereitgestellten Metriken zu minimieren. <i>\u00dcbrigens werden diese Metriken <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/pull\/726\">nun als<\/a><\/noindex> nicht mehr \u00abCore-Metriken\u00bb, sondern \u00abRessourcen-Metriken\u00bb bezeichnet, die als \u00aberstklassige Ressourcen, wie CPU und Arbeitsspeicher\u00bb beschrieben werden.<\/i><\/p>\n<p>Ein interessanter Punkt: Trotz der offensichtlichen Leistungsvorteile des gRPC-Endpunkts im Vergleich zu verschiedenen Verwendungsszenarien des Prometheus-Formats <i>(das Ergebnis eines der Benchmarks, siehe unten)<\/i>, bevorzugten die Autoren das textbasierte Format von Prometheus aufgrund der klaren F\u00fchrungsposition dieses \u00dcberwachungssystems in der Community.<\/p>\n<blockquote><p><i>gRPC ist nicht mit den wichtigsten Monitoring-Pipelines kompatibel. Der Endpoint wird jedoch nur n\u00fctzlich sein, um Metriken an den Metrics Server oder Monitoring-Komponenten zu liefern, die direkt mit ihm integriert sind. Bei Verwendung von Caching im Metrics Server ist die Leistung des textbasierten Formats von Prometheus <b>ausreichend gut<\/b> f\u00fcr uns, um Prometheus gegen\u00fcber gRPC zu bevorzugen, aufgrund der weitreichenden Verbreitung von Prometheus in der Community. Wenn das OpenMetrics-Format stabiler wird, k\u00f6nnen wir die Leistung von gRPC mit einem auf Proto basierenden Format ann\u00e4hern.<\/i><\/p><\/blockquote>\n<p>\n<img decoding=\"async\" alt=\"Kubernetes 1.14: \u00dcberblick \u00fcber die wichtigsten Neuerungen\" src=\"\/wp-content\/uploads\/2019\/03\/ad7e45b61fc4676a2df3c2d33d5688b5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Einer der Leistungstests, die die Nutzung von gRPC- und Prometheus-Formaten im neuen Kubelet-Endpunkt f\u00fcr Metriken vergleichen. Weitere Diagramme und Details finden Sie in <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/blob\/master\/keps\/sig-node\/kubelet-resource-metrics-endpoint.md\">KEP<\/a><\/noindex>.<\/i><\/p>\n<p>Unter den weiteren \u00c4nderungen:<\/p>\n<ul>\n<li> Kubelet versucht jetzt (einmalig) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73802\">Container in unbekanntem Zustand (unknown) vor den Neustart- und L\u00f6schoperationen zu stoppen.<\/a><\/noindex> PodPresets<\/li>\n<li> Bei der Nutzung <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/podpreset\/\"><code>PodPresets<\/code><\/a><\/noindex> jetzt dem Init-Container <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/71479\">hinzugef\u00fcgt wird<\/a><\/noindex> die gleichen Informationen wie dem regul\u00e4ren Container.<\/li>\n<li> Kubelet <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73659\">hat begonnen,<\/a><\/noindex> <code>usageNanoCores<\/code> vom CRI-Statistikanbieter zu verwenden, und f\u00fcr Knoten und Container in Windows <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74788\">hinzugef\u00fcgt<\/a><\/noindex> Netzwerkstatistiken.<\/li>\n<li> Informationen \u00fcber das Betriebssystem und die Architektur werden jetzt in Labels aufgezeichnet. <code>kubernetes.io\/os<\/code> und <code>kubernetes.io\/arch<\/code> Node-Objekte (von Beta in GA \u00fcberf\u00fchrt).<\/li>\n<li> Die M\u00f6glichkeit, eine spezifische Systembenutzergruppe f\u00fcr Container im Pod anzugeben (<code>RunAsGroup<\/code>, wurde eingef\u00fchrt in <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/415349\/\">K8s 1.11<\/a><\/noindex>) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73007\">weiterentwickelt<\/a><\/noindex> bis zur Beta-Version (standardm\u00e4\u00dfig aktiviert).<\/li>\n<li> du und find, die in cAdvisor verwendet werden, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74675\">wurden<\/a><\/noindex> durch Go-Implementierungen ersetzt.<\/li>\n<\/ul>\n<p><\/p>\n<h2>CLI<\/h2>\n<p>\nIm cli-runtime und kubectl <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74140\">ein<\/a><\/noindex> das -k-Flag zur Integration mit <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes-sigs\/kustomize\"><b>kustomize<\/b><\/a><\/noindex> (\u00fcbrigens wird dessen Entwicklung jetzt in einem separaten Repository durchgef\u00fchrt), d.h. zur Verarbeitung zus\u00e4tzlicher YAML-Dateien aus speziellen Verzeichnissen der kustomization (weiterf\u00fchrende Informationen zur Verwendung finden Sie in <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/blob\/master\/keps\/sig-cli\/kustomize-file-processing-integration.md\">KEP<\/a><\/noindex>):<\/p>\n<p><img decoding=\"async\" alt=\"Kubernetes 1.14: \u00dcberblick \u00fcber die wichtigsten Neuerungen\" src=\"\/wp-content\/uploads\/2019\/03\/e38550cfb642d81237aad4d87b9b3386.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Beispiel f\u00fcr die einfache Verwendung der Datei <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes-sigs\/kustomize\/blob\/master\/docs\/glossary.md#kustomization\">kustomization<\/a><\/noindex> (kompliziertere Anwendungen von kustomize sind ebenfalls m\u00f6glich im Rahmen von <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes-sigs\/kustomize\/blob\/master\/docs\/glossary.md#overlay\">overlays<\/a><\/noindex>)<\/i><\/p>\n<p>Dar\u00fcber hinaus:<\/p>\n<ul>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/71651\">Hinzugef\u00fcgt<\/a><\/noindex> neuer Befehl <code>kubectl create cronjob<\/code>, dessen Name f\u00fcr sich spricht.<\/li>\n<li> In <code>kubectl logs<\/code> ist jetzt m\u00f6glich <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/67573\">kombinieren<\/a><\/noindex> Flags <code>-f<\/code> (<code>--follow<\/code> zum Streaming von Logs) und <code>-l<\/code> (<code>--selector<\/code> f\u00fcr die Label-Abfrage).<\/li>\n<li> kubectl <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/72641\">gelernt<\/a><\/noindex> Dateien auszuw\u00e4hlen, die mit Wildcards kopiert werden.<\/li>\n<li> Im Befehl <code>kubectl wait<\/code> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/70599\">wurde erweitert<\/a><\/noindex> Das Flag <code>--all<\/code> um alle Ressourcen eines spezifizierten Ressourcentyps im Namespace auszuw\u00e4hlen.<\/li>\n<\/ul>\n<p><\/p>\n<h2>Andere<\/h2>\n<p>\nFolgende Funktionen haben den stabilen (GA) Status erreicht:<\/p>\n<ul>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/pod-lifecycle\/#pod-readiness-gate\"><code>ReadinessGate<\/code><\/a><\/noindex>, verwendet in der Pod-Spezifikation, um zus\u00e4tzliche Bedingungen zu definieren, die in der Bereitschaft des Pods ber\u00fccksichtigt werden;<\/li>\n<li> Unterst\u00fctzung gro\u00dfer Seiten (Feature-Gate mit dem Namen <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/manage-hugepages\/scheduling-hugepages\/\"><code>HugePages<\/code><\/a><\/noindex>);<\/li>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/dns-pod-service\/#pod-s-dns-config\">CustomPodDNS<\/a><\/noindex>;<\/li>\n<li> PriorityClass API, <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/pod-priority-preemption\/\">Pod-Priorit\u00e4t und Vorabgenehmigung<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nWeitere \u00c4nderungen, die in Kubernetes 1.14 eingef\u00fchrt wurden:<\/p>\n<ul>\n<li> Die Standard-RBAC-Policy gew\u00e4hrt keinen Zugriff mehr auf die API <code>discovery<\/code> und <code>access-review<\/code> Benutzern ohne Authentifizierung <i>(unauthenticated)<\/i>.<\/li>\n<li> Offizielle Unterst\u00fctzung f\u00fcr CoreDNS <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/69940\">wird<\/a><\/noindex> ausschlie\u00dflich f\u00fcr Linux bereitgestellt, daher m\u00fcssen bei der Verwendung von kubeadm zur Bereitstellung von CoreDNS im Cluster die Knoten nur unter Linux laufen (f\u00fcr diese Einschr\u00e4nkung werden nodeSelectors verwendet).<\/li>\n<li> Die Standardkonfiguration von CoreDNS ist jetzt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73267\">nutzt<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/coredns.io\/plugins\/forward\/\">das Forward-Plugin<\/a><\/noindex> anstelle von Proxy. Dar\u00fcber hinaus gibt es in CoreDNS <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/74137\">hinzugef\u00fcgt<\/a><\/noindex> readinessProbe, die verhindert, dass der Datenverkehr auf die entsprechenden (nicht betriebsbereiten) Pods verteilt wird.<\/li>\n<li> In kubeadm, w\u00e4hrend der Phasen <code>init<\/code> oder <code>upload-certs<\/code>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/73907\">wurde es m\u00f6glich<\/a><\/noindex> die erforderlichen Zertifikate f\u00fcr den Anschluss eines neuen control-plane an das Secret kubeadm-certs hochzuladen (das Flag <code>--experimental-upload-certs<\/code>).<\/li>\n<li> F\u00fcr Windows-Installationen gibt es eine Alpha-Version <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/enhancements\/issues\/689\">von Unterst\u00fctzung<\/a><\/noindex> gMSA (Group Managed Service Account) \u2014 spezielle Konten in Active Directory, die auch von Containern verwendet werden k\u00f6nnen.<\/li>\n<li> F\u00fcr GCE <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kubernetes\/kubernetes\/pull\/70144\">wurde aktiviert<\/a><\/noindex> mTLS-Verschl\u00fcsselung zwischen etcd und kube-apiserver.<\/li>\n<li> Updates in the used\/dependent software: Go 1.12.1, CSI 1.1, CoreDNS 1.3.1, Docker 18.09 support in kubeadm, with the minimum supported version of Docker API being 1.26.<\/li>\n<\/ul>\n<p><\/p>\n<h2>P.S.<\/h2>\n<p>\nLesen Sie auch in unserem Blog:<\/p>\n<ul>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/432208\/\">Kubernetes 1.13: \u00dcberblick \u00fcber die wichtigsten Neuerungen<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/424331\/\">Kubernetes 1.12: \u00dcberblick \u00fcber die wichtigsten Neuerungen<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/415349\/\">Kubernetes 1.11: Overview of the main innovations<\/a><\/noindex>\u00bb;<\/li>\n<li> \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/flant\/blog\/353114\/\">Kubernetes 1.10: Overview of the main innovations<\/a><\/noindex>\u00bb.<\/li>\n<\/ul>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/flant\/blog\/445196\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u042d\u0442\u043e\u0439 \u043d\u043e\u0447\u044c\u044e \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0435\u043b\u0438\u0437 Kubernetes \u2014 1.14. \u041f\u043e \u0441\u043b\u043e\u0436\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u043b\u043e\u0433\u0430 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u0438, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u0445 \u0432 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e Open Source-\u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430. \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u044d\u0442\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430, \u0432\u0437\u044f\u0442\u0430 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Kubernetes enhancements tracking, CHANGELOG-1.14 \u0438 \u0441\u043e\u043e\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 issues, pull requests, Kubernetes Enhancement Proposals (KEP). \u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u0432\u0430\u0436\u043d\u043e\u0433\u043e \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e\u0442 SIG cluster-lifecycle: \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-30272","post","type-post","status-publish","format-standard","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042d\u0442\u043e\u0439 \u043d\u043e\u0447\u044c\u044e \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0435\u043b\u0438\u0437 Kubernetes \u2014 1.14. \u041f\u043e \u0441\u043b\u043e\u0436\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u043b\u043e\u0433\u0430 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u0438, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u0445 \u0432 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e Open Source-\u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430. \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u044d\u0442\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430, \u0432\u0437\u044f\u0442\u0430 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Kubernetes enhancements tracking, CHANGELOG-1.14 \u0438 \u0441\u043e\u043e\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 issues, pull requests, Kubernetes Enhancement Proposals (KEP). \u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u0432\u0430\u0436\u043d\u043e\u0433\u043e \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e\u0442 SIG cluster-lifecycle: \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435\" \/>\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\/kubernetes-1-14-obzor-osnovnyh-novshestv\" \/>\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\udd47Kubernetes 1.14: \u043e\u0431\u0437\u043e\u0440 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u042d\u0442\u043e\u0439 \u043d\u043e\u0447\u044c\u044e \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0435\u043b\u0438\u0437 Kubernetes \u2014 1.14. \u041f\u043e \u0441\u043b\u043e\u0436\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u043b\u043e\u0433\u0430 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u0438, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u0445 \u0432 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e Open Source-\u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430. \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u044d\u0442\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430, \u0432\u0437\u044f\u0442\u0430 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Kubernetes enhancements tracking, CHANGELOG-1.14 \u0438 \u0441\u043e\u043e\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 issues, pull requests, Kubernetes Enhancement Proposals (KEP). \u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u0432\u0430\u0436\u043d\u043e\u0433\u043e \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e\u0442 SIG cluster-lifecycle: \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv\" \/>\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-31T18:34:36+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:34:36+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\udd47Kubernetes 1.14: Overview of the main innovations | ProHoster","description":"Tonight, another release of Kubernetes \u2014 1.14 \u2014 will take place. Following the tradition of our blog, we will discuss the key changes in this wonderful Open Source product. The information used to prepare this material is taken from the Kubernetes enhancements tracking table, CHANGELOG-1.14, and the relevant issues, pull requests, and Kubernetes Enhancement Proposals (KEP). Let\u2019s start with an important introduction from SIG cluster-lifecycle: dynamic","canonical_url":"https:\/\/prohoster.info\/de\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv","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\udd47Kubernetes 1.14: \u043e\u0431\u0437\u043e\u0440 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432 | ProHoster","og:description":"\u042d\u0442\u043e\u0439 \u043d\u043e\u0447\u044c\u044e \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0440\u0435\u043b\u0438\u0437 Kubernetes \u2014 1.14. \u041f\u043e \u0441\u043b\u043e\u0436\u0438\u0432\u0448\u0435\u0439\u0441\u044f \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u043b\u043e\u0433\u0430 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u0438, \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u0445 \u0432 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e Open Source-\u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430. \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0434\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u044d\u0442\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430, \u0432\u0437\u044f\u0442\u0430 \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b Kubernetes enhancements tracking, CHANGELOG-1.14 \u0438 \u0441\u043e\u043e\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 issues, pull requests, Kubernetes Enhancement Proposals (KEP). \u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u0432\u0430\u0436\u043d\u043e\u0433\u043e \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e\u0442 SIG cluster-lifecycle: \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435","og:url":"https:\/\/prohoster.info\/de\/blog\/kubernetes-1-14-obzor-osnovnyh-novshestv","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-31T18:34:36+00:00","article:modified_time":"2019-10-31T18:34:36+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30272","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":"Article","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 00:28:09","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:37:28","updated":"2026-01-21 00:28:09"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/30272","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=30272"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/30272\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=30272"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=30272"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=30272"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}