{"id":20525,"date":"2021-01-20T09:22:02","date_gmt":"2021-01-20T08:22:02","guid":{"rendered":"https:\/\/www.inovex.de\/blog\/?p=20525"},"modified":"2025-12-17T07:59:38","modified_gmt":"2025-12-17T06:59:38","slug":"kubeedge-einrichten","status":"publish","type":"post","link":"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/","title":{"rendered":"KubeEdge einrichten: Tutorial"},"content":{"rendered":"<p>Im vorherigen Teil des Tutorials wurden die Grundlagen von KubeEdge und dessen Aufbau erl\u00e4utert. In diesem Teil wollen wird KubeEdge beispielhaft mit einer kleinen Applikation aufbauen und testen. Den ersten Teil der Reihe Einf\u00fchrung in KubeEdge findet ihr <a href=\"https:\/\/www.inovex.de\/blog\/einfuehrung-in-kubeedge\/\">hier<\/a>.<!--more--><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_79_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\"><\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#Anwendungsfall\" >Anwendungsfall<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#Umsetzung\" >Umsetzung<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#Uebersicht\" >\u00dcbersicht<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#CloudCore\" >CloudCore<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#EdgeCore\" >EdgeCore<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#Erstellung-Zertifikate\" >Erstellung Zertifikate<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#Konfiguration-Edge\" >Konfiguration Edge<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#Node-hinzufuegen\" >Node hinzuf\u00fcgen<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#Demo-Applikation-starten\" >Demo-Applikation starten<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#Ausblick-auf-Abschliessenden-Teil\" >Ausblick auf Abschlie\u00dfenden Teil<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Anwendungsfall\"><\/span>Anwendungsfall<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-20529 size-full aligncenter\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/01\/pasted-image-0.png\" alt=\"Grafana Abbildung \u00fcber Anwendungsfall\" width=\"940\" height=\"618\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/01\/pasted-image-0.png 940w, https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/01\/pasted-image-0-300x197.png 300w, https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/01\/pasted-image-0-768x505.png 768w, https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/01\/pasted-image-0-400x263.png 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/01\/pasted-image-0-360x237.png 360w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><\/p>\n<p>Als einfacher Anwendungsfall werden Daten von einem Sensor \u00fcber das MQTT-Protokoll an einen Edge-Knoten gesendet. Der Edge-Knoten sendet diese Daten an einen zentralen Kubernetes Cluster. Die Verarbeitung der gesendeten Daten \u00fcbernimmt ein kleines Programm, das die Daten in einer Datenbank persistiert. F\u00fcr die Visualisierung der persistenten Daten wird Grafana verwendet.<\/p>\n<p>Aus diesem Anwendungsfalls lassen sich drei Teilziele ableiten:<\/p>\n<ol>\n<li aria-level=\"1\">Der Aufbau eines Kubernetes Clusters mit KubeEdge Cloud<\/li>\n<li aria-level=\"1\">Der Aufbau eines Edge-Knoten mit KubeEdge<\/li>\n<li aria-level=\"1\">Generierung und Visualisierung der Werte<\/li>\n<\/ol>\n<p>F\u00fcr die einfach Umsetzung unseres Anwendungsfalls wird auf spezialisierte Hardware verzichtet.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Umsetzung\"><\/span>Umsetzung<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Uebersicht\"><\/span>\u00dcbersicht<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>W\u00e4hrend der Installation von KubeEdge werden zwei Komponenten von KubeEdge installiert. Der CloudCore, der in einem zentralen Managed Kubernetes Cluster installiert wird, und der EdgeCore, der als eigenst\u00e4ndiger Prozess auf einem Edge Node gestartet wird. Die Testumgebung wird mit Vagrant erstellt und 2 virtuelle Maschinen (VM) mit Ubuntu 18.04 werden installiert. Diese VMs k\u00f6nnen durch echte Maschinen (e.g. Raspberry Pi 3+) ersetzt werden. Der komplette Aufbau kann kompakt <a href=\"https:\/\/github.com\/johscheuer\/kubeedge-setup\">in diesem GitHub Repository<\/a> nachgelesen werden.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"CloudCore\"><\/span>CloudCore<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>F\u00fcr das initiale Setup des CloudCore wird ein Kubernetes Cluster mit dem Tool kubeadm erstellt. Bevor kubeadm und das Kubernetes Cluster installiert werden k\u00f6nnen, muss eine Container Runtime installiert werden. In diesem Tutorial wird <a href=\"https:\/\/containerd.io\/\">containerd<\/a>\u00a0als Container Runtime verdendet. Die Installation von containerd ist relativ einfach. Zuvor m\u00fcssen einige Voraussetzungen auf dem System erf\u00fcllt werden, siehe Block \u201econtainerd Voraussetzungen\u201c.<\/p>\n<pre class=\"lang:sh decode:true\" title=\"ContainerD - Voraussetzungen\">sudo tee -a \/etc\/modules-load.d\/containerd.conf &lt;&lt;'EOF'\r\n\r\noverlay\r\n\r\nbr_netfilter\r\n\r\nEOF\r\n\r\nsudo modprobe overlay\r\n\r\nsudo modprobe br_netfilter\r\n\r\n# Setup required sysctl params, these persist across reboots.\r\n\r\nsudo tee \/etc\/sysctl.d\/99-kubernetes-cri.conf &lt;&lt;'EOF'\r\n\r\nnet.bridge.bridge-nf-call-iptables  = 1\r\n\r\nnet.ipv4.ip_forward                 = 1\r\n\r\nnet.bridge.bridge-nf-call-ip6tables = 1\r\n\r\nEOF\r\n\r\nsudo sysctl --system\r\n\r\n<\/pre>\n<p>Nun kann containerd auf dem System installiert werden. F\u00fcr die Installation wird das aktuelle Release Package in der Version 1.3.1\u00a0 auf die VM geladen. Das Release Package muss mit erh\u00f6hten Privilegien entpackt werden, da unter anderem eine systemd Unit erstellt wird. Nach dem Entpacken kann containerd einfach mit systemd gestartet und aktiviert werden.<\/p>\n<pre class=\"lang:sh decode:true\" title=\"ContainerD\">export CONTAINERD_VER=1.3.1\r\n\r\ncurl -sLo \/tmp\/containerd.tar.gz \"https:\/\/storage.googleapis.com\/cri-containerd-release\/cri-containerd-${CONTAINERD_VER}.linux-amd64.tar.gz\"\r\n\r\nsudo tar -C \/ -xzf \/tmp\/containerd.tar.gz\r\n\r\nsudo systemctl start containerd\r\n\r\nsudo systemctl enable containerd\r\n\r\nrm \/tmp\/containerd.tar.gz\r\n\r\n<\/pre>\n<p>Im n\u00e4chsten Schritt wird mit kubeadm ein Kubernetes Cluster auf der VM erstellt. F\u00fcr die Installation von kubeadm k\u00f6nnen die offiziellen APT Pakete von Kubernetes verwendet werden. Das Einbinden des APT Repositories sowie die Installation von kubeadm sind im Block \u201ekubeadm-Installation\u201c beschrieben.<\/p>\n<pre class=\"lang:sh decode:true \" title=\"kubeadm Installation\">sudo apt-get update &amp;&amp; sudo DEBIAN_FRONTEND=noninteractive apt-get install -y apt-transport-https curl\r\n\r\ncurl -s https:\/\/packages.cloud.google.com\/apt\/doc\/apt-key.gpg | sudo apt-key add -\r\n\r\ncat &lt;&lt;EOF | sudo tee \/etc\/apt\/sources.list.d\/kubernetes.list\r\n\r\ndeb https:\/\/apt.kubernetes.io\/ kubernetes-xenial main\r\n\r\nEOF\r\n\r\nsudo apt-get update\r\n\r\nsudo DEBIAN_FRONTEND=noninteractive apt-get install -y kubelet=1.16.3-00 kubeadm=1.16.3-00 kubectl=1.16.3-00\r\n\r\nsudo apt-mark hold kubelet kubeadm kubectl\r\n\r\n<\/pre>\n<p>Mit dem Befehl \u201csudo kubeadm init &#8211;kubernetes-version=1.16.3 &#8211;skip-token-print\u201c wird nun ein Kubernetes Cluster in der version 1.16.3 erstellt. Danach muss noch die kubeconfig f\u00fcr den aktuellen Benutzer kopiert werden. Diese Schritte werden in der Ausgabe von kubeadm beschrieben. In diesem minimalen Setup muss noch das Taint des Masters entfernt werden. Dieses Taint wird von kubeadm gesetzt und verhindert, dass Pods auf dem Master Node gescheduled werden. Das Taint kann mit dem Befehl \u201ekubectl taint nodes &#8211;all node-role.kubernetes.io\/master-\u201c entfernt werden. \u00dcber den Befehl \u201ekubectl apply -f manifests\/calico.yaml\u201c wird das Pod-Netzwerk, in diesem Falle Calico, installiert.<\/p>\n<p>Der CloudCore von KubeEdge kann auf verschiedene Weisen installiert werden. In diesem Beispiel wird die Variante als Kubernetes Deployment verwendet. Dies hat den Vorteil, dass keine weitere Infrastruktur bereitgestellt werden muss und die Funktionalit\u00e4t f\u00fcr Restarts und Prozess\u00fcberwachung von Kubernetes verwendet werden kann. Die Installation des CloudCores in ein Kubernetes Cluster kann in die folgenden Schritte unterteilt werden:<\/p>\n<ol>\n<li aria-level=\"1\">Installation der CustomResourceDefinition f\u00fcr Kubeedge (Device und DeviceModel)<\/li>\n<li aria-level=\"1\">Erstellung einer Root CA f\u00fcr CloudCore und den EdgeCore<\/li>\n<li aria-level=\"1\">Erstellung eines Zertifikates f\u00fcr den EdgeCore<\/li>\n<li aria-level=\"1\">Speichern des Zertifikats in Kubernetes als Secret<\/li>\n<li aria-level=\"1\">Starten des CloudCore in Kubernetes mit den entsprechenden Manifesten<\/li>\n<\/ol>\n<p>Die komplette Installation wird im Block \u201eCloudCore Installation\u201c beschrieben. Alle verwendeten Manifeste k\u00f6nnen dem GitHub Repository entnommen werden.<\/p>\n<pre class=\"lang:sh decode:true \" title=\"CloudCore Installation\">kubectl create -f https:\/\/raw.githubusercontent.com\/kubeedge\/kubeedge\/v1.1.0\/build\/crds\/devices\/devices_v1alpha1_device.yaml\r\n\r\nkubectl create -f https:\/\/raw.githubusercontent.com\/kubeedge\/kubeedge\/v1.1.0\/build\/crds\/devices\/devices_v1alpha1_devicemodel.yaml\r\n\r\n# Download des Zertifikats Skript\r\n\r\ncurl -sLO https:\/\/raw.githubusercontent.com\/kubeedge\/kubeedge\/v1.1.0\/build\/tools\/certgen.sh\r\n\r\nchmod +x certgen.sh\r\n\r\nsudo sed -i 's\/RANDFILE\/#RANDFILE\/g' \/etc\/ssl\/openssl.cnf\r\n\r\nsudo .\/certgen.sh buildSecret | tee .\/manifests\/cloudcore\/06-secret.yaml\r\n\r\n# Installation aller Kubernetes Objekte\r\n\r\nkubectl apply -f manifests\/cloudcore\/\r\n\r\n<\/pre>\n<p>Damit sich der EdgeCore im n\u00e4chsten Schritt auch als Kubernetes Node anmelden kann, muss ein Kubernetes Node per API erstellt werden. Bei der Erstellung ist darauf zu achten, dass der Name des Kubernetes Nodes mit dem Namen von EdgeCore \u00fcbereinstimmen muss. Der Anmeldenamen des EdgeCore-Prozesses kann \u00fcber eine Konfigurationseinstellung angepasst werden. Abschlie\u00dfend muss das Zertifikat und die Root CA f\u00fcr den EdgeCore-Prozess zug\u00e4nglich sein. Hierf\u00fcr werden die Dateien aus der Kubernetes API ausgelesen und in ein gemeinsames Verzeichnis verschoben. Der Block \u201eVorbereitungen f\u00fcr EdgeCore\u201c beschreibt diese Schritte.<\/p>\n<pre class=\"lang:sh decode:true \" title=\"Vorbereitungen f\u00fcr EdgeCore\">kubectl apply -f manifests\/edgecore\/node.yaml\r\n\r\n# Dieses Verzeichnis wird \u00fcber Vagrant beiden VM\u2019s zug\u00e4nglich gemacht\r\n\r\nmkdir -p manifests\/edgecore\/certs\r\n\r\nkubectl -n kubeedge get secret cloudcore -o jsonpath={.data.\"edge\\.crt\"} | base64 -d &gt; manifests\/edgecore\/certs\/edge.crt\r\n\r\nkubectl -n kubeedge get secret cloudcore -o jsonpath={.data.\"edge\\.key\"} | base64 -d &gt; manifests\/edgecore\/certs\/edge.key\r\n\r\nkubectl -n kubeedge get secret cloudcore -o jsonpath={.data.\"rootCA\\.crt\"} | base64 -d &gt; manifests\/edgecore\/certs\/rootCA.cr\r\n\r\n<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"EdgeCore\"><\/span>EdgeCore<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Der EdgeCore ben\u00f6tigt eine Container Runtime wie <a href=\"https:\/\/www.inovex.de\/blog\/containers-docker-containerd-nabla-kata-firecracker\/\">z.B. Docker oder containerd<\/a>, um Pods lokal starten zu k\u00f6nnen. Die KubeEdge Binaries k\u00f6nnen aus den offiziellen Quellen (GitHub) heruntergeladen werden. \u00dcber eine Konfigurationsdatei wird der KubeEdge Daemon konfiguriert. Abschlie\u00dfend wird ein Systemd-Service verwendet um KubeEdge als Systemdienst und bei jedem Reboot automatisiert zu starten Als Container Runtime wird f\u00fcr den EdgeCore Docker verwendet. Die Installation von Docker kann <a href=\"https:\/\/docs.docker.com\/install\/linux\/docker-ce\/ubuntu\/\">von den offiziellen Quellen aus Docker<\/a> \u00fcbernommen werden.<\/p>\n<p>\u00c4hnlich wie beim CloudCore kann der EdgeCore in unterschiedlichen Varianten installiert werden. In diesem Beispiel wird die vorkompilierte Binary verwendet, die <a href=\"https:\/\/github.com\/kubeedge\/kubeedge\/releases\/tag\/v1.1.0\">hier heruntergeladen<\/a> werden kann.<\/p>\n<p>Bei der Installation des EdgeCores ist darauf zu achten, die richtige CPU-Architektur zu verwenden. Die aktuelle CPU-Architektur kann \u00fcber den Befehl \u201cuname -m\u201c auf einem Linux OS ausgelesen werden.<\/p>\n<pre class=\"lang:sh decode:true\" title=\"Download KubeEdge\">curl -Lo \/tmp\/kubeedge.tar.gz https:\/\/github.com\/kubeedge\/kubeedge\/releases\/download\/v1.1.0\/kubeedge-v1.1.0-linux-amd64.tar.gz\r\n\r\ntar xvfz \/tmp\/kubeedge.tar.gz -C \/tm\r\n\r\n<\/pre>\n<p>Es wird empfohlen, die Konfiguration unter dem Verzeichnis \u201c\/etc\/kubeedge\u201c anzulegen. Mit dem Nachfolgenden Befehl wird ein entsprechendes Verzeichnis angelegt und die ben\u00f6tigten Inhalte des heruntergeladene TAR-Verzeichnis werden verschoben.<\/p>\n<pre class=\"lang:sh decode:true\" title=\"Erstellen der KubeEdge Konfiguration\">sudo mkdir -p \/etc\/kubeedge\/conf\r\n\r\n# Move all files into place\r\n\r\nsudo mv \/tmp\/kubeedge-v1.1.0-linux-amd64\/edge\/edgecore \/etc\/kubeedge\r\n\r\nsudo mv \/tmp\/kubeedge-v1.1.0-linux-amd64\/edge\/conf\/* \/etc\/kubeedge\/conf\r\n\r\n<\/pre>\n<p>F\u00fcr die Prozessverwaltung des EdgeCores wird systemd verwendet. systemd startet den EdgeCore-Prozess bei Fehlern neu und startet zus\u00e4tzlich den Prozess bei jedem Neustart. Vor der Verwendung von systemd sollte der EdgeCore einmal h\u00e4ndisch \u00fcber das Terminal gestartet werden, um eine Fehlkonfiguration fr\u00fchzeitig zu entdecken. Der Block \u201eErstellung edgecore.service\u201c zeigt, wie die systemd Service Unit erstellt werden kann. Wie aus dem Service File ersichtlich, muss der EdgeCore mit Superuser-Rechten ausgef\u00fchrt werden.<\/p>\n<pre class=\"lang:default decode:true\" title=\"Erstellung edgecore.service\">sudo tee \/etc\/systemd\/system\/edgecore.service &lt;&lt;EOF\r\n\r\n[Unit]\r\n\r\nDescription=edgecore.service\r\n\r\n[Service]\r\n\r\nType=simple\r\n\r\nExecStart=\/etc\/kubeedge\/edgecore\r\n\r\n[Install]\r\n\r\nWantedBy=multi-user.target\r\n\r\nEOF\r\n\r\n<\/pre>\n<h4><span class=\"ez-toc-section\" id=\"Erstellung-Zertifikate\"><\/span>Erstellung Zertifikate<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Bei der Installation des CloudCores wurde bereits ein Zertifikat f\u00fcr den EdgeCore erstellt. Auf dem EdgeCore wird bei der Verwendung der Websocket-Verbindung ein Private Key und ein Client-Zertifikat ben\u00f6tigt. Wichtig ist hierbei, dass alle Zertifikate mithilfe derselben Root-CA erstellt wurden. Um in die Zertifikatserstellung m\u00f6glichst einfach zu halten wird in diesem Beispiel auf die bereits generierten Zertifikate zur\u00fcckgegriffen. Diese werden auf dem EdgeCore unter dem Pfad \u201e\/etc\/kubeedge\/certs\u201c abgelegt. Bei unterschiedlichen Ger\u00e4ten kann das Tool \u201cscp\u201c verwendet werden. Die Befehlsfolge ist folgende:<\/p>\n<pre class=\"lang:sh decode:true\" title=\"Kopieren des Zertifikats\">scp -r manifests\/edgecore\/certs &lt;Adresse des Edge&gt;:\/etc\/kubeedge\/<\/pre>\n<h4><span class=\"ez-toc-section\" id=\"Konfiguration-Edge\"><\/span>Konfiguration Edge<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Bevor die Edge-Komponente gestartet werden kann, muss diese noch konfiguriert werden. Die Grundlegende Konfiguration ist in der Beispielkonfiguration von KubeEdge schon vorgenommen worden. Die Beispielkonfiguration muss aber noch angepasst werden, damit sich der EdgeCore als Node im Kubernetes Cluster melden kann.<\/p>\n<p>Der Ordner f\u00fcr die Konfigurationsdateien ist unter \/etc\/kubeedge\/conf zu finden. In diesem Ordner liegen die Dateien \u201cedge.yaml\u201c, \u201clogging.yaml\u201c und \u201cmodules.yaml\u201c:<\/p>\n<ul>\n<li aria-level=\"1\">\u00dcber die Datei \u201cmodules.yaml\u201c k\u00f6nnen die in EdgeCore verwendeten Module verwaltet werden.<\/li>\n<li aria-level=\"1\">In der Datei \u201clogging.yaml\u201c kann das Logging des Edgecores konfiguriert werden.<\/li>\n<li aria-level=\"1\">In der Datei \u201cedge.yaml\u201c wird der EdgeCore konfiguriert. Diese Konfiguration muss f\u00fcr jede Instanz des EdgeCores ver\u00e4ndert werden. Die Datei selbst ist in die Abschnitte MQTT, Edgehub, Edged und Mesh aufgeteilt.<\/li>\n<\/ul>\n<p>In der Sektion MQTT wird die MQTT-Verbindung konfiguriert. Dabei ist es m\u00f6glich, den EdgeCore-eigenen MQTT Broker oder einen externen Broker wie Eclipse Mosquitto zu verwenden. In diesem Beispiel wird die Standardeinstellung, der internen MQTT Broker, verwendet.<\/p>\n<p>In der Sektion Edgehub wird die Verbindung zur CloudCore-Komponente definiert. Hier kann das verwendete Protokoll zur Kommunikation zwischen EdgeCore und CloudCore ausgew\u00e4hlt werden. Zu Verf\u00fcgung stehen die Protokolle Websocket und Quic. Tests haben gezeigt, dass Websocket eine h\u00f6here Performance bietet. Im Controller ist aus diesem Grund das Protokoll Websocket als Default Wert vorkonfiguriert. Bevor die Verbindung konfiguriert wird, sollte die Node-ID gesetzt werden. Die Node-ID ist ein String, welcher beliebig gew\u00e4hlt werden kann. Es empfiehlt sich aber hier einen String zu verwenden, mit dem der Edge Node identifiziert werden kann. Wenn die Node ID ge\u00e4ndert wurde, sollte in der Websocket URL der vorletzte Teilstring ebenfalls abge\u00e4ndert werden. In diesem Tutorial wurde bereits beim Hinzuf\u00fcgen des Nodes ein Name gesetzt. Dieser lautet \u201eedgenode\u201c. \u00a0 Zus\u00e4tzlich muss in der URL im Bereich Websocket noch die IP-Adresse 0.0.0.0 durch die tats\u00e4chliche IP-Adresse des CloudCores ersetzt werden. Beim aufsetzen des CloudCores wurde ein Service mit dem Typ NodePort erstellt. Die richtige URL f\u00fcr die Websocket-Verbindung setzt sich dementsprechend aus der IP-Adresse des Nodes und dem Port in diesem Service zusammen, in unserem Fall ist dies der Port 30000.<\/p>\n<p>Im Abschnitt edged ist die Konfiguration f\u00fcr die Kubelet-Funktionalit\u00e4t auf den EdgeCore zu finden. Bei einer Anpassung der Node-ID muss ebenfalls die Option hostname-override entsprechend gesetzt werden. Mithilfe des Befehles <code>ip address list<\/code> kann der Name des aktuell verwendeten Netzwerk-Interfaces herausgefunden werden und mit der Option \u201cinterface-name\u201c entsprechend gesetzt werden. Wird eine andere CPU-Architektur als x86 verwendet muss noch die Option \u201epodsandbox-image\u201c entsprechend angepasst werden. Die entsprechenden images f\u00fcr die konkreten CPU-Architekturen sind als Kommentar in der Konfigurationsdatei enthalten.<\/p>\n<p>Im Bereich Mesh kann die Strategie f\u00fcr einen Loadbalancer definiert werden, der in diesem Tutorial allerdings nicht verwendet wird.<\/p>\n<p>Der EdgeCore kann nun mithilfe der Kommandozeile und der Binary edgecore oder \u00fcber den Service mit \u201csystemctl start edgecore\u201c gestartet werden.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Node-hinzufuegen\"><\/span>Node hinzuf\u00fcgen<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Nachdem die EdgeCore-Komponente nun ausgef\u00fchrt wird, soll der Node im Cluster hinzugef\u00fcgt werden. Dies wurde in diesem Tutorial schon im Block \u201eVorbereitungen f\u00fcr EdgeCore\u201c vorgenommen. Der Block Node.yaml beschreibt den Inhalt dieser Datei. Das Feld \u201cname\u201c muss mit der EdgeCore Node-ID \u00fcbereinstimmen, damit Kubernetes und der CloudCore den EdgeCore identifizieren k\u00f6nnen.<\/p>\n<pre class=\"lang:yaml decode:true \" title=\"Node.yaml\">apiVersion: v1\r\n\r\nkind: Node\r\n\r\nmetadata:\r\n\r\nlabels:\r\n\r\n        name: edge-node\r\n\r\n        node-role.kubernetes.io\/edge: \u201c\u201c\r\n\r\n    name: edgenode\r\n\r\nspec:\r\n\r\ntaints:\r\n\r\neffect: NoSchedule\r\n\r\n             key: node-role.kubeedge.io\r\n\r\n        value: edge<\/pre>\n<p>Um sicherzugehen, dass der EdgeCore nur Workload f\u00fcr Edge-Anwendungsf\u00e4lle erh\u00e4lt, wird ein entsprechendes Taint verwendet. Die Anwendungen, die entsprechend auf einem EdgeNode ausgef\u00fchrt werden sollen, m\u00fcssen diesen Taint tolerieren. Ein Beispiel hierzu ist im n\u00e4chsten Kapitel zu finden.<\/p>\n<p>Um zu kontrollieren, dass der Node auch hinzugef\u00fcgt wurde und verf\u00fcgbar ist, kann der Befehl <code>kubectl get node -o wide<\/code> verwendet werden.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Demo-Applikation-starten\"><\/span>Demo-Applikation starten<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Zum Abschluss dieses Teiles soll auf dem EdgeNode eine einfache Web-Applikation ausgef\u00fchrt werden. Ein Nginx Pod soll auf dem EdgeNode gestartet werden und \u00fcber einen Browser oder ein Terminal die Willkommensseite von NGINX aufrufen. Das Kubernetes-Manifest f\u00fcr das Nginx Deployment is in dem Block \u201eNGINX Deployment\u201c beschrieben.<\/p>\n<pre class=\"lang:yaml decode:true\" title=\"NGINX Deployment - nginx-dep.yaml\">apiVersion: apps\/v1\r\n\r\nkind: Deployment\r\n\r\nmetadata:\r\n\r\n  name: nginx-deployment\r\n\r\n  labels:\r\n\r\n    app: nginx\r\n\r\nspec:\r\n\r\n  replicas: 1\r\n\r\n  selector:\r\n\r\n    matchLabels:\r\n\r\n      app: nginx\r\n\r\n  template:\r\n\r\n    metadata:\r\n\r\n      labels:\r\n\r\n        app: nginx\r\n\r\n    spec: # Hiermit werden alle EdgeNodes selektiert\r\n\r\n      nodeSelector:\r\n\r\n        node-role.kubernetes.io\/edge: \"\"\r\n\r\n      tolerations: # Mit dieser Toleration wird das Taint ignoriert\r\n\r\n      - effect: NoSchedule\r\n\r\n        key: node-role.kubeedge.io\r\n\r\n        value: edge\r\n\r\n      containers:\r\n\r\n      - name: nginx\r\n\r\n        image: nginx:1.15.12\r\n\r\n        ports:\r\n\r\n        - containerPort: 80\r\n\r\n          hostPort: 80<\/pre>\n<p>Dieses Manifest ist bereits in der Datei \u201cmanifest\/demo\/nginx.yaml\u201c verf\u00fcgbar und kann mit dem Befehl \u201ckubectl apply -f manifest\/demo\/nginx.yaml\u201c auf dem Cluster erstellt werden.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Ausblick-auf-Abschliessenden-Teil\"><\/span>Ausblick auf Abschlie\u00dfenden Teil<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Im letzten Teil des Tutorials wird eine Anwendung auf dem EdgeNode deployt werden. Diese wird die CPU-Temperatur messen und \u00fcber den EdgeCore und den CloudCore die Werte in der Kubernetes API aktualisieren. Aus der Kubernetes API werden die Daten ausgelesen und in eine Timeseries-Datenbank geschrieben. Die gespeicherten Daten werden \u00fcber ein Grafana Dashboard ausgelesen und visualisiert.<\/p>\n<p>Die Inhalte dieser Arbeit stammen aus dem Projekt\u00a0<a class=\"c-link\" href=\"https:\/\/www.interaktive-technologien.de\/projekte\/kosmos\" target=\"_blank\" rel=\"noopener noreferrer\" link=\"http:\/\/kosmos-bmbf.de\/\" sk=\"tooltip_parent\">KOSMoS<\/a>\u00a0\u2013 Kollaborative Smart Contracting Plattform f\u00fcr digitale Wertsch\u00f6pfungsnetze. Dieses Forschungs- und Entwicklungsprojekt wird mit Mitteln des Bundesministeriums f\u00fcr Bildung und Forschung (BMBF) im Programm \u201eInnovationen f\u00fcr die Produktion, Dienstleistung und Arbeit von morgen\u201c (F\u00f6rderkennzeichen 02P17D026) gef\u00f6rdert und vom Projekttr\u00e4ger Karlsruhe (PTKA) betreut. Die Verantwortung f\u00fcr den Inhalt dieser Ver\u00f6ffentlichung liegt bei den Autor:innen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Im vorherigen Teil des Tutorials wurden die Grundlagen von KubeEdge und dessen Aufbau erl\u00e4utert. In diesem Teil wollen wird KubeEdge beispielhaft mit einer kleinen Applikation aufbauen und testen. Den ersten Teil der Reihe Einf\u00fchrung in KubeEdge findet ihr hier.<\/p>\n","protected":false},"author":22,"featured_media":20458,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"ep_exclude_from_search":false,"footnotes":""},"tags":[71,74],"service":[414,712],"coauthors":[{"id":22,"display_name":"Johannes M. Scheuermann","user_nicename":"jscheuermann"},{"id":203,"display_name":"Jan Unterbrink","user_nicename":"junterbrink"}],"class_list":["post-20525","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-cloud","tag-iot","service-cloud","service-internet-of-things-iot"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>KubeEdge einrichten: Tutorial - inovex GmbH<\/title>\n<meta name=\"description\" content=\"In diesem Artikel wird beschrieben, wie KubeEdge in Version 1.1.0 deployed und konfiguriert werden kann. Dazu werden 2 VMs verwendet. Ebenso wird eine Anwendungsfall vorgestellt, der mithilfe von KubeEdge umgesetzt wird.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"KubeEdge einrichten: Tutorial - inovex GmbH\" \/>\n<meta property=\"og:description\" content=\"In diesem Artikel wird beschrieben, wie KubeEdge in Version 1.1.0 deployed und konfiguriert werden kann. Dazu werden 2 VMs verwendet. Ebenso wird eine Anwendungsfall vorgestellt, der mithilfe von KubeEdge umgesetzt wird.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/\" \/>\n<meta property=\"og:site_name\" content=\"inovex GmbH\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/inovexde\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-20T08:22:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-17T06:59:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/01\/kubeedge-tutorial-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Johannes M. Scheuermann, Jan Unterbrink\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/01\/kubeedge-tutorial-2-1024x576.png\" \/>\n<meta name=\"twitter:creator\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:site\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Johannes M. Scheuermann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"12\u00a0Minuten\" \/>\n\t<meta name=\"twitter:label3\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data3\" content=\"Johannes M. Scheuermann, Jan Unterbrink\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/\"},\"author\":{\"name\":\"Johannes M. Scheuermann\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/person\/0bacb2c9ca9064212903a844e408fb12\"},\"headline\":\"KubeEdge einrichten: Tutorial\",\"datePublished\":\"2021-01-20T08:22:02+00:00\",\"dateModified\":\"2025-12-17T06:59:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/\"},\"wordCount\":1833,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/01\/kubeedge-tutorial-2.png\",\"keywords\":[\"Cloud\",\"IoT\"],\"articleSection\":[\"General\",\"Infrastructure\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/\",\"url\":\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/\",\"name\":\"KubeEdge einrichten: Tutorial - inovex GmbH\",\"isPartOf\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/01\/kubeedge-tutorial-2.png\",\"datePublished\":\"2021-01-20T08:22:02+00:00\",\"dateModified\":\"2025-12-17T06:59:38+00:00\",\"description\":\"In diesem Artikel wird beschrieben, wie KubeEdge in Version 1.1.0 deployed und konfiguriert werden kann. Dazu werden 2 VMs verwendet. Ebenso wird eine Anwendungsfall vorgestellt, der mithilfe von KubeEdge umgesetzt wird.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#primaryimage\",\"url\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/01\/kubeedge-tutorial-2.png\",\"contentUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/01\/kubeedge-tutorial-2.png\",\"width\":1920,\"height\":1080,\"caption\":\"Grafische Darstellung von drei Cloud-Symbolen. Wobei eins leicht ausgeblendet ist.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.inovex.de\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"KubeEdge einrichten: Tutorial\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.inovex.de\/de\/#website\",\"url\":\"https:\/\/www.inovex.de\/de\/\",\"name\":\"inovex GmbH\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.inovex.de\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.inovex.de\/de\/#organization\",\"name\":\"inovex GmbH\",\"url\":\"https:\/\/www.inovex.de\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png\",\"contentUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png\",\"width\":1921,\"height\":1081,\"caption\":\"inovex GmbH\"},\"image\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/inovexde\",\"https:\/\/x.com\/inovexgmbh\",\"https:\/\/www.instagram.com\/inovexlife\/\",\"https:\/\/www.linkedin.com\/company\/inovex\",\"https:\/\/www.youtube.com\/channel\/UC7r66GT14hROB_RQsQBAQUQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/person\/0bacb2c9ca9064212903a844e408fb12\",\"name\":\"Johannes M. Scheuermann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/person\/image\/f922827beb705676e2040c1ecc2b6370\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d3df0e3e0fa19f031fc539be1bd60a808d56719e4f9d367bf9b116ef6d653b1b?s=96&d=retro&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d3df0e3e0fa19f031fc539be1bd60a808d56719e4f9d367bf9b116ef6d653b1b?s=96&d=retro&r=g\",\"caption\":\"Johannes M. Scheuermann\"},\"url\":\"https:\/\/www.inovex.de\/de\/blog\/author\/jscheuermann\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"KubeEdge einrichten: Tutorial - inovex GmbH","description":"In diesem Artikel wird beschrieben, wie KubeEdge in Version 1.1.0 deployed und konfiguriert werden kann. Dazu werden 2 VMs verwendet. Ebenso wird eine Anwendungsfall vorgestellt, der mithilfe von KubeEdge umgesetzt wird.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/","og_locale":"de_DE","og_type":"article","og_title":"KubeEdge einrichten: Tutorial - inovex GmbH","og_description":"In diesem Artikel wird beschrieben, wie KubeEdge in Version 1.1.0 deployed und konfiguriert werden kann. Dazu werden 2 VMs verwendet. Ebenso wird eine Anwendungsfall vorgestellt, der mithilfe von KubeEdge umgesetzt wird.","og_url":"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/","og_site_name":"inovex GmbH","article_publisher":"https:\/\/www.facebook.com\/inovexde","article_published_time":"2021-01-20T08:22:02+00:00","article_modified_time":"2025-12-17T06:59:38+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/01\/kubeedge-tutorial-2.png","type":"image\/png"}],"author":"Johannes M. Scheuermann, Jan Unterbrink","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/01\/kubeedge-tutorial-2-1024x576.png","twitter_creator":"@inovexgmbh","twitter_site":"@inovexgmbh","twitter_misc":{"Verfasst von":"Johannes M. Scheuermann","Gesch\u00e4tzte Lesezeit":"12\u00a0Minuten","Written by":"Johannes M. Scheuermann, Jan Unterbrink"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#article","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/"},"author":{"name":"Johannes M. Scheuermann","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/0bacb2c9ca9064212903a844e408fb12"},"headline":"KubeEdge einrichten: Tutorial","datePublished":"2021-01-20T08:22:02+00:00","dateModified":"2025-12-17T06:59:38+00:00","mainEntityOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/"},"wordCount":1833,"commentCount":0,"publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/01\/kubeedge-tutorial-2.png","keywords":["Cloud","IoT"],"articleSection":["General","Infrastructure"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/","url":"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/","name":"KubeEdge einrichten: Tutorial - inovex GmbH","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#primaryimage"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/01\/kubeedge-tutorial-2.png","datePublished":"2021-01-20T08:22:02+00:00","dateModified":"2025-12-17T06:59:38+00:00","description":"In diesem Artikel wird beschrieben, wie KubeEdge in Version 1.1.0 deployed und konfiguriert werden kann. Dazu werden 2 VMs verwendet. Ebenso wird eine Anwendungsfall vorgestellt, der mithilfe von KubeEdge umgesetzt wird.","breadcrumb":{"@id":"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#primaryimage","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/01\/kubeedge-tutorial-2.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/01\/kubeedge-tutorial-2.png","width":1920,"height":1080,"caption":"Grafische Darstellung von drei Cloud-Symbolen. Wobei eins leicht ausgeblendet ist."},{"@type":"BreadcrumbList","@id":"https:\/\/www.inovex.de\/de\/blog\/kubeedge-einrichten\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.inovex.de\/de\/"},{"@type":"ListItem","position":2,"name":"KubeEdge einrichten: Tutorial"}]},{"@type":"WebSite","@id":"https:\/\/www.inovex.de\/de\/#website","url":"https:\/\/www.inovex.de\/de\/","name":"inovex GmbH","description":"","publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.inovex.de\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.inovex.de\/de\/#organization","name":"inovex GmbH","url":"https:\/\/www.inovex.de\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","width":1921,"height":1081,"caption":"inovex GmbH"},"image":{"@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/inovexde","https:\/\/x.com\/inovexgmbh","https:\/\/www.instagram.com\/inovexlife\/","https:\/\/www.linkedin.com\/company\/inovex","https:\/\/www.youtube.com\/channel\/UC7r66GT14hROB_RQsQBAQUQ"]},{"@type":"Person","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/0bacb2c9ca9064212903a844e408fb12","name":"Johannes M. Scheuermann","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/image\/f922827beb705676e2040c1ecc2b6370","url":"https:\/\/secure.gravatar.com\/avatar\/d3df0e3e0fa19f031fc539be1bd60a808d56719e4f9d367bf9b116ef6d653b1b?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d3df0e3e0fa19f031fc539be1bd60a808d56719e4f9d367bf9b116ef6d653b1b?s=96&d=retro&r=g","caption":"Johannes M. Scheuermann"},"url":"https:\/\/www.inovex.de\/de\/blog\/author\/jscheuermann\/"}]}},"_links":{"self":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/20525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/comments?post=20525"}],"version-history":[{"count":2,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/20525\/revisions"}],"predecessor-version":[{"id":65470,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/20525\/revisions\/65470"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media\/20458"}],"wp:attachment":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media?parent=20525"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/tags?post=20525"},{"taxonomy":"service","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/service?post=20525"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/coauthors?post=20525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}