Was ist HPA in Kubernetes?
HPA steht für horizontale POD -Autoscaler in Kubernetes und verändert die Struktur des Kubernetes -Verkehrs -Workloads, indem die Anzahl der Pods nach CPU -Nutzungskapazität automatisch erhöht oder verringert wird. Im Gegensatz zur Änderung der Ressourcen, die einem einzelnen Container zugeteilt werden, wird diese Skalierung horizontal durchgeführt, da sie die Gesamtzahl der CPU -Instanzen beeinflusst.
Wie funktioniert HPA in Kubernetes??
Wir alle sind uns bewusst, dass die CPU Prozesse behandelt. Sobald wir die Replikate bereitstellen und festlegen, sind die Dämonen alle fest. Kubernetes bietet horizontale Pod -Autoscaling, um diesen Prozess zu automatisieren. HPA ist der Controller, mit dem die CPU -Nutzung durch Automatisierung gesteuert wird. Eine Kubernetes -Anwendungsskala basiert automatisch auf Workloads. Wenn die Anzahl der Verkehrsabfälle und die CPU -Auslastung abnimmt, skaliert sie ab. Die Kubernetes -Anwendung skaliert, wenn die Workloads zunehmen, indem mehr Replikate der Kubernetes -Anwendung erstellt werden.
Voraussetzungen:
Das Folgende ist erforderlich, um den HPA in Ihrer Kubernetes -Anwendung auszuführen:
In diesem Artikel lernen wir jedes Einsprungdetail mit hilfreichen Beispielen kennen. Wenn Sie Anfänger sind, ist dies der richtige Ort für Sie, um über Kubernetes -Methoden zu erfahren. Wir werden den HPA -Konfigurationsprozess in verschiedenen Schritten erläutern. Lass uns anfangen!
Schritt 1: Kubernetes -Container -Startup
In diesem Schritt beginnen wir mit dem Kubernetes -Container, der ein Minikube ist. Wir führen den folgenden Befehl aus, um den Minikube zu starten:
> Minikube StartMinikube beginnt nach der Befehlsausführung. Minikube bietet uns einen lokalen Kubernetes -Container, in dem wir unterschiedliche Aktionen ausführen.
Schritt 2: Führen Sie den PHP-Apache-Server in der YAML-Datei aus
In diesem Schritt erstellen wir eine Konfigurationsdatei, nachdem ein Container erstellt wurde, um eine Bereitstellung zu starten. Wir führen den folgenden Befehl aus, um eine YAML -Datei zu erstellen:
> Nano Php.YamlDas Folgende ist die Ausführung des Befehls, der im angehängten Screenshot erwähnt wird.
Die Konfigurationsdatei enthält verschiedene Arten von Daten wie den Namen der Datei, die Spezifikationen von Containern und die Spezifikation des Selektors. Dieser Container läuft mit Hilfe von „Registrierung.K8S.IO/HPA-Beispiel ”Bild, wie wir im folgenden Screenshot sehen können:
Dies ist auch der YAML -Dateiteil:
Schritt 3: Erstellen Sie eine Bereitstellung und Dienste in Kubernetes
In diesem Schritt erstellen wir eine Bereitstellung und deklarieren sie als Dienst über den angehängten Screenshot. Wir führen den folgenden Befehl im Terminal aus:
> kubectl anwenden -f PHP.YamlNach dieser Befehlsausführung wird der Php-Apache-Bereitstellungsserver erstellt. Zusammen mit diesem wird der Service erfolgreich erstellt.
Schritt 4: Erstellen Sie einen horizontalen Pod -Autoscaler in Kubernetes
In diesem Schritt erstellen wir mit Kubectl auf dem Bereitstellungsserver einen horizontalen POD -Autoscaler mit Kubectl. Zu diesem Zweck führen wir den folgenden Befehl aus:
> Kubectl Autoscale -Bereitstellung PHP -APACHE - -CPU -Percent = 50 -min = 1 -max = 10Wenn wir diesen Befehl ausführen, wird der horizontale POD -Autoscaler erfolgreich erstellt. Im vorherigen Befehl initialisieren wir auch die min- und maximalen Werte. Dies bedeutet, dass der horizontale POD -Autoscaler zwischen 1 und 10 Repliken der Pod gehalten wird. Dies alles wird vom Bereitstellungs-Php-Apache-Server gesteuert.
Schritt 5: Überprüfen Sie den Status des horizontalen POD -Autoscaler in Kubernetes
In diesem Schritt möchten wir den Status von HPA abrufen oder überprüfen - wenn HPA in Kubernetes vorhanden ist oder nicht. Für diesen Zweck führen wir den angehängten Befehl aus:
> Kubectl erhalten HPAWie wir im zuvor angehaltenen Screenshot gesehen haben, ist ein HPA in unserem Container vorhanden und sein Name ist "Php-Apache". Die Referenz dieses Pod lautet "Bereitstellung/PHP-Apache". Die Ziele zeigen uns, dass der CPU -Verbrauch dieses POD von 50% unbekannt ist, was bedeutet, dass keine Kundenanforderung empfangen wird. Die minimale Anzahl der Pod beträgt 1 und die maximale Anzahl von Pods beträgt 10. Die Repliken sind „0“ und das Alter dieser Pod ist „7s“.
Schritt 6: Erhöhen Sie eine Arbeitsbelastung oder einen Verkehr auf dem Server
In diesem Schritt stellen wir eine Verbindung zu der Bereitstellung her, die zuvor erstellt wurde, um einen Pod zu erstellen und das HPA in der realen Umgebung zu überprüfen, um festzustellen, ob das HPA die Ressourcen verwalten kann oder nicht. Wir erhöhen auch die Last des Clusters, indem wir den folgenden nachfolgenden Befehl ausführen:
> kubectl run -i -tty load generator -rm -image = tousybox: 1.28 -restart = nie - /bin /sh -c “während des Schlafes 0.01; do wget -q -o- http: // php-apache; Erledigt"Schritt 7: Beobachten Sie die HPA nach der Ausführung
Wir können die Liste der HPA leicht ansehen, indem wir den folgenden Befehl ausführen:
> Kubectl GET HPA PHP-APACHE-WATCHNach dem Ausführen des zuvor erwähnten Befehls erscheint das Ergebnis wie in Schritt 6 dieses Artikels.
Schritt 8: Zeigen Sie die Bereitstellung von Kubernetes an
In diesem Schritt holen wir die Liste der Kubernetes -Bereitstellungen, indem wir den folgenden Befehl ausführen:
> Kubectl erhalten Sie die Bereitstellung PHP-ApacheSchritt 9: Erstellen Sie mehr Repliken
In diesem Schritt erstellen wir die Replik derselben Pod in Kubernetes mit demselben Befehl:
> Kubectl GET HPA PHP -APache -watch -WatchDieser Befehl beobachtet das POD -Detail nach der Ausführung. Wir können dieses POD-Detail im zuvor erwähnten Screenshot sehen.
Schritt 10: Nehmen Sie die Bereitstellung erneut ein
In diesem Schritt führen wir denselben Befehl aus, um die Bereitstellung anzuzeigen. Der Befehl lautet wie folgt:
> Kubectl erhalten Sie die Bereitstellung PHP-ApacheAbschluss
In diesem Artikel geht es um HPA. HPA bietet eine Einrichtung für die Automatisierung, die sich auf die CPU -Auslastung bezieht. Wir haben jedes Einsprungdetail für die HPA-Konfiguration gelernt. Wir hoffen, dass Sie auch die Arbeit von HPA verstehen und diese Praxis in Ihrer Umgebung durchführen können.