우리는 머신러닝 알고리즘 개발을 위해 gcloud kubernetes 엔진을 사용하고 있습니다. 코드 개발을 위해 하나의 포드로 클러스터를 설정한 다음 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
클러스터 스크립트를 생성합니다:https://gist.github.com/4590040f27f3cf17562baae5ae245b60
미니언을 만들어라
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
미니언 스크립트 생성:https://gist.github.com/1391658975d3a28444ac823233c334da
이를 수행하는 더 좋은 방법이 있습니까?