gcloud GKE startet Pods neu, wenn ein Knotenpool hinzugefügt wird

gcloud GKE startet Pods neu, wenn ein Knotenpool hinzugefügt wird

Wir verwenden die GCloud Kubernetes Engine für die Entwicklung von Algorithmen für maschinelles Lernen. Wir richten einen Cluster mit einem Pod für die Codeentwicklung ein und starten dann einen temporären Knotenpool mit 256 präemptiven Minions, um den Algorithmus an unserem Datensatz zu testen. Ein Entwickler meldet sich per SSH beim Entwicklungs-Pod an, bearbeitet den Code und führt dann einen Kubernetes-Job im Minion-Pool aus.

Das Problem ist, dass beim Erstellen des Minions-Knotenpools die Entwicklungs-Pods im Standardpool häufig (nicht immer) beendet und neu gestartet werden. Warum? Normalerweise dauert es etwa 3–5 Minuten, bis der Minion-Knotenpool gestartet wird. Es scheint, als müsste gcloud den Standard-Knotenpool aktualisieren, um den Minions-Knotenpool unterzubringen. Gibt es eine Möglichkeit, den Cluster vorab zuzuweisen, um den Neustart zu vermeiden oder die Startzeit für die Minions zu verkürzen?

Hier sind die Befehle, die ich verwende:

  1. Erstellen Sie den ersten Cluster:

    gcloud beta container clusters create $CLUSTER_NAME \
            --machine-type=n1-highmem-4 \
            --min-cpu-platform="Intel Sandy Bridge" \
            --num-nodes=1 \
            --enable-autoscaling \
            --min-nodes=1 \
            --max-nodes=4 \
            --disk-size=50 \
            --node-labels=algoalpha=control \
            --scopes=cloud-platform,cloud-source-repos-ro   
    

    Cluster-Skript erstellen:https://gist.github.com/4590040f27f3cf17562baae5ae245b60

  2. Erschaffe die Schergen

    gcloud beta container node-pools create algoalpha-minions \
           --cluster $CLUSTER_NAME \
           --enable-autoscaling \
           --num-nodes=$NUM_NODES \
           --min-nodes=0 \
           --max-nodes=$((NUM_NODES * 2)) \
           --preemptible \
           --machine-type=n1-highmem-16 \
           --disk-size=20 \
           --min-cpu-platform="Intel Sandy Bridge" \
           --node-labels=algoalpha=minion \
           --node-taints=cloud.google.com/gke-preemptible="true":NoSchedule
    

    Minions-Skript erstellen:https://gist.github.com/1391658975d3a28444ac823233c334da

Gibt es eine bessere Möglichkeit, dies zu tun?

verwandte Informationen