{"id":94262,"date":"2020-09-14T19:42:34","date_gmt":"2020-09-14T17:42:34","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/kak-poluchit-dostup-k-resursam-kubernetes-pod"},"modified":"2020-09-14T19:42:34","modified_gmt":"2020-09-14T17:42:34","slug":"kak-poluchit-dostup-k-resursam-kubernetes-pod","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/kak-poluchit-dostup-k-resursam-kubernetes-pod","title":{"rendered":"Zugriff auf Ressourcen von Kubernetes-Pods erhalten","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Zugriff auf Ressourcen von Kubernetes-Pods erhalten\" src=\"\/wp-content\/uploads\/2020\/09\/3d6760d512ef456daad121f7d1ddbcf8.jpg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" href=\"https:\/\/www.deviantart.com\/tohad\/art\/The-Reward-549720998\"><i>Die Belohnung von Tohad<\/i><\/a><\/noindex><\/p>\n<p>Zu Beginn der Arbeit mit Kubernetes wird oft die Konfiguration der Containerressourcen vergessen. In dieser Phase ist es ausreichend sicherzustellen, dass das Docker-Image funktioniert und in einem Kubernetes-Cluster bereitgestellt werden kann.<\/p>\n<p>Sp\u00e4ter muss die Anwendung jedoch in einem Produktionscluster zusammen mit anderen Anwendungen bereitgestellt werden. Dazu m\u00fcssen Ressourcen f\u00fcr den Container zugewiesen werden, um sicherzustellen, dass diese ausreichend sind, um die Anwendung zu starten und auszuf\u00fchren, ohne dass es zu Problemen in anderen laufenden Anwendungen kommt.<\/p>\n<p>Der Befehl <noindex><a rel=\"nofollow\" href=\"https:\/\/mcs.mail.ru\/\">Kubernetes aaS von Mail.ru<\/a><\/noindex> Ich habe einen Artikel \u00fcber Containerressourcen (CPU &amp; MEM), Ressourcaanforderungen und -beschr\u00e4nkungen \u00fcbersetzt. Sie werden erfahren, welche Vorteile diese Einstellungen bieten und was passiert, wenn sie nicht vorgenommen werden.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Rechenressourcen<\/h2>\n<p>\nWir haben zwei Arten von Ressourcen mit den folgenden Einheiten:<\/p>\n<ul>\n<li>Zentralprozessor (CPU) \u2013 Kerne;<\/li>\n<li>Speicher (MEM) \u2013 Bytes.<\/li>\n<\/ul>\n<p>\nRessourcen werden f\u00fcr jeden Container angegeben. In der folgenden YAML-Datei f\u00fcr Pods sehen Sie den Ressourcenabschnitt, der die angeforderten und begrenzten Ressourcen enth\u00e4lt:<\/p>\n<ul>\n<li>Angeforderte Ressourcen des Pods = Summe der angeforderten Ressourcen aller Container;<\/li>\n<li>Begrenzte Ressourcen des Pods = Summe der begrenzten Ressourcen aller Container.<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"plaintext\">apiVersion: v1\nkind: Pod\nmetadata:\n  name: backend-pod-name\n  labels:\n    application: backend\nspec:\n  containers:\n    \u2014 name: main-container\n      image: my-backend\n      tag: v1\n      ports:\n      \u2014 containerPort: 8080\n      resources:\n        requests:\n          cpu: 0.2 # REQUESTED CPU: 200m cores\n          memory: &quot;1Gi&quot; # REQUESTED MEM: 1Gi\n        limits:\n          cpu: 1 # MAX CPU USAGE: 1 core\n          memory: &quot;1Gi&quot; # MAX MEM USAGE:  1Gi\n    \u2014 name: other-container\n      image: other-app\n      tag: v1\n      ports:\n      \u2014 containerPort: 8000\n      resources:\n        requests:\n          cpu: &quot;200m&quot; # REQUESTED CPU: 200m cores\n          memory: &quot;0.5Gi&quot; # REQUESTED MEM: 0.5Gi\n        limits:\n          cpu: 1 # MAX CPU USAGE: 1 core\n          memory: &quot;1Gi&quot; # MAX MEM USAGE:  1Gi<\/code><\/pre>\n<p>Beispiel f\u00fcr angeforderte und Grenzressourcen<\/p>\n<p>Feld <code>resources.requested<\/code> aus der Pod-Spezifikation \u2014 ein Element, das zur Suche nach dem gew\u00fcnschten Knoten verwendet wird. Auf diesem kann bereits die Bereitstellung des Pods geplant werden. Wie wird der passende Knoten gefunden?<\/p>\n<p>Kubernetes besteht aus mehreren Komponenten und enth\u00e4lt unter anderem einen Master-Knoten (Kubernetes Control Plane). Auf dem Master-Knoten laufen mehrere Prozesse: kube-apiserver, kube-controller-manager und kube-scheduler. <\/p>\n<p>Der kube-scheduler ist verantwortlich f\u00fcr die \u00dcberpr\u00fcfung neu erstellter Pods und die Suche nach geeigneten Knoten, die allen Anforderungen der Pods, einschlie\u00dflich der angeforderten Ressourcenmenge, entsprechen. Die vom kube-scheduler gefundenen Knoten werden bewertet. Der Pod wird auf dem Knoten mit den h\u00f6chsten Punktzahlen geplant.<\/p>\n<p><img decoding=\"async\" alt=\"Zugriff auf Ressourcen von Kubernetes-Pods erhalten\" src=\"\/wp-content\/uploads\/2020\/09\/b489991a3cbbd5359c99701886d488e5.jpg\" style=\"display:block;margin: 0 auto;\" \/>Wo wird der lila Pod platziert?<\/p>\n<p>Auf dem Bild sieht man, dass der kube-scheduler einen neuen lila Pod planen muss. Das Kubernetes-Cluster enth\u00e4lt zwei Knoten: A und B. Wie man erkennen kann, kann der kube-scheduler den Pod nicht auf Knoten A planen \u2014 die verf\u00fcgbaren (nicht angeforderten) Ressourcen entsprechen nicht den Anforderungen des lila Pods. So passt der angeforderte lila Pod mit 1 GB RAM nicht auf Knoten A, da der verf\u00fcgbare Speicher 0,5 GB betr\u00e4gt. Knoten B hat jedoch gen\u00fcgend Ressourcen. Schlie\u00dflich entscheidet der kube-scheduler, dass das Ziel des lila Pods Knoten B ist.<\/p>\n<p>Jetzt wissen wir, wie die angeforderten Ressourcen die Auswahl des Knotens f\u00fcr die Ausf\u00fchrung des Pods beeinflussen. Aber welchen Einfluss haben die maximalen Ressourcen?<\/p>\n<p>Grenzwerte sind die Schwellen, die CPU\/MEM nicht \u00fcberschreiten kann. CPU-Ressourcen sind jedoch flexibel, daher f\u00fchren Container, die die CPU-Grenzwerte erreicht haben, nicht zur Beendigung des Pods. Stattdessen wird eine CPU-Drosselung aktiviert. Wird jedoch das Limit f\u00fcr die Nutzung von MEM erreicht, wird der Container vom OOM-Killer gestoppt und neu gestartet, sofern dies durch die Einstellungsoption RestartPolicy erlaubt ist.<\/p>\n<h2>Geforderte und Grenzressourcen im Detail<\/h2>\n<p>\n<img decoding=\"async\" alt=\"Zugriff auf Ressourcen von Kubernetes-Pods erhalten\" src=\"\/wp-content\/uploads\/2020\/09\/22e672100940e8895ae42a56a681111f.jpg\" style=\"display:block;margin: 0 auto;\" \/>Verbindung von Ressourcen zwischen Docker und Kubernetes<\/p>\n<p>Der beste Weg, um zu erkl\u00e4ren, wie geforderte und Grenzressourcen funktionieren, besteht darin, die Verbindung zwischen Kubernetes und Docker darzustellen. Im obigen Bild sehen Sie, wie die Kubernetes-Felder und die Docker-Startflags miteinander verbunden sind.<\/p>\n<h2>Speicher: Anfrage und Grenzwert<\/h2>\n<p><\/p>\n<pre><code class=\"plaintext\">containers:\n...\n resources:\n   requests:\n     memory: &quot;0.5Gi&quot;\n   limits:\n     memory: &quot;1Gi&quot;\n<\/code><\/pre>\n<p>\nWie bereits erw\u00e4hnt, wird der Speicher in Bytes gemessen. Basierend auf <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/manage-resources-containers\/#meaning-of-memory\">Kubernetes-Dokumentation<\/a><\/noindex>, k\u00f6nnen wir den Speicher als Zahl angeben. Normalerweise ist es ganzzahlig, wie z. B. 2678 \u2014 das sind 2678 Bytes. Es k\u00f6nnen auch Suffixe verwendet werden, <code>G<\/code> und <code>Gi<\/code>, wichtig ist, dass sie nicht gleichwertig sind. Das erste ist dezimal, das zweite bin\u00e4r. Zum Beispiel, wie in der k8s-Dokumentation erw\u00e4hnt: <code>128974848<\/code>, <code>129e6<\/code>, <code>129M<\/code>, <code>123Mi<\/code> \u2014 sie sind nahezu \u00e4quivalent.<\/p>\n<p>Kubernetes-Parameter <code>limits.memory<\/code> entspricht dem Flag <code>--memory<\/code> von Docker. Bei <code>request.memory<\/code> ist die Angabe f\u00fcr Docker nicht vorhanden, da Docker dieses Feld nicht verwendet. Sie k\u00f6nnen fragen, ob das \u00fcberhaupt notwendig ist? Ja, es ist notwendig. Wie bereits erw\u00e4hnt, ist das Feld f\u00fcr Kubernetes von Bedeutung. Basierend auf diesen Informationen entscheidet der kube-scheduler, auf welchem Knoten er das Pod planen soll.<\/p>\n<p><strong>Was passiert, wenn f\u00fcr die Anfrage nicht gen\u00fcgend Speicher eingestellt wird?<\/strong><\/p>\n<p>Wenn der Container die Grenzen des angeforderten Speichers erreicht, wird das Pod in eine Gruppe von Pods eingestuft, die aufgrund von Speichermangel auf dem Knoten gestoppt werden.<\/p>\n<p><strong>Was passiert, wenn ein zu niedriger Grenzwert f\u00fcr den Speicher eingestellt wird?<\/strong><\/p>\n<p>Wenn der Container den Grenzwert f\u00fcr den Speicher \u00fcberschreitet, wird er wegen OOM-Killed beendet. Und er wird neu gestartet, wenn dies basierend auf der RestartPolicy m\u00f6glich ist, wobei der Standardwert \u2014 <code>Always<\/code>.<\/p>\n<p><strong>Was passiert, wenn kein angeforderter Speicher angegeben wird?<\/strong><\/p>\n<p>Kubernetes \u00fcbernimmt den Grenzwert und setzt ihn als Standardwert.<\/p>\n<p><strong>Was kann passieren, wenn kein Grenzwert f\u00fcr den Speicher angegeben wird?<\/strong><\/p>\n<p>Ein Container hat keine Einschr\u00e4nkungen und kann so viel Speicher verwenden, wie er m\u00f6chte. Wenn er jedoch den gesamten verf\u00fcgbaren Speicher des Knotens verwendet, wird er durch OOM (Out of Memory) beendet. Anschlie\u00dfend wird der Container neu gestartet, sofern dies gem\u00e4\u00df der RestartPolicy m\u00f6glich ist.<\/p>\n<p><strong>Was passiert, wenn keine Speicherkapazit\u00e4ten angegeben werden?<\/strong><\/p>\n<p>Das ist das schlechteste Szenario: Der Scheduler wei\u00df nicht, wie viele Ressourcen der Container ben\u00f6tigt, was ernsthafte Probleme am Knoten verursachen kann. In diesem Fall w\u00e4re es gut, Standardbeschr\u00e4nkungen im Namespace zu haben (festgelegt durch LimitRange). Es gibt keine Standardbeschr\u00e4nkungen \u2013 der Pod hat keine Beschr\u00e4nkungen und kann so viel Speicher verwenden, wie er m\u00f6chte.<\/p>\n<p>Wenn der angeforderte Speicher gr\u00f6\u00dfer ist als das, was der Knoten anbieten kann \u2013 wird der Pod nicht eingeplant. Es ist wichtig zu beachten, dass <code>Requests.memory<\/code> kein Minimalwert ist. Dies beschreibt das Speichervolumen, das f\u00fcr den kontinuierlichen Betrieb des Containers ausreicht. <\/p>\n<p>Es wird allgemein empfohlen, denselben Wert f\u00fcr <code>request.memory<\/code> und <code>limit.memory<\/code>festzulegen. Dadurch wird verhindert, dass Kubernetes einen Pod auf einem Knoten plant, der zwar gen\u00fcgend Speicher f\u00fcr die Ausf\u00fchrung des Pods hat, aber nicht gen\u00fcgend f\u00fcr dessen Betrieb. Beachten Sie: Bei der Planung von Pods ber\u00fccksichtigt Kubernetes nur <code>requests.memory<\/code>, und <code>limits.memory<\/code> wird nicht ber\u00fccksichtigt.<\/p>\n<h2>CPU: Anfrage und Begrenzung<\/h2>\n<p><\/p>\n<pre><code class=\"plaintext\">containers:\n...\n resources:\n   requests:\n     cpu: 1\n   limits:\n     cpu: &quot;1200m&quot;\n<\/code><\/pre>\n<p>\nF\u00fcr C CPU ist es etwas komplizierter. Wenn wir auf das Bild mit der Beziehung zwischen Kubernetes und Docker zur\u00fcckblicken, k\u00f6nnen wir feststellen, dass <code>request.cpu<\/code> entspricht <code>--cpu-shares<\/code>w\u00e4hrend <code>limit.cpu<\/code> entspricht dem Flag <code>cpus<\/code> in Docker.<\/p>\n<p>Die von Kubernetes angeforderte CPU wird mit 1024 multipliziert \u2014 der Verh\u00e4ltnis von CPU-Zyklen. Wenn Sie ein volles Kern anfordern m\u00f6chten, m\u00fcssen Sie hinzuf\u00fcgen <code>cpu: 1<\/code>, wie oben gezeigt. <\/p>\n<p>Die Anfrage nach einem vollen Kern (Verh\u00e4ltnis = 1024) bedeutet nicht, dass Ihr Container ihn erh\u00e4lt. Wenn Ihr Host-Rechner nur einen Kern hat und Sie mehr als einen Container verwenden, m\u00fcssen sich alle Container die verf\u00fcgbare CPU teilen. Wie funktioniert das? Schauen wir uns das Bild an.<\/p>\n<p><img decoding=\"async\" alt=\"Zugriff auf Ressourcen von Kubernetes-Pods erhalten\" src=\"\/wp-content\/uploads\/2020\/09\/7f4b20642708ef3a7e773d7900161267.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nCPU-Anfrage \u2014 System mit einem Kern<\/p>\n<p>Stellen wir uns vor, dass Sie ein Host-System mit einem Kern haben, auf dem Container laufen. Mama (Kubernetes) hat einen Kuchen (CPU) gebacken und m\u00f6chte ihn unter den Kindern (Containern) aufteilen. Drei Kinder wollen einen ganzen Kuchen (Verh\u00e4ltnis = 1024), w\u00e4hrend ein weiteres Kind eine halbe Torte will (512). Mama m\u00f6chte gerecht sein und f\u00fchrt eine einfache Berechnung durch.<\/p>\n<pre><code class=\"plaintext\"># \u0421\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0438\u0440\u043e\u0433\u043e\u0432 \u0445\u043e\u0442\u044f\u0442 \u0434\u0435\u0442\u0438?\n# 3 \u0440\u0435\u0431\u0435\u043d\u043a\u0430 \u0445\u043e\u0442\u044f\u0442 \u043f\u043e \u0446\u0435\u043b\u043e\u043c\u0443 \u043f\u0438\u0440\u043e\u0433\u0443 \u0438 \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0445\u043e\u0447\u0435\u0442 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 \u043f\u0438\u0440\u043e\u0433\u0430\ncakesNumberKidsWant = (3 * 1) + (1 * 0.5) = 3.5\n# \u0412\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u0430\u043a:\n3 (\u0440\u0435\u0431\u0435\u043d\u043a\u0430\/\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430) * 1 (\u0446\u0435\u043b\u044b\u0439 \u043f\u0438\u0440\u043e\u0433\/\u043f\u043e\u043b\u043d\u043e\u0435 \u044f\u0434\u0440\u043e) + 1 (\u0440\u0435\u0431\u0435\u043d\u043e\u043a\/\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440) * 0.5 (\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u043f\u0438\u0440\u043e\u0433\u0430\/\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u044f\u0434\u0440\u0430)\n# \u0421\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0438\u0440\u043e\u0433\u043e\u0432 \u0438\u0441\u043f\u0435\u0447\u0435\u043d\u043e?\navailableCakesNumber = 1\n# \u0421\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0438\u0440\u043e\u0433\u0430 (\u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e) \u0434\u0435\u0442\u0438 \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c?\nnewMaxRequest = 1 \/ 3.5 =~ 28%<\/code><\/pre>\n<p>\nAus der Berechnung ergibt sich, dass drei Kinder jeweils 28 % eines Kerns erhalten, anstatt einen ganzen Kern. Das vierte Kind bekommt 14 % eines vollen Kerns, nicht die H\u00e4lfte. Doch alles wird anders, wenn Sie ein Multi-Core-System haben.<\/p>\n<p><img decoding=\"async\" alt=\"Zugriff auf Ressourcen von Kubernetes-Pods erhalten\" src=\"\/wp-content\/uploads\/2020\/09\/7bf71d97add9adcf7cf0260941526590.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAnfrage CPU \u2014 Multi-Core (4) System<\/p>\n<p>Auf dem obigen Bild ist zu sehen, dass drei Kinder einen ganzen Kuchen wollen, w\u00e4hrend eines die H\u00e4lfte m\u00f6chte. Da Mama vier Kuchen gebacken hat, erh\u00e4lt jedes ihrer Kinder so viel, wie es m\u00f6chte. In einem Multi-Core-System werden die CPU-Ressourcen auf alle verf\u00fcgbaren Kerne verteilt. Wenn ein Container auf weniger als einen ganzen CPU-Kern beschr\u00e4nkt ist, kann er trotzdem 100 % davon nutzen. <\/p>\n<p>Die obigen Berechnungen sind vereinfacht, um zu verstehen, wie die CPU zwischen Containern verteilt wird. Nat\u00fcrlich gibt es neben den Containern auch andere Prozesse, die CPU-Ressourcen nutzen. Wenn Prozesse in einem Container unt\u00e4tig sind, k\u00f6nnen andere deren Ressourcen verwenden. <code>CPU: &quot;200m&quot;<\/code> entspricht <code>CPU: 0,2<\/code>, was etwa 20 % eines Kerns entspricht.<\/p>\n<p>Jetzt lassen Sie uns \u00fcber <code>limit.cpu<\/code>. Die CPU, die Kubernetes einschr\u00e4nkt, wird mit 100 multipliziert. Das Ergebnis ist die Zeit, die der Container alle 100 \u03bcs nutzen kann (<code>cpu-periode<\/code>). <\/p>\n<p><code>limit.cpu<\/code> entspricht dem Docker-Flag <code>--cpus<\/code>. Dies ist eine neue Kombination alter <code>--cpu-periode<\/code> und <code>--cpu-quota<\/code>. Durch die Festlegung geben wir an, wie viele verf\u00fcgbare CPU-Ressourcen der Container maximal nutzen kann, bevor es zu Drosselungen kommt:<\/p>\n<ul>\n<li><strong>cpus<\/strong> \u2014 Kombination <code>cpu-periode<\/code> und <code>cpu-quota. cpus = 1.5<\/code> entspricht der Festlegung <code>cpu-periode = 100000<\/code> und <code>cpu-quota = 150000<\/code>;<\/li>\n<li><strong>cpu-periode<\/strong> \u2014 Zeitraum <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Completely_Fair_Scheduler\">CFS CPU-Scheduler<\/a><\/noindex>, standardm\u00e4\u00dfig 100 Mikrosekunden;<\/li>\n<li><strong>cpu-quota<\/strong> \u2014 die Anzahl an Mikrosekunden innerhalb <code>cpu-periode<\/code>, die der Container eingeschr\u00e4nkt ist.<\/li>\n<\/ul>\n<p>\n<strong>Was passiert, wenn zu wenig angeforderte CPU eingestellt wird?<\/strong><\/p>\n<p>Wenn der Container mehr ben\u00f6tigt, als eingestellt ist, stiehlt er CPU von anderen Prozessen.<\/p>\n<p><strong>Was passiert, wenn ein unzureichendes CPU-Limit festgelegt wird?<\/strong><\/p>\n<p>Da die CPU-Ressource reguliert ist, wird das Drosseln aktiviert.<\/p>\n<p><strong>Was passiert, wenn kein CPU-Request angegeben wird?<\/strong><\/p>\n<p>Wie bei Arbeitsspeicher entspricht der Wert des Requests dem Limit.<\/p>\n<p><strong>Was passiert, wenn kein CPU-Limit angegeben wird?<\/strong><\/p>\n<p>Der Container verwendet so viel CPU, wie er ben\u00f6tigt. Wenn im Namensraum eine Standard-CPU-Richtlinie (LimitRange) definiert ist, wird dieses Limit auch f\u00fcr den Container verwendet.<\/p>\n<p><strong>Was passiert, wenn weder ein Request noch ein Limit f\u00fcr die CPU angegeben wird?<\/strong><\/p>\n<p>Wie bei Speicher ist auch hier das Worst-Case-Szenario. Der Scheduler wei\u00df nicht, wie viele Ressourcen Ihr Container ben\u00f6tigt, und das kann ernsthafte Probleme auf dem Node verursachen. Um dies zu vermeiden, sollten Sie Standardgrenzen f\u00fcr Namespaces (LimitRange) festlegen.<\/p>\n<p>Denken Sie daran: Wenn Sie mehr CPU anfordern, als die Nodes bereitstellen k\u00f6nnen, wird das Pod nicht geplant. <code>Requests.cpu<\/code> ist nicht der Mindestwert, sondern der Wert, der ausreicht, um das Pod zu starten und ohne Unterbrechungen zu arbeiten. Wenn die Anwendung keine komplexen Berechnungen durchf\u00fchrt, ist es am besten, <code>request.cpu &lt;= 1<\/code> festzulegen und so viele Replikate zu starten, wie n\u00f6tig sind.<\/p>\n<h2>Die ideale Anzahl an angeforderten Ressourcen oder Ressourcenlimits<\/h2>\n<p>\nWir haben von der Begrenzung der Rechenressourcen gelernt. Jetzt ist es an der Zeit, die Frage zu beantworten: \"Wie viele Ressourcen ben\u00f6tigt mein Pod, um die Anwendung ohne Probleme auszuf\u00fchren? Wie viel ist ideal?\". <\/p>\n<p>Leider gibt es auf diese Fragen keine eindeutigen Antworten. Wenn Sie nicht wissen, wie Ihre Anwendung funktioniert und wie viel CPU oder Arbeitsspeicher sie ben\u00f6tigt, ist es am besten, der Anwendung viel Speicher und CPU zur Verf\u00fcgung zu stellen und dann Leistungstests durchzuf\u00fchren.<\/p>\n<p>Neben den Leistungstests sollten Sie eine Woche lang das Verhalten der Anwendung im Monitoring beobachten. Wenn die Grafiken zeigen, dass Ihre Anwendung weniger Ressourcen verbraucht, als Sie angefordert haben, k\u00f6nnen Sie die angeforderte CPU- oder Speichermenge reduzieren.<\/p>\n<p>Als Beispiel sehen Sie dieses <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/grafana\/dashboards\/7187\">Grafana-Dashboard<\/a><\/noindex>. Es zeigt den Unterschied zwischen den angeforderten Ressourcen oder dem Ressourcenlimit und der aktuellen Ressourcennutzung.<\/p>\n<h2>Fazit<\/h2>\n<p>\nDie Anforderung und das Limit von Ressourcen helfen, die Funktionsf\u00e4higkeit des Kubernetes-Clusters aufrechtzuerhalten. Eine richtige Konfiguration der Limits minimiert die Kosten und h\u00e4lt die Anwendungen st\u00e4ndig betriebsbereit.<\/p>\n<p>Kurz gesagt, m\u00fcssen Sie einige Punkte beachten:<\/p>\n<ol>\n<li>Die angeforderten Ressourcen sind die Konfiguration, die beim Start ber\u00fccksichtigt wird (wenn Kubernetes die Platzierung der Anwendung plant). Im Gegensatz dazu ist das Ressourcenlimit w\u00e4hrend des Betriebs wichtig, wenn die Anwendung bereits auf einem Knoten ausgef\u00fchrt wird.<\/li>\n<li>Im Vergleich zum Speicher ist die CPU eine regulierte Ressource. Bei CPU-Mangel wird Ihr Pod nicht beendet, sondern der Drosselungsmechanismus wird aktiviert.<\/li>\n<li>Die angeforderten Ressourcen und Ressourcengrenzen sind keine Mindest- und H\u00f6chstwerte! Durch die Festlegung der angeforderten Ressourcen garantieren Sie, dass die Anwendung reibungslos funktioniert.<\/li>\n<li>Es ist eine gute Praxis, die angeforderte Speichermenge gleich der Speichergrenze zu setzen.<\/li>\n<li>Es ist gut, die angeforderte <code>CPU &lt;=1<\/code>, wenn die Anwendung keine komplexen Berechnungen durchf\u00fchrt.<\/li>\n<li>Wenn Sie mehr Ressourcen anfordern, als auf dem Knoten verf\u00fcgbar sind, wird der Pod niemals auf diesem Knoten geplant.<\/li>\n<li>Um die richtige Anzahl an angeforderten Ressourcen\/Ressourcengrenzen zu bestimmen, nutzen Sie Lasttests und Monitoring.<\/li>\n<\/ol>\n<p>\nIch hoffe, dieser Artikel hilft Ihnen, das grundlegende Konzept der Ressourcenkontrolle zu verstehen. So k\u00f6nnen Sie dieses Wissen in Ihrer Arbeit anwenden.<\/p>\n<p>Viel Erfolg!<\/p>\n<p><strong>Weitere Leseempfehlungen:<\/strong><\/p>\n<ol>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/500504\/\">SRE-\u00dcberwachung: Namensr\u00e4ume und Metrikstruktur<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/mcs.mail.ru\/blog\/poleznye-instrumenty-dlya-kubernetes\">\u00dcber 90 n\u00fctzliche Tools f\u00fcr Kubernetes: Bereitstellung, Verwaltung, \u00dcberwachung, Sicherheit und mehr<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/tele.click\/k8s_mail\">Unser Kanal Rund um Kubernetes auf Telegram<\/a><\/noindex>.<\/li>\n<\/ol>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/516014\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>The Reward by Tohad \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Kubernetes \u043e\u0431\u044b\u0447\u043d\u043e \u0437\u0430\u0431\u044b\u0432\u0430\u044e\u0442 \u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432. \u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043e\u0431\u0440\u0430\u0437 Docker \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes. \u041d\u043e \u043f\u043e\u0437\u0434\u043d\u0435\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0438\u0445 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":94263,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-94262","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=\"The Reward by Tohad \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Kubernetes \u043e\u0431\u044b\u0447\u043d\u043e \u0437\u0430\u0431\u044b\u0432\u0430\u044e\u0442 \u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432. \u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043e\u0431\u0440\u0430\u0437 Docker \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes. \u041d\u043e \u043f\u043e\u0437\u0434\u043d\u0435\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0438\u0445 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\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\/kak-poluchit-dostup-k-resursam-kubernetes-pod\" \/>\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\u041a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c Kubernetes Pod | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"The Reward by Tohad \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Kubernetes \u043e\u0431\u044b\u0447\u043d\u043e \u0437\u0430\u0431\u044b\u0432\u0430\u044e\u0442 \u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432. \u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043e\u0431\u0440\u0430\u0437 Docker \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes. \u041d\u043e \u043f\u043e\u0437\u0434\u043d\u0435\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0438\u0445 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/kak-poluchit-dostup-k-resursam-kubernetes-pod\" \/>\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=\"2020-09-14T17:42:34+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-14T17:42:34+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\udd47Zugriff auf die Ressourcen des Kubernetes Pods erhalten | ProHoster","description":"Die Belohnung von Tohad. Zu Beginn der Arbeit mit Kubernetes wird h\u00e4ufig die Konfiguration der Containerressourcen vergessen. In dieser Phase reicht es aus, sicherzustellen, dass das Docker-Image funktioniert und in einem Kubernetes-Cluster bereitgestellt werden kann. Sp\u00e4ter muss die Anwendung jedoch in einem Produktionscluster zusammen mit anderen Anwendungen bereitgestellt werden. Dazu m\u00fcssen Ressourcen f\u00fcr den Container zugewiesen werden, und es ist sicherzustellen, dass diese ausreichend sind.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/kak-poluchit-dostup-k-resursam-kubernetes-pod","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\u041a\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c Kubernetes Pod | ProHoster","og:description":"The Reward by Tohad \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Kubernetes \u043e\u0431\u044b\u0447\u043d\u043e \u0437\u0430\u0431\u044b\u0432\u0430\u044e\u0442 \u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432. \u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043e\u0431\u0440\u0430\u0437 Docker \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes. \u041d\u043e \u043f\u043e\u0437\u0434\u043d\u0435\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0438\u0445 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/kak-poluchit-dostup-k-resursam-kubernetes-pod","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":"2020-09-14T17:42:34+00:00","article:modified_time":"2020-09-14T17:42:34+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"94262","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:30:27","updated":"2022-10-02 18:20:09"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/94262","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=94262"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/94262\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/94263"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=94262"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=94262"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=94262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}