ฉันต้องการใช้การจัดสรรอัตโนมัติของโหนด GKE เพื่อสร้าง Node-pool ที่มี GPU ตามความต้องการ (นั่นคือตอนที่ฉันเริ่มงานที่ต้องการทรัพยากร GPU)
ไปกับบทช่วยสอน GCP ฉันได้ตั้งค่าคลัสเตอร์โดยเปิดใช้งาน การปรับขนาดอัตโนมัติของคลัสเตอร์
และ การจัดเตรียมโหนดอัตโนมัติ
. NAP ได้ตั้งค่าขีดจำกัดสำหรับ CPU, หน่วยความจำ และ GPU:
ขีด จำกัด ของทรัพยากร:
- สูงสุด: '15'
ขั้นต่ำ: '1'
ประเภททรัพยากร: ซีพียู
- สูงสุด: '150'
ขั้นต่ำ: '1'
ประเภททรัพยากร: หน่วยความจำ
- สูงสุด: '2'
ประเภททรัพยากร: nvidia-tesla-k80
ฉันรู้ว่า NAP ใช้งานได้เพราะมันปั่นโหนดให้ฉันแล้ว แต่ทั้งหมดนั้นเป็น "โหนดปกติ" (ไม่มี GPU)
ตอนนี้เพื่อ "บังคับ" NAP ให้สร้าง node-pool ด้วยเครื่อง GPU ก่อนหน้านั้นไม่มีโหนด GPU บนคลัสเตอร์ในการทำเช่นนั้น ฉันกำลังสร้างงานด้วยไฟล์การกำหนดค่าดังกล่าว:
apiVersion: ชุด/v1
ชนิด: งาน
ข้อมูลเมตา:
ชื่อ: ฝึกอบรม-งาน
ข้อมูลจำเพาะ:
ttl วินาทีหลังจากเสร็จสิ้น: 100
แม่แบบ:
ข้อมูลเมตา:
ชื่อ: ฝึกอบรม-งาน
ข้อมูลจำเพาะ:
ตัวเลือกโหนด:
GPU: "จริง"
cloud.google.com/gke-spot: "จริง"
cloud.google.com/gke-accelerator: nvidia-tesla-k80
ความอดทน:
- รหัส: cloud.google.com/gke-spot
ตัวดำเนินการ: เท่ากัน
ค่า: "จริง"
เอฟเฟกต์: NoSchedule
ตู้คอนเทนเนอร์:
- ชื่อ: การทดสอบ GPU
รูปภาพ: przomys/gpu-test
ทรัพยากร:
คำขอ:
ซีพียู: 500 ม
ขีด จำกัด :
nvidia.com/gpu: 2 # ขอ 2 GPU
restartPolicy: Never # อย่ารีสตาร์ทคอนเทนเนอร์หลังจากออก
กำลังสร้างงาน แต่ถูกทำเครื่องหมายว่า "ไม่สามารถกำหนดเวลาได้" และ CA Log ทำให้ฉันมีข้อผิดพลาดดังกล่าว:
{
"noDecisionStatus": {
"measureTime": "1650370630",
"noScaleUp": {
"ไม่ได้จัดการ PodGroups": [
{
"rejectedMigs": [
{
"เหตุผล": {
"messageId": "no.scale.up.mig.failing.เพรดิเคต",
"พารามิเตอร์": [
"โหนดแอฟฟินิตี้",
"โหนดไม่ตรงกับความสัมพันธ์/ตัวเลือกโหนดของ Pod"
]
},
"มิก": {
"โซน": "us-central1-c",
"nodepool": "พูล-3",
"ชื่อ": "gke-คลัสเตอร์-activeid-pool-3-af526144-grp"
}
},
{
"มิก": {
"ชื่อ": "gke-cluster-activeid-nap-e2-standard--c7a4d4f1-grp",
"โซน": "us-central1-c",
"nodepool": "งีบ-e2-มาตรฐาน-2-w52e84k8"
},
"เหตุผล": {
"พารามิเตอร์": [
"โหนดแอฟฟินิตี้",
"โหนดไม่ตรงกับความสัมพันธ์/ตัวเลือกโหนดของ Pod"
]
"messageId": "no.scale.up.mig.failing.เพรดิเคต"
}
}
]
"napFailureReasons": [
{
"พารามิเตอร์": [
"GPU ใดๆ"
]
"messageId": "no.scale.up.nap.pod.gpu.no.limit.defined"
}
]
"podGroup": {
"totalPodCount": 1,
"samplePod": {
"ตัวควบคุม": {
"apiVersion": "แบทช์/v1",
"ชนิด": "งาน",
"ชื่อ": "งานฝึกอบรม"
},
"เนมสเปซ": "ค่าเริ่มต้น",
"ชื่อ": "การฝึกอบรมงาน-7k8zd"
}
}
}
]
"ไม่จัดการ PodGroupsTotalCount": 1
}
}
}
ฉันเดาว่า no.scale.up.nap.pod.gpu.no.limit.defined เป็นส่วนสำคัญที่สุด กวดวิชา GCP ชี้ให้ฉัน ที่นี่. แต่ฉันมีขีดจำกัดนี้กำหนดไว้ ดังนั้นฉันจึงคิดไม่ออก...
อาจมีคนรู้ว่าฉันทำอะไรผิด?