{"id":21,"date":"2019-06-27T13:01:19","date_gmt":"2019-06-27T13:01:19","guid":{"rendered":"https:\/\/cloudgeeks.de\/?p=21"},"modified":"2019-07-02T14:32:28","modified_gmt":"2019-07-02T14:32:28","slug":"kubernetes-in-openstack","status":"publish","type":"post","link":"https:\/\/www.cloudgeeks.de\/?p=21","title":{"rendered":"Kubernetes in OpenStack"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Kubernetes ist eine Plattform zur Bereitstellung und Verwaltung von Containern, mit der die Linux-Container-Orchestrierungs-Tools gest\u00e4rkt werden sollen. Das Wachstum von Kubernetes beruht auf seiner langj\u00e4hrigen Erfahrung, die Google f\u00fcr mehrere Jahre gesammelt hat, bevor es der Open-Source-Community als eine der am schnellsten wachsenden container-basierten Anwendungsplattformen angeboten wurde. Kubernetes ist mit mehreren \u00fcberw\u00e4ltigenden Funktionen ausgestattet, darunter Skalierung, automatische Bereitstellung und Ressourcenverwaltung \u00fcber mehrere Hostcluster hinweg.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Magnum stellt Kubernetes im OpenStack-\u00d6kosystem zur Verf\u00fcgung. Wie bei Swarm k\u00f6nnen Benutzer die Magnum-API zum Verwalten und Betreiben von Kubernetes-Clustern, -Objekten und -Diensten verwenden. Hier eine Zusammenfassung der wichtigsten Player-Komponenten in der Kubernetes-Architektur:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"950\" height=\"719\" src=\"https:\/\/cloudgeeks.de\/wp-content\/uploads\/2019\/06\/k8s-arch.png\" alt=\"\" class=\"wp-image-22\" srcset=\"https:\/\/www.cloudgeeks.de\/wp-content\/uploads\/2019\/06\/k8s-arch.png 950w, https:\/\/www.cloudgeeks.de\/wp-content\/uploads\/2019\/06\/k8s-arch-300x227.png 300w, https:\/\/www.cloudgeeks.de\/wp-content\/uploads\/2019\/06\/k8s-arch-768x581.png 768w\" sizes=\"auto, (max-width: 950px) 100vw, 950px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Die Kubernetes-Architektur ist modular aufgebaut und stellt mehrere Dienste bereit, die auf mehrere Knoten verteilt sein k\u00f6nnen. Im Gegensatz zu Swarm verwendet Kubernetes verschiedene Terminologien:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Pods<\/strong>: Eine Sammlung von Containern, die die Anwendungseinheit bilden und die Netzwerkkonfiguration, Namespaces und den Speicher gemeinsam nutzen<\/li><li><strong>Service<\/strong>: Eine Kubernetes-Abstraktionsschicht, die eine Gruppe von Pods als Dienst verf\u00fcgbar macht, normalerweise \u00fcber einen Lastenausgleich<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Kubernetes definiert aus architektonischer Sicht im Wesentlichen folgende Komponenten:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Masternode : Steuert und orchestriert den Kubernetes-Cluster. Ein Masternode kann die folgenden Dienste ausf\u00fchren:<\/li><\/ul>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>API-server<\/strong>: Hier werden API-Endpunkte zum Verarbeiten von RESTful-API-Aufrufen zur Steuerung und Verwaltung des Clusters bereitgestellt<\/li><li><strong>Controller manager<\/strong>: Hier sind verschiedene Verwaltungsdienste enthalten, darunter:<\/li><li><strong>Replication controller<\/strong>: Hiermit werden Pods im Cluster verwaltet, indem fehlerhafte Pods erstellt und entfernt werden.<\/li><li><strong>Endpoint controller<\/strong>: Hiermit werden Pods verbunden, indem Cluster-Endpunkte bereitgestellt werden.<\/li><li><strong>Node controller<\/strong>: Hiermit werden die Informationen zur Knoteninitialisierung und -erkennung innerhalb des Cloud-Anbieters verwaltet.<\/li><li><strong>Service controller<\/strong>: Hiermit werden Service-Backends in Kubernetes verwaltet, die hinter Load Balancern ausgef\u00fchrt werden. Der Dienstcontroller konfiguriert Load Balancer basierend auf der Dienststatusaktualisierung. <\/li><li><strong>Scheduler<\/strong>: Hiermit wird festgelegt, auf welchem \u200b\u200bPod die Dienstbereitstellung erfolgen soll. Basierend auf der Kapazit\u00e4t der Knotenressourcen stellt der Scheduler sicher, dass der gew\u00fcnschte Service auf den Knoten ausgef\u00fchrt wird, die zum selben Pod geh\u00f6ren oder auf verschiedenen.<\/li><li><strong>Key-value store<\/strong>: Hier werden REST-API-Objekte wie Knoten- und Pod-Status, geplante Jobs, Informationen zur Dienstbereitstellung und Namespaces gespeichert. Kubernetes verwendet etcd als Hauptschl\u00fcsselwertspeicher, um Konfigurationsinformationen im Cluster gemeinsam zu nutzen.<\/li><\/ol>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Worker node<\/strong>: Hiermit wird die Laufzeitumgebung f\u00fcr Kubernetes-Pods und -Container verwaltet. Auf jedem Arbeitsknoten werden die folgenden Komponenten ausgef\u00fchrt:<\/li><\/ul>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Kubelet<\/strong>: Dies ist ein prim\u00e4rer Knotenagent , der Container verwaltet, die in den zugeh\u00f6rigen Pods ausgef\u00fchrt werden. Der Kubelet-Prozess meldet regelm\u00e4\u00dfig den Integrit\u00e4tsstatus von Pods und Knoten an den Masterknoten.<\/li><li><strong>Docker<\/strong>: Dies ist die Standard-Container-Laufzeit-Engine, die von Kubernetes verwendet wird.<\/li><li><strong>Kube-proxy<\/strong>: Dies ist ein Netzwerk-Proxy, um Anforderungen an den richtigen Container weiterzuleiten. Kube-Proxy leitet den Datenverkehr \u00fcber Pods innerhalb desselben Dienstes weiter.<\/li><\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Kubernetes ist eine Plattform zur Bereitstellung und Verwaltung von Containern, mit der die Linux-Container-Orchestrierungs-Tools gest\u00e4rkt werden sollen. Das Wachstum von Kubernetes beruht auf seiner langj\u00e4hrigen Erfahrung, die Google f\u00fcr mehrere Jahre gesammelt hat, bevor es der Open-Source-Community als eine der am schnellsten wachsenden container-basierten Anwendungsplattformen angeboten wurde. Kubernetes ist mit mehreren \u00fcberw\u00e4ltigenden Funktionen ausgestattet, darunter [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,4],"tags":[8,9],"class_list":["post-21","post","type-post","status-publish","format-standard","hentry","category-kubernetes","category-openstack","tag-kubernetes","tag-openstack"],"_links":{"self":[{"href":"https:\/\/www.cloudgeeks.de\/index.php?rest_route=\/wp\/v2\/posts\/21","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cloudgeeks.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cloudgeeks.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cloudgeeks.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cloudgeeks.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=21"}],"version-history":[{"count":1,"href":"https:\/\/www.cloudgeeks.de\/index.php?rest_route=\/wp\/v2\/posts\/21\/revisions"}],"predecessor-version":[{"id":23,"href":"https:\/\/www.cloudgeeks.de\/index.php?rest_route=\/wp\/v2\/posts\/21\/revisions\/23"}],"wp:attachment":[{"href":"https:\/\/www.cloudgeeks.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cloudgeeks.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cloudgeeks.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}