Verwalten der Pod-Platzierung

ArcGIS 11.5 | |  Help archive

In Kubernetes werden neu erstellte und nicht geplante Pods automatisch auf Knoten geplant, die ihren Anforderungen entsprechen. Durch die Verwendung von Knotenaffinität, Taints und Toleranzen haben Sie mehr Kontrolle über die Knoten, für die Pods geplant werden. In ArcGIS Enterprise on Kubernetes können Sie die Platzierung von GIS-, System- und Utility-Service-Pods über ArcGIS Enterprise Manager verwalten.

Mit Knotenaffinität können Sie Regeln festlegen, die die Ausführung von Pods auf bestimmte beschriftete Knoten beschränken. Taints werden auf Knoten angewendet, damit diese Pods nicht akzeptieren, während Toleranzen auf Pods angewendet werden, damit diese Taints tolerieren. Weitere Informationen finden Sie in der Dokumentation zu Kubernetes.

Die Kombination aus Knotenaffinität, Taints und Toleranzen ermöglicht eine granulare Steuerung der Arbeitslast-Platzierung, um die Isolation zu verbessern, die Ressourcenzuweisung zu optimieren und den Compliance-Anforderungen innerhalb des Kubernetes-Clusters effektiv gerecht zu werden:

  • Isolieren von Arbeitslasten mit spezialisierten Anforderungen: Verwenden Sie Beschriftungen und Knotenaffinitätsregeln, um sicherzustellen, dass bestimmte Pods auf dedizierten Knoten geplant werden. Verwenden Sie Taints, um Knoten mit bestimmten Eigenschaften, z. B. hohen CPU- oder Speicheranforderungen, als dedizierte Knoten für ArcGIS-Arbeitslasten zu markieren. Wenden Sie Toleranzen auf Service-Pods an, um sicherzustellen, dass sie auf Knoten mit den erforderlichen Ressourcen geplant werden.
  • Optimieren der Ressourcenzuweisung: Wenden Sie Taints auf Knoten mit begrenzten Ressourcen an, um eine Überlastung der Ressourcen zu verhindern, und definieren Sie Toleranzen für Service-Pods, die den Ressourcenbeschränkungen auf diesen Knoten entsprechen. Kombinieren Sie Knotenaffinität mit Taints und Toleranzen, um sicherzustellen, dass Service-Pods nur auf Knoten geplant werden, die den entsprechenden Ressourcenanforderungen gerecht werden.
  • Auf Geolokalisierung basierende Planung: Für Anwendungen, die Datenlokalität oder die Einhaltung spezifischer Bestimmungen erfordern, verwenden Sie Knotenaffinität, um Service-Pods basierend auf der geographischen Position von Knoten zu planen. Wenden Sie Taints basierend auf der physischen Position von Knoten oder basierend auf Bestimmungen zur Datenhoheit an, und wenden Sie Toleranzen auf Service-Pods an, um sicherzustellen, dass sie auf Knoten geplant werden und mit den erforderlichen Positionsbeschränkungen kompatibel sind.

Automatische Skalierung verbessert die Verwendung von Knotenaffinität und Toleranzen, indem die Anzahl der Pods dynamisch an die Arbeitslastanforderungen angepasst wird. Durch diese dynamische Skalierung wird sichergestellt, dass Pods effizient auf Knoten geplant werden, die bestimmte Anforderungen erfüllen oder über die erforderlichen Ressourcen verfügen, wodurch die Ressourcenzuweisung optimiert wird. Durch Kombination von automatischer Skalierung mit Knotenaffinität und -toleranzen kann für Kubernetes-Cluster eine bessere Ressourcenauslastung, Performance und Skalierbarkeit erreicht werden. Dies ermöglicht die Anpassung an schwankende Arbeitslasten unter Einhaltung von Knotenbeschränkungen und -präferenzen. Weitere Informationen zur automatischen Skalierung finden Sie unter Service-Skalierung.

Szenarien

Die folgenden Szenarien veranschaulichen, wie Ihre Organisation von der Verwaltung der Pod-Platzierung für Services profitieren kann.

Szenario 1: Saisonaler Anstieg des Datenverkehrs bei öffentlichen Kartenerstellungsservices

Eine öffentliche Organisation verzeichnet während eines örtlichen Festivals eine erhebliche Zunahme des Datenverkehrs. Beim Zugriff auf die Webkarte mit Informationen zur Veranstaltung kommt es zu Verzögerungen durch die hohe Nachfrage beim zugrunde liegenden Kartenservice. Um dieser Situation gerecht zu werden, geht der Organsiationsadministrator folgendermaßen vor:

  • Er konfiguriert Knoten mit hohen CPU- und Speicherressourcen mit dem Schlüssel/Wert-Paar high-performance: true.
  • Er wendet Knotenaffinitätsregeln an, um sicherzustellen, dass die Kartenservice-Pods auf Knoten mit hohen CPU- und Speicherressourcen geplant werden:
    • Typ: Bevorzugt
    • Schlüssel: high-performance
    • Operator: Ist vorhanden
    • Wert: true
  • Er wendet Toleranzen an, um die Ausführung von Pods auf Knoten zu ermöglichen, auf die Taints für Arbeitslasten mit hoher Performance angewendet wurden, und stellt so sicher, dass der Kartenservice dem Anstieg des Datenverkehrs gerecht werden kann:
    • Effekt: NoSchedule
    • Schlüssel: workload
    • Operator: Gleich
    • Wert: high-performance
  • Er wendet Taints mit workload=high-performance:NoSchedule auf Knoten mit hoher Performance an.

Szenario 2: Datenverarbeitung für die Umweltüberwachung

Eine Umweltbehörde führt eine Reihe von räumlichen Analysen durch, um Änderungen bei der Flächennutzung zu überwachen. Die Analyse erfordert beträchtliche Rechenressourcen, und die Behörde hat zu diesem Zweck dedizierte Knoten mit GPUs bereitgestellt. Um sicherzustellen, dass die räumliche Analyse effektiv ausgeführt wird, ohne mit anderen Services um Ressourcen zu konkurrieren, geht der Organisationsadministrator folgendermaßen vor:

  • Er konfiguriert GPU-fähige Knoten mit dem Schlüssel/Wert-Paar gpu: true.
  • Er wendet Knotenaffinitätsregeln an, um die Analyse-Pods auf den GPU-Knoten zu planen:
    • Typ: Erforderlich
    • Schlüssel: gpu
    • Operator: In
    • Wert: true
  • Er wendet Toleranzen an, um die Ausführung von Pods auf den GPU-Knoten mit Taints zuzulassen:
    • Effekt: NoSchedule
    • Schlüssel: workload
    • Operator: Gleich
    • Wert: high-resource
  • Er wendet Taints auf GPU-Knoten mit workload=high-resource:NoSchedule an, um zu verhindern, dass weniger ressourcenintensive Pods dort geplant werden.

Szenario 3: Ressourcenoptimierung für freigegebene Feature-Services

Die GIS-Abteilung einer Stadt verfügt über zahlreiche Feature-Services, die zwar nicht intensiv genutzt werden, aber insgesamt eine einzelne Service-Bereitstellung belasten. Damit die Abteilung die Service-Verfügbarkeit aufrechterhalten kann, ohne das System zu überlasten, geht der Organisationsadministrator folgendermaßen vor:

  • Er konfiguriert Knoten mit dem Schlüssel resource-constrained.
  • Er wendet Knotenaffinitätsregeln an, um die Planung für Knoten mit geringerer Ressourcenverfügbarkeit zu priorisieren:
    • Typ: Bevorzugt
    • Schlüssel: resource-constrained
    • Operator: DoesNotExist
  • Er wendet Toleranzen auf Feature-Service-Pods an, um sicherzustellen, dass diese trotz der Beschränkungen auf Knoten mit Taints geplant werden können:
    • Effekt: PreferNoSchedule
    • Schlüssel: resource-constrained
    • Operator: Ist vorhanden
  • Er wendet mit resource-constrained:PreferNoSchedule Taints auf Knoten mit Ressourceneinschränkungen an.

Verwalten der Pod-Platzierung

Der folgende Workflow beschreibt die Schritte zur Anwendung von Knotenaffinitätsregeln und Toleranzen auf Service-Pods von ArcGIS Enterprise Manager Es wird empfohlen, Toleranzen anzuwenden, bevor die Knotengruppen mit Taints gekennzeichnet werden. Auf diese Weise vermeiden Sie, dass Pods, die noch nicht über passende Toleranzen verfügen, unbeabsichtigt abgewiesen werden, was zu einer Unterbrechung Ihrer Services führen würde.

Hinweis:

In den meisten Umgebungen können Sie die Arbeitslasten mithilfe von Knotenpools oder Knotengruppen gruppieren. Es wird empfohlen, in diesem Workflow Beschriftungen und Taints auf Gruppen von Knoten und nicht auf einzelne Knoten anzuwenden.

Führen Sie die folgenden Schritte aus, um Knotenaffinitätsregeln und Toleranzen für GIS-, System- und Utility-Service-Pods festzulegen:

  1. Melden Sie sich bei ArcGIS Enterprise Manager als Administrator an.
  2. Klicken Sie auf die Schaltfläche Services auf der Seitenleiste.
  3. Wählen Sie den Service aus, den Sie verwalten möchten, und klicken Sie auf die Registerkarte Pod-Platzierung.
  4. Um Pods eine Knotenaffinitätsregel hinzuzufügen, geben Sie im Abschnitt Knotenaffinität die folgenden Informationen an, und klicken Sie auf Hinzufügen:
    • Typ: Der Typ der Knotenaffinität. Folgende Typen sind verfügbar:
      • Bevorzugt (PreferredDuringSchedulingIgnoredDuringExecution): Der Pod wird bevorzugt auf einem Knoten geplant, der die Regel erfüllt.
      • Erforderlich (RequiredDuringSchedulingIgnoredDuringExecution): Der Pod muss auf einem Knoten geplant werden, der die Regel erfüllt.
    • Schlüssel: Der Schlüssel der Knotenbeschriftung oder -annotation, auf den die Regel zutreffen soll.
    • Operator: Der Operator für die Regel. Die folgenden Operatoren sind verfügbar:
      • In: Die Knotenbeschriftung oder -annotation muss in der Liste der angegebenen Werte enthalten sein.
      • Nicht in: Die Knotenbeschriftung oder -annotation darf nicht in der Liste der angegebenen Werte enthalten sein.
      • Ist vorhanden: Der Knoten muss die angegebene Beschriftung oder Annotation aufweisen.
      • Ist nicht vorhanden: Der Knoten darf die angegebene Beschriftung oder Annotation nicht aufweisen.
    • Wert: Die Liste der Werte, die mit der Knotenbeschriftung oder -annotation abgeglichen werden sollen.
  5. Um Pods Toleranzen hinzuzufügen, geben Sie im Abschnitt Toleranzen die folgenden Informationen an, und klicken Sie auf Hinzufügen:
    • Effekt: Der Taint-Effekt, dem die Toleranz entsprechen muss. Folgende Effekte sind verfügbar:
      • NoSchedule: Neue Pods werden nicht auf dem Knoten mit Taint geplant, wenn keine übereinstimmende Toleranz vorhanden ist.
      • PreferNoSchedule: Das Planen neuer Pods auf dem Knoten mit Taint ohne übereinstimmende Toleranz wird nach Möglichkeit vermieden, dies wird jedoch nicht garantiert.
      • Keine Ausführung :Alle Pods ohne passende Toleranz werden sofort abgewiesen, nachdem der Knoten mit einem Taint gekennzeichnet wurde. NoSchedule: Neue Pods werden nicht auf dem Knoten mit Taint geplant, wenn keine übereinstimmende Toleranz vorhanden ist.
    • Schlüssel: Der Schlüssel des Taint, mit dem die Toleranz übereinstimmen muss.
    • Operator: Der für die Toleranz zu verwendende Operator. Die folgenden Operatoren sind verfügbar:
      • Gleich: Der Pod toleriert einen Taint mit dem angegebenen Schlüssel und Wert.
      • Ist vorhanden: Der Pod toleriert jeden Taint mit dem angegebenen Schlüssel.
    • Wert: Der Wert des Taint, mit dem die Toleranz übereinstimmen muss, wenn für die Operation "Gleich" festgelegt ist.
  6. Klicken Sie auf Speichern.

    Um Knotenaffinitätsregeln und Toleranzen zu bearbeiten, klicken Sie auf die Schaltfläche Bearbeiten Bearbeiten neben jeder Auflistung. Zum Löschen klicken Sie auf die Schaltfläche Löschen Löschen.

    Hinweis:

    Pods, die bereits auf Knoten ausgeführt werden, werden nicht entfernt, wenn eine Änderung vorgenommen wird und die Regel oder die Toleranz nicht mehr erfüllt ist.