在k8s中調(diào)用NVIDIA-GPU

概述

本次實踐的環(huán)境:
Ubuntu18.04
docker version : 18.09.5
查看nvidia-docker版本命令

dpkg -l |grep nvidia-docker

nvidia-docker2 : 2.2.2 > 注意nvdia-docker1和2是不兼容的

k8s版本

顯卡信息

nvidia-docker調(diào)用GPU

在docker中調(diào)用英偉達的gpu可以通過nvidia-docker調(diào)用定欧,nvidia-docker是一個可以使用GPU的docker猜绣,nvidia-docker是在docker上做了一層封裝处硬,通過nvidia-docker-plugin,然后調(diào)用到docker上污秆,其最終實現(xiàn)的還是在docker的啟動命令上指定runtimes為nvidia-container-runtime,具體的參數(shù)在可以通過查看/etc/docker/daemon.json這個路徑昧甘。

cat /etc/docker/daemon.json
{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

可以看到具體的配置良拼,其中registry-mirrors是配置的鏡像源。
當我們用nvidia-docker命令生成并啟動容器時充边,會自動的指定runtimes為nvidia并加上一系列的參數(shù)庸推。

k8s中調(diào)用GPU

k8s在v1.8版本后推薦使用NVIDIA/k8s-device-plugin來調(diào)用GPU。其實就是集群版的nvidia-docker...都是暴露gpu分配調(diào)度接口浇冰,并進行監(jiān)聽贬媒。原理參照k8s插件原理

預準備
vim /etc/docker/daemon.json
添加 "default-runtime": "nvidia"

重啟docker使配置生效

systemctl restart docker
  • 安裝k8s-device-plugin
    在master節(jié)點上運行
kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/1.0.0-beta4/nvidia-device-plugin.yml

返回提示

daemonset.apps/nvidia-device-plugin-daemonset created

查看安裝后是否有可用gpu資源

kubectl describe nodes
gpu資源
image.png

可以看到在有GPU的node上肘习,守護Pods中多了nvidia-device-plugin-daemonset用于監(jiān)聽和分配gpu际乘,在Allocated resources(可分配資源)中多了gpu。

測試k8s中g(shù)pu的使用

  • 編寫資源清單
vim gpu_test.yaml 

內(nèi)容的組織形式類似docker file

apiVersion: v1
kind: Pod
metadata:
  name: ffmpeg-pod
spec:
  nodeName: wangzishen-ms-7846 #指定有g(shù)pu的節(jié)點
  containers:
    - name: ffmpeg-container
      image: nightseas/ffmpeg:latest #k8s中配置阿里的私有倉庫遇到一些問題漂佩,暫時用公共鏡像
      command: [ "/bin/bash", "-ce", "tail -f /dev/null" ]
      resources:
        limits:
          nvidia.com/gpu: 1 # 請求分配 1個 GPU
  • 創(chuàng)建Pod
kubectl create -f  gpu_test.yaml
啟動成功

啟動的過程中會去docker hub拉取nightseas/ffmpeg:latest這個鏡像脖含,在啟動過程中可以通過

kubectl describe pod ffmpeg-pod

查看當前的執(zhí)行情況
當前情況
  • 進入Pod調(diào)用gpu進行視頻轉(zhuǎn)碼
kubectl exec ffmpeg-pod -it -- bash
  • 下載視頻
wget http://xxxxxxxx/tmp/00000000088000000.mp4
  • 進行轉(zhuǎn)碼
ffmpeg -hwaccel cuvid -c:v h264_cuvid -i 00000000088000000.mp4 -vf scale_npp=1280:720 -vcodec h264_nvenc out.mp4
  • 查看gpu調(diào)用情況
    在有g(shù)pu的節(jié)點上watch nvidia-smi,可以看到gpu已經(jīng)被運行在k8s中的容器通過k8s-device-plugin調(diào)用投蝉。


    調(diào)用情況

多個pod共享一張GPU

不行养葵,pod在創(chuàng)建的時候請求gpu最低是卡級別,一張顯卡只能分配給一個pod瘩缆。但是一個pod是由多個容器組成的关拒,所以同一個pod的容器可以共享分配給當前pod的所有GPU。

多個docker容器共享一張GPU

可以。通過nvidia-docker啟動的容器可以共享一張GPU夏醉。因為容器是進程級的程序所以分配GPU可以達到顯存級爽锥。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市畔柔,隨后出現(xiàn)的幾起案子氯夷,更是在濱河造成了極大的恐慌,老刑警劉巖靶擦,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腮考,死亡現(xiàn)場離奇詭異,居然都是意外死亡玄捕,警方通過查閱死者的電腦和手機踩蔚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來枚粘,“玉大人馅闽,你說我怎么就攤上這事♀善” “怎么了福也?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長攀圈。 經(jīng)常有香客問我暴凑,道長,這世上最難降的妖魔是什么赘来? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任现喳,我火速辦了婚禮,結(jié)果婚禮上犬辰,老公的妹妹穿的比我還像新娘嗦篱。我一直安慰自己,他們只是感情好忧风,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布默色。 她就那樣靜靜地躺著,像睡著了一般狮腿。 火紅的嫁衣襯著肌膚如雪腿宰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天缘厢,我揣著相機與錄音吃度,去河邊找鬼。 笑死贴硫,一個胖子當著我的面吹牛椿每,可吹牛的內(nèi)容都是我干的伊者。 我是一名探鬼主播,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼间护,長吁一口氣:“原來是場噩夢啊……” “哼亦渗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起汁尺,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤法精,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后痴突,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體搂蜓,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年辽装,在試婚紗的時候發(fā)現(xiàn)自己被綠了帮碰。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡拾积,死狀恐怖殉挽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拓巧,我是刑警寧澤此再,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站玲销,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏摘符。R本人自食惡果不足惜贤斜,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望逛裤。 院中可真熱鬧瘩绒,春花似錦、人聲如沸带族。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蝙砌。三九已至阳堕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間择克,已是汗流浹背恬总。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留肚邢,地道東北人壹堰。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓拭卿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親贱纠。 傳聞我的和親對象是個殘疾皇子峻厚,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361