Auf dieser Seite wird beschrieben, wie Sie Arbeitslasten in Google Kubernetes Engine-Clustern (GKE) mithilfe von schnell startenden Knoten schneller bereitstellen und skalieren können. Knoten mit schnellem Start werden in GKE mit Autopilot-Modus nach dem Best-Effort-Prinzip verwendet, wenn Arbeitslasten kompatible Konfigurationen verwenden.
GKE-Knoten mit schnellem Start haben eine deutlich geringere Startzeit für kompatible Maschinenfamilien. Die verkürzte Startzeit bietet folgende Vorteile:
- Schnellerer Kaltstart
- Schnelleres Autoscaling
- Verbesserte Langzeitlatenz bei der Pod-Planung
- Verbesserte Kosteneffizienz der Infrastruktur
Bei Knoten mit schnellem Start werden Hardware-Ressourcen in GKE vorinitialisiert, um die Startzeit zu verkürzen. Die vorinitialisierten Ressourcen sind nach dem Best-Effort-Prinzip verfügbar. Anfragen bei hoher Nachfrage werden möglicherweise nur teilweise bearbeitet. Ohne schnell startende Knoten werden Ressourcen bei Bedarf initialisiert und Knoten werden mit der normalen Startzeit bereitgestellt.
Voraussetzungen
Für Knoten mit Schnellstart ist keine zusätzliche Konfiguration erforderlich. GKE verwendet automatisch schnell startende Knoten, wenn Ihre Arbeitslasten kompatible Konfigurationen verwenden. Sie müssen alle folgenden Anforderungen erfüllen, um Knoten mit schnellem Start verwenden zu können:
- Autopilot-Cluster verwenden.
- Verwenden Sie eine beliebige Version im Rapid Release Channel.
Verwenden Sie eine der folgenden kompatiblen Computeressourcen mit einer maximalen kompatiblen Bootlaufwerkgröße von 500 GiB:
- NVIDIA L4-GPUs (G2-Maschinenserie)
Verwenden Sie den Bootlaufwerktyp
pd-balanced
.Verwenden Sie keine Funktionen, die mit schnell startenden Knoten inkompatibel sind. Weitere Informationen finden Sie unter Einschränkungen.
Beschränkungen
Die folgenden Funktionen sind nicht mit schnell startenden GKE-Knoten kompatibel. Wenn Sie eine dieser Funktionen verwenden, stellt GKE Knoten mit der typischen Startzeit bereit:
- Vom Kunden verwaltete Verschlüsselungsschlüssel (Customer-Managed Encryption Keys, CMEK)
- Spot-VMs
- Lokale SSDs
- Richtlinien für Placements
- Unterstützung mehrerer Netzwerke
Autopilot-GPU-Arbeitslasten
Wenn Sie kompatible GPUs in Ihren Autopilot-Clustern anfordern, ist die Startzeit von Knoten bis zu viermal und die Planungszeit von Pods bis zu zweimal schneller als bei ähnlichen Anfragen in GKE Standard-Clustern, da die Autopilot-GPU-Arbeitslasten Knoten mit schnellem Start verwenden können.
Im Folgenden finden Sie einige Anwendungsbeispiele. Alle Pods, die die Bedingungen im Abschnitt Anforderungen erfüllen, sind jedoch mit schnell startenden Knoten kompatibel.
ComputeClass
Fordern Sie einen kompatiblen Beschleunigertyp und eine kompatible Anzahl in einer ComputeClass an, wie im folgenden Beispiel:
apiVersion: cloud.google.com/v1
kind: ComputeClass
metadata:
name: ACCELERATOR_COMPUTE_CLASS_NAME
spec:
priorities:
- gpu:
type: ACCELERATOR_TYPE
count: ACCELERATOR_COUNT
nodePoolAutoCreation:
enabled: true
Wenn Sie diese ComputeClass in einem Pod auswählen, wie im folgenden Beispiel, verwendet GKE schnell startende Knoten:
apiVersion: v1
kind: Pod
metadata:
name: POD_NAME
spec:
nodeSelector:
# Select a ComputeClass that requests compatible GPUs
cloud.google.com/compute-class: ACCELERATOR_COMPUTE_CLASS_NAME
containers:
- name: my-container
image: gcr.io/google_containers/pause
resources:
limits:
nvidia.com/gpu: ACCELERATOR_COUNT
Ersetzen Sie die folgenden Werte:
ACCELERATOR_COMPUTE_CLASS_NAME
: Der Name der ComputeClass, die die Beschleuniger anfordert.ACCELERATOR_TYPE
: der Typ des Beschleunigers.ACCELERATOR_COUNT
: Die Anzahl der Beschleuniger, die für den Pod erforderlich sind. Dieser Wert muss kleiner oder gleich dem Wert im Feldspec.priorities.gpu.count
in der ComputeClass sein.POD_NAME
: der Name Ihres Pods.
Weitere Informationen zu ComputeClass finden Sie unter Benutzerdefinierte Compute-Klassen.
Pod-Spezifikation
Wählen Sie in Ihrer Pod-Spezifikation einen kompatiblen Beschleunigertyp und eine kompatible Anzahl aus, wie im folgenden Beispiel:
apiVersion: v1
kind: Pod
metadata:
name: POD_NAME
spec:
nodeSelector:
cloud.google.com/gke-accelerator: ACCELERATOR_NAME
containers:
- name: my-container
image: gcr.io/google_containers/pause
resources:
limits:
nvidia.com/gpu: ACCELERATOR_COUNT
Ersetzen Sie die folgenden Werte:
POD_NAME
: der Name Ihres Pods.ACCELERATOR_NAME
: Der Name des Beschleunigers, der für den Pod erforderlich ist.ACCELERATOR_COUNT
: Die Anzahl der Beschleuniger, die für den Pod erforderlich sind.
Preise
Schnell startende Knoten sind in GKE Autopilot ohne Aufpreis verfügbar. Weitere Informationen zu den Preisen für GKE Autopilot finden Sie im Abschnitt „Autopilot-Modus“ unter Preise für Google Kubernetes Engine.
Nächste Schritte
- Informationen zur containeroptimierten Autopilot-Compute-Plattform
- Benutzerdefinierte Compute-Klassen
- Leistungsübersicht für Persistent Disk