So verwenden Sie Kubernetes -Knotenselektor

So verwenden Sie Kubernetes -Knotenselektor
Kubernetes -Cluster verwendet die Planungsbeschränkungen wie: Taints, Beschriftungen, Tolerierungen und Knotenselektor, um die Arbeitsbelastung auf verschiedenen Knotenpools zu trennen und zu planen. Planungsbeschränkungen sind in Kubernetes für das Infrastrukturmanagement eine häufige Anforderung. Wir konzentrieren uns auf die Einschränkungen der Knotenauswahlplanung in diesem Artikel. Wir werden untersuchen, was ein Knotenauswahl ist, wie es funktioniert und wie es in Kubernetes verwendet werden kann. Wir werden ein einfaches Szenario präsentieren, mit dem Sie verstehen können, wie Sie den Kubernetes -Knotenauswahl effizient verwenden können.

Was ist Kubernetes -Knotenselektor?

Ein Knotenelektor ist eine Planungsbeschränkung in Kubernetes, die eine Karte in Form eines Schlüssels angibt: Wertpaar -Pod -Selektoren und Knotenbezeichnungen werden verwendet, um den Schlüssel, das Wertpaar zu definieren. Der auf dem Knoten gekennzeichnete Knotenselektor sollte mit dem Schlüssel: Wertpaar übereinstimmen, sodass ein bestimmter Pod auf einem bestimmten Knoten ausgeführt werden kann. Um die POD zu planen, werden Etiketten für Knoten verwendet, und Knotenelektoren werden für Pods verwendet. Die OpenShift -Containerplattform plant die Pods auf den Knoten mit dem Knotenselektor, indem sie die Etiketten abgleichen.

Darüber hinaus werden Bezeichnungen und Knotenelektor verwendet, um zu steuern, welcher POD auf einem bestimmten Knoten geplant werden soll. Wenn Sie die Beschriftungen und den Knotenelektor verwenden, kennzeichnen Sie den Knoten zuerst, damit die Schoten nicht abgeschaltet werden, und fügen Sie den Knotenselektor dem Pod hinzu. Um einen bestimmten Pod auf einen bestimmten Knoten zu legen. Der Projektknotenelektor wird verwendet, um den neuen Pod auf einen bestimmten Knoten in das Projekt zu setzen.

Voraussetzungen

Um den Kubernetes -Knosporteur zu verwenden, stellen Sie sicher, dass in Ihrem System die folgenden Tools installiert sind:

  • Ubuntu 20.04 oder eine andere neueste Version
  • Minikube -Cluster mit mindestens einem Arbeiterknoten
  • Kubectl -Befehlszeilenwerkzeug

Jetzt wechseln wir zum nächsten Abschnitt, in dem wir demonstrieren, wie Sie den Knotenauswahl auf einem Kubernetes -Cluster verwenden können.

Knotenauswahlkonfiguration in Kubernetes

Ein Pod kann beschränkt werden, nur in der Lage zu sein, auf einem bestimmten Knoten mithilfe des Knotenselektors ausgeführt zu werden. Der Knotenelektor ist eine Knotenauswahlbeschränkung, die in der POD -Spezifikations -Podspec angegeben ist. In einfachen Worten ist der Knotenselektor eine Planungsfunktion, mit der Sie die Kontrolle über den Pod haben, um den Pod auf einem Knoten mit derselben Beschriftung für die Knotenseleme -Beschriftung zu planen. Um den Knospor in Kubernetes zu verwenden oder zu konfigurieren, benötigen Sie den Minikube -Cluster. Starten Sie den Minikube -Cluster mit dem unten angegebenen Befehl:

> Minikube Start

Nachdem der Minikube -Cluster erfolgreich gestartet wurde, können wir mit der Implementierung der Konfiguration des Knotenselektors in Kubernetes beginnen. In diesem Dokument führen wir Sie zum Erstellen von zwei Bereitstellungen. Einer ist ohne Knotenauswahl und der andere mit dem Knotenselektor.

Konfigurieren Sie die Bereitstellung ohne Knotenauswahl

Zunächst werden wir die Details aller Knoten extrahieren, die derzeit im Cluster aktiv sind, indem wir den unten angegebenen Befehl verwenden:

> kubectl Holen Sie sich Knoten

In diesem Befehl werden alle im Cluster vorhandenen Knoten mit den Details der Parameter Name, Status, Rollen, Alter und Versionsversion aufgelistet. Siehe den unten angegebenen Beispielausgang:

Jetzt werden wir überprüfen, welche Mächte auf den Knoten im Cluster aktiv sind, damit wir planen, die Pods auf dem Knoten entsprechend bereitzustellen. Der unten angegebene Befehl soll verwendet werden. Auf dem Knoten sollten keine Verdichtungen aktiv. Lassen Sie uns also sehen, welche Taints im Cluster aktiv sind, indem wir den folgenden Befehl ausführen:

> Kubectl beschreiben Knoten Minikube | Grep Taint

Aus der oben angegebenen Ausgabe können wir feststellen, dass auf dem Knoten keinen Makel angewendet wird, genau genau das, was wir brauchen, um die Pods auf dem Knoten bereitzustellen. Der nächste Schritt besteht nun darin, eine Bereitstellung zu erstellen, ohne einen Knotenselektor anzugeben. Wir werden eine YAML -Datei verwenden, in der wir die Knotenauswahlkonfiguration speichern werden. Der hier angehängte Befehl wird für die Erstellung der YAML -Datei verwendet:

> Nano Deplond.Yaml

Hier versuchen wir, eine YAML -Datei namens Deplond zu erstellen.Yaml mit dem Nano -Befehl.

Nachdem wir diesen Befehl ausführen, werden wir eine Erschöpfung haben.YAML -Datei, in der wir die Bereitstellungskonfiguration speichern. Siehe die unten angegebene Bereitstellungskonfiguration:

Jetzt erstellen wir die Bereitstellung mit der Bereitstellungskonfigurationsdatei. Der Deplond.Die YAML -Datei wird zusammen mit dem Befehl 'erstellen' verwendet, um die Konfiguration zu erstellen. Siehe den unten angegebenen vollständigen Befehl:

> kubectl erstellen -f Deplond.Yaml

Wie oben gezeigt, wurde die Bereitstellung erfolgreich erstellt, jedoch ohne Knotenselektor. Lassen Sie uns nun die Knoten überprüfen, die bereits im Cluster verfügbar sind, mit dem unten angegebenen Befehl:

> kubectl bekommen Pods

Dadurch werden alle im Cluster verfügbaren Schoten aufgeführt. Siehe die unten angegebene Ausgabe:

Als nächstes müssen wir die Anzahl der Repliken ändern, die durch Bearbeiten des Deplonds durchgeführt werden können.YAML -Datei. Öffne einfach den Deplond.YAML -Datei und bearbeiten Sie den Wert von Replikaten. Hier ändern wir die Repliken: 3 in Repliken: 30. Siehe die Änderung im unten angegebenen Schnappschuss:

Jetzt müssen die Änderungen auf die Bereitstellung aus der Deployment -Definitionsdatei angewendet werden. Dies kann mit dem folgenden Befehl erfolgen:

> kubectl anwenden -f Deplond.Yaml

Lassen Sie uns nun weitere Details der Pods unter Verwendung der Option -o -breite Option überprüfen:

> kubectl bekommen Pods -o breit

Aus der oben angegebenen Ausgabe können wir feststellen, dass die neuen Knoten auf dem Knoten erstellt und geplant wurden, da auf dem Knoten, den wir aus dem Cluster verwenden. Daher müssen wir ausdrücklich einen Makel aktivieren, um sicherzustellen, dass die Pods nur auf dem gewünschten Knoten geplant werden. Dafür müssen wir das Etikett auf dem Masterknoten erstellen:

> Kubectl-Etikettenknoten Master On-Master = True

Konfigurieren Sie die Bereitstellung mit Knosporteur

Um die Bereitstellung mit einem Knotenselektor zu konfigurieren, werden wir denselben Prozess befolgen, der für die Konfiguration der Bereitstellung ohne Knotenauswahl befolgt wurde.

Zunächst erstellen wir eine YAML -Datei mit dem Befehl "Nano", in dem wir die Konfiguration der Bereitstellung speichern müssen.

> Nano nd.Yaml

Speichern Sie nun die Bereitstellungsdefinition in der Datei. Sie können beide Konfigurationsdateien vergleichen, um den Unterschied zwischen den Konfigurationsdefinitionen anzuzeigen.

Erstellen Sie nun die Bereitstellung des Knotenauswahl mit dem unten angegebenen Befehl:

> kubectl erstellen -f nd.Yaml

Nutzen Sie die Details der Schoten mit der Wide Flag: -o -Flag:

> kubectl bekommen Pods -o breit

Aus der oben angegebenen Ausgabe können wir feststellen, dass die Schoten auf dem Minikube -Knoten eingesetzt werden. Ändern wir die Anzahl der Repliken, um zu überprüfen, wo die neuen Pods im Cluster bereitgestellt werden.

Wenden Sie die neuen Änderungen in der Bereitstellung an, indem Sie den folgenden Befehl verwenden:

> kubectl anwenden -f nd.Yaml

Abschluss

In diesem Artikel hatten wir einen Überblick über die Konfigurationsbeschränkung der KnoteneLector in Kubernetes. Wir haben gelernt, was ein Knotenselektor in Kubernetes ist, und mit Hilfe eines einfachen Szenarios haben wir gelernt, wie man eine Bereitstellung mit und ohne Knotenauswahlkonfigurationsbeschränkungen erstellt. Sie können auf diesen Artikel verweisen, wenn Sie neu im Knospektorkonzept sind und alle relevanten Informationen finden.