Kubernetes: k8s: v1.3.10 , bagaimana cara menggunakan gpu, untuk menjalankan container di gpu?

Dibuat pada 27 Feb 2017  ·  3Komentar  ·  Sumber: kubernetes/kubernetes

sekarang saya memiliki hampir satu minggu untuk mengerjakan pertanyaan ini. tapi saya gagal.
lingkungan: redhat7.2
k8s:v1.3.10 cuda :v7.5 versi kernel ensorflow:0.11 gpu:1080
platform kami berdasarkan tensorflow dan k8s。ini untuk pelatihan tentang ML.
ketika menggunakan cpu, tidak apa-apa, tetapi tidak dapat bekerja di gpu, saya ingin tahu mengapa.
saya menguji banyak contoh yang Anda katakan, tetapi masih gagal
cluster saya: 1 master 2 node. setiap node memiliki kartu gpu, hanya master yang tidak
pertama saya tes seperti kata @Hui-Zhi:

vim  test.yaml
apiVersion: v1
kind: Pod
metadata:
  name: nvidia-gpu-test
spec:
  containers:
  - name: nvidia-gpu
    image: nginx
    resources:
      limits:
        alpha.kubernetes.io/nvidia-gpu: 1

ya, saya menguji, dan berhasil. jika saya mengubah nvidia-gpu: 1 ke 2, gagal. penyimpanan pod tertunda. dan jelaskan ditemukan: tidak ada simpul yang dapat memenuhi ini. Karena setiap simpul hanya memiliki satu kartu gpu, saya pikir itu berfungsi.
tetapi pertanyaan akan datang: bagaimana cara berjalan di gpu? contoh ini hanya membuktikan bahwa k8s bisa mendapatkan gpu, dan tahu gpu, tapi bagaimana menjalankannya? bagaimana saya bisa menggunakan file yaml untuk membuat satu pod berjalan di sumber daya gpu?

kemudian, saya menemukan cara lain: nvidia-docker
saya menarik gpu-image: gcr.io/tensorflow/t ensorflow:0.11-gpu , dan menjalankan demo mnist.py menurut buruh pelabuhan, buruh pelabuhan run -it ${image} /bin/bash
tapi gagal. sesuatu kesalahan seperti "tidak dapat membuka perpustakaan CUDA libcuda.so, tidak dapat menemukan libcuda.so",
Apakah seseorang pernah mengalami masalah yang sama?
kemudian saya menemukan bahwa seseorang berkata: gpu perlu menggunakan nvidia-docker
untungnya saya menginstal sebagai tensorflow: https://www.tensorflow.org/install/install_linux#gpu_support berkata, menurut nvidia-docker saya menemukan pelatihan saya berjalan di gpu, dan memori gpu hampir 7g, hampir 70%
saya menjalankan seperti ini: nvidia-docker run -it ${image} /bin/bash
python mnist.py
ya, itu berhasil. tetapi pertanyaan baru datang: haruskah saya menggunakan buruh pelabuhan untuk berjalan di cpu, dan nvidia-docker di gpu? saya hanya menjalankan gpu hanya di docker , mungkin nvidia-docker, tetapi bagaimana menjalankan gpu di k8s.
wadah k8s menggunakan buruh pelabuhan tetapi bukan nvidia-docker, jadi bagaimana saya bisa melakukan ini dengan cara yang sama, dapatkah Anda membantu saya? saya ingin tahu cara menjalankan gpu di k8s, bukan hanya demo atau uji yaml untuk membuktikan k8s mendukung gpu.
semoga bisa di jawab, ditunggu ya....
Terima kasih.

Komentar yang paling membantu

saya baru saja menguji, itu berhasil. volume yang saya pasang salah sebelumnya. yaml baru saya gunakan seperti di bawah ini

apiVersion: v1
kind: Pod
metadata:
  name: gpu-test
spec:
  volumes:
  - name: nvidia-driver
    hostPath:
      path: /var/lib/nvidia-docker/volumes/nvidia_driver/367.44
  containers:
  - name: tensorflow
    image: tensorflow:0.11.0-gpu
    ports:
    - containerPort: 8000
    resources:
      limits:
        alpha.kubernetes.io/nvidia-gpu: 1
    volumeMounts:
    - name: nvidia-driver
      mountPath: /usr/local/nvidia/
      readOnly: true

saya memecahkan masalah saya, terima kasih

Semua 3 komentar

@tbchj #42116 sekarang digabungkan dan harus dirilis dengan 1.6

@cmluciano ya, terima kasih, mungkin Anda benar. saya baru saja membaca #42116 sepenuhnya, sepertinya ada sesuatu yang saya butuhkan.

saya baru saja menguji, itu berhasil. volume yang saya pasang salah sebelumnya. yaml baru saya gunakan seperti di bawah ini

apiVersion: v1
kind: Pod
metadata:
  name: gpu-test
spec:
  volumes:
  - name: nvidia-driver
    hostPath:
      path: /var/lib/nvidia-docker/volumes/nvidia_driver/367.44
  containers:
  - name: tensorflow
    image: tensorflow:0.11.0-gpu
    ports:
    - containerPort: 8000
    resources:
      limits:
        alpha.kubernetes.io/nvidia-gpu: 1
    volumeMounts:
    - name: nvidia-driver
      mountPath: /usr/local/nvidia/
      readOnly: true

saya memecahkan masalah saya, terima kasih

Apakah halaman ini membantu?
0 / 5 - 0 peringkat