gcloud GKE はノードプールを追加するとポッドを再起動します

gcloud GKE はノードプールを追加するとポッドを再起動します

機械学習アルゴリズムの開発には、gcloud kubernetes エンジンを使用しています。コード開発用に 1 つのポッドを含むクラスタをセットアップし、256 個のプリエンプティブ ミニオンを含む一時的なノード プールを開始して、データ セットでアルゴリズムをテストします。開発者は開発ポッドに ssh で接続し、コードを編集してから、ミニオン プールで kuberenetes ジョブを実行します。

問題は、ミニオン ノード プールを作成すると、デフォルト プールの開発ポッドが頻繁に (常にではないが) 強制終了され、再起動されることです。なぜでしょうか。通常、ミニオン ノード プールが起動するまでに約 3 ~ 5 分かかります。gcloud は、ミニオン ノード プールに対応するために、デフォルト ノード プールをアップグレードする必要があるようです。再起動を回避するためにクラスターを事前割り当てする方法、またはミニオンの起動時間を短縮する方法はありますか。

私が使用しているコマンドは次のとおりです。

  1. 初期クラスターを作成します。

    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   
    

    クラスタースクリプトを作成します:出典: github.com

  2. ミニオンを作成する

    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
    

    ミニオンスクリプトの作成:出典: github.com

これを行うより良い方法はありますか?

関連情報