機械学習アルゴリズムの開発には、gcloud kubernetes エンジンを使用しています。コード開発用に 1 つのポッドを含むクラスタをセットアップし、256 個のプリエンプティブ ミニオンを含む一時的なノード プールを開始して、データ セットでアルゴリズムをテストします。開発者は開発ポッドに ssh で接続し、コードを編集してから、ミニオン プールで kuberenetes ジョブを実行します。
問題は、ミニオン ノード プールを作成すると、デフォルト プールの開発ポッドが頻繁に (常にではないが) 強制終了され、再起動されることです。なぜでしょうか。通常、ミニオン ノード プールが起動するまでに約 3 ~ 5 分かかります。gcloud は、ミニオン ノード プールに対応するために、デフォルト ノード プールをアップグレードする必要があるようです。再起動を回避するためにクラスターを事前割り当てする方法、またはミニオンの起動時間を短縮する方法はありますか。
私が使用しているコマンドは次のとおりです。
初期クラスターを作成します。
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
ミニオンを作成する
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
これを行うより良い方法はありますか?