<del id="nnjnj"></del><track id="nnjnj"></track>

<p id="nnjnj"></p>

<address id="nnjnj"></address>

    <pre id="nnjnj"><pre id="nnjnj"></pre></pre>

      <noframes id="nnjnj"><ruby id="nnjnj"><ruby id="nnjnj"></ruby></ruby>

      • 自動秒收錄
      • 軟件:1973
      • 資訊:57811|
      • 收錄網站:279872|

      IT精英團

      如何讓Kubernetes集群優雅地使用GPU節點

      如何讓Kubernetes集群優雅地使用GPU節點

      瀏覽次數:
      評論次數:
      編輯: 澤洋
      信息來源: ITPUB
      更新日期: 2022-05-09 18:32:27
      摘要

      如何讓你的Kubernetes集群使用GPU節點CUDA驅動程序如果您還沒有這樣做,請確保您已在GPU節點上安裝了NVIDIACUDA驅動程序。CUDA是來自nvidia的并行計算平臺。ht

      • 正文開始
      • 相關閱讀
      • 推薦作品

      如何讓您的Kubernetes集群使用GPU節點

      CUDA驅動程序

      如果您還沒有這樣做,請確保您已經在GPU節點上安裝了NVIDIA CUDA驅動程序。CUDA是nvidia的并行計算平臺。

      https://docs . NVIDIA.com/cuda/cuda-安裝指南-linux/index.html

      成功安裝后,nvidia-smi終端中的命令應該提供類似的輸出。在這個節點上,我有兩個GPU。請注意,CUDA工具包的更新版本比我這里的版本更容易獲得。

      用于 Docker 的 NVIDIA 容器工具包

      下一步是為docker安裝nvidia容器套件。根據您的操作系統版本,說明可能會略有不同。如果有疑問,您可以隨時查看NVIDIA文檔。

      https://docs . NVIDIA.com/data center/cloud-native/kubernetes/DCG me2e . html # install-NVIDIA-container-toolkit-previous-NVIDIA-docker 2

      $distribution=$(。/etc/OS-release;echo$ID$VERSION_ID)

      $ curl-s-l https://NVIDIA . github . io/NVIDIA-docker/$ distribution/NVIDIA-docker . repo | sudo tee/etc/yum . repos . d/NVIDIA-docker . repo

      $yumupdate

      $yuminstall-ynvidia-docker2

      我們需要將docker的默認容器運行時改為nvidia。我們可以編輯文件/etc/docker/daemon.jsonfile并更改缺省運行時。

      {

      默認-運行時' :'nvidia ',

      運行時' :{

      nvidia':{

      路徑' :'/usr/bin/nvidia-

      container-runtime", 
                  "runtimeArgs": [] 
              } 
          } 
      }

      是時候重新啟動 docker以使更改生效。

      $ systemctl daemon-reload
      $ systemctl restart docker

      現在我們可以通過運行 nvidia 提供的簡單鏡像來測試我們的 docker 環境。

      $ docker run --rm -it nvcr.io/nvidia/cuda:10.2-base nvidia-smi

      您應該會看到與此類似的輸出。如上所述,您當然可以將來自 nvidia的 docker 鏡像與更高版本的  cuda 工具包一起使用。

      用于 Kubernetes 的 NVIDIA 設備插件

      我們驗證了 docker 環境已成功配置為支持 GPU加速容器。我們只需再邁出一步,我們也將為 Kubernetes 設置做好準備。讓我們安裝 NVIDIA 設備插件,以便我們的 Kubernetes 集群可以使用 GPU。最簡單的方法是使用helm安裝這個插件。如果沒有 helm,安裝也很簡單。轉到您的主節點并執行以下應安裝 helm 的命令。

      $ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 \
         && chmod 700 get_helm.sh \
         && ./get_helm.sh

      您將看到 helm 已安裝。

      Downloading https://get.helm.sh/helm-v3.6.3-linux-amd64.tar.gz
      Verifying checksum... Done.
      Preparing to install helm into /usr/local/bin
      helm installed into /usr/local/bin/helm

      我們將 nvidia設備插件添加到helm存儲庫。

      $ helm repo add nvdp https://nvidia.github.io/k8s-device-plugin \
         && helm repo update
        

      現在讓我們安裝插件。

      $ helm install --generate-name nvdp/nvidia-device-plugin

      您可以通過檢查kube-system命名空間中的 pod來驗證已安裝的插件。

      $ kubectl get pods -n kube-system|grep -i nvidia
      nvidia-device-plugin-daemonset-tl268                      1/1     Running   3          4h
      nvidia-device-plugin-daemonset-v2dn8                      1/1     Running   8          4h

      測試一下

      讓我們測試我們的 Kubernetes 設置。為此,讓我們創建一個 yaml 部署文件,例如,gpudemo-vectoradd.yaml包含以下內容。我們正在使用運行 GPU 的 nvidia cuda 示例容器。

      apiVersion: v1
      kind: Pod
      metadata:
        name: gpu-demo-vectoradd
      spec:
        restartPolicy: OnFailure
        containers:
        - name: cuda-vector-add
          image: "nvidia/samples:vectoradd-cuda10.2"
          resources:
            limits:
               nvidia.com/gpu: 1

      部署我們的 yaml文件。

      $ kubectl apply -f gpudemo-vectoradd.yaml

      檢查Pod。

      $ kubectl get pods |grep gpu
      gpu-demo-vectoradd               /1     Completed             13s

      檢查日志。它應該是這樣的。

      $ kubectl logs gpu-demo-vectoradd
      [Vector addition of 50000 elements]
      Copy input data from the host memory to the CUDA device
      CUDA kernel launch with 196 blocks of 256 threads
      Copy output data from the CUDA device to the host memory
      Test PASSED
      Done

      我們驗證了Kubernetes集群設置為運行GPU加速容器!在下一篇文章中,讓我們看看如何暴露和監控這些GPU指標。

      參考資料

      [1]

      參考地址: https://medium.com/@rajupavuluri/how-to-enable-your-kubernetes-cluster-to-use-gpu-nodes-1b2771b4a7f6



      本文轉載自:「云原生CTO」,原文:https://tinyurl.com/3nu9yuup,版權歸原作者所有。



      Linux最常用的命令:解決95%以上的問題
      ? 上一篇 2022-05-09
      詳細解釋Linux中的diff命令和例子
      下一篇 ? 2022-05-09
      • 如何在Ubuntu中保留文件系統并備份當前開發板鏡像
        0閱讀 0條評論 個贊
        在Ubuntu保留文件系統或者說備份當前開發板鏡像的需求在不斷增加。比如Ubuntu文件系統需要安裝庫文件的話直接使用apt-get工具就可以下載,但由于需要下載的核心板較多,比較費時間,這時需要將安……
      • 國產核心板全志T507助力消防系統升級
        0閱讀 0條評論 個贊
        9月16日下午,位于湖南長沙市區內的中國電信大樓發生火災,建筑高度218米,現場濃煙滾滾,數十層樓體燃燒劇烈。消防救援人員趕到現場后很快將火勢控制住,目前大樓火勢已被撲滅,所幸未發現人員傷亡。湖南電信……
      • 教大家如何處理Spring Boot易流中的用戶和群體!
        0閱讀 0條評論 個贊
        1.準備工作2.用戶操作2.1添加用戶2.2修改用戶2.3刪除用戶2.4查詢用戶3.組操作3.1添加組3.2修改組3.3刪除組3.4查詢組4.查看表詳情雖然說我們在實際開發中,……
      • 從PG15開始WAL壓縮優化
        0閱讀 0條評論 個贊
        PG15傳聞中的超級令人激動的功能大多數跳票了,年初我也寫過一個關于PG15新功能跳票的文章。PG15BETA已經發出幾個月了,似乎PG15里令人激動人心的功能不多,不過從長長的新功能列表里,……
      • 深入了解美團葉子發射器開源方案
        0閱讀 0條評論 個贊
        大家好,我是樹哥。之前我們有聊過「如何設計一個分布式ID發號器」,其中有講過4種解決方案,分別是:UUID類雪花算法數據庫自增主鍵Redis原子自增美團以第2、3種解決方案為基礎,開發出……
      發表評論 共有條評論
      用戶名: 密碼:
      驗證碼: 匿名發表
      • 如何在Ubuntu中保留文件系統并備份當前開發板鏡像
        0閱讀 0條評論 個贊
        在Ubuntu保留文件系統或者說備份當前開發板鏡像的需求在不斷增加。比如Ubuntu文件系統需要安裝庫文件的話直接使用apt-get工具就可以下載,但由于需要下載的核心板較多,比較費時間,這時需要將安……
      • SQL Server的常用分頁SQL
        0閱讀 0條評論 個贊
        今天無聊和朋友討論分頁,發現網上好多都是錯的。網上經常查到的那個TopNotin或者Max大部分都不實用,很多都忽略了Order和性能問題。為此上網查了查,順帶把2000和2012版本的也補上……
      • 解決ShardingJdbc不支持復雜SQL問題的說明
        18閱讀 0條評論 個贊
        背景介紹公司最近做分庫分表業務,接入了ShardingJDBC,接入完成后,回歸測試時發現好幾個SQL執行報錯,關鍵這幾個表都還不是分片表。報錯如下:這下糟了嘛。熟悉ShardingJDB……
      • Oracle服務器遷移的一些經驗
        3閱讀 0條評論 個贊
        前言通過此文章來分享一下Oracle服務器遷移過程中的一些經驗,希望對大家有些許幫助。本文旨在幫助更多的同學,會提及一些基本命令或技巧,但不贅述,后續有機會再進一步分享各個細節。背景之前因機房遷移……
      • 數據倉庫及其維度(層次)建模(ODS DWD DWS DWT ADS)
        0閱讀 0條評論 個贊
        一.數倉及其維度1.什么是數倉?數據倉庫,簡稱數倉,(DataWarehouse)。從邏輯上理解,數據庫和數倉沒有區別,都是通過數據庫軟件實現存放數據的地方,只不過從數據量來……
      • 設計模式介紹——單一模式
        0閱讀 0條評論 個贊
        簡介一個類只允許創建一個對象(或實例),那么這個類就是一個單例類,這種設計模式稱作單例設計模式(SingletonDesignPattern),簡稱單例模式。單例模式保證系統內存中只存在一個對象,……
      • 三萬字肝爆《數據倉庫體系》
        0閱讀 0條評論 個贊
        文章很長,前言一定要看擁有本篇文章,意味著你擁有一本完善的書籍,本篇文章整理了數據倉庫領域,幾乎所有的知識點,文章內容主要來源于以下幾個方面:源于「數據倉庫交流群」資深數據倉庫工程師的交流討論,如《s……
      • 計算機網絡-了解-DNS和HTTPDNS
        0閱讀 0條評論 個贊
        DNS和HTTPDNSDNS域名解析的過程傳統DNS存在的問題1、域名緩存問題2、域名轉發問題3、出口NAT問題4、DNS域名更新問題5、解析延遲問題6、運營商劫持HTTPDNSHTTP……
      • spring MVC(II)——請求處理參數和響應數據處理
        0閱讀 0條評論 個贊
        1、請求處理參數1.1請求參數@RequestParam1.1.1不使用@RequestParam注解請求參數處理,不使用參數注解:1.如果請求參數名和請求處理的形參名一致,springMv……
      • 教你如何構建JAVA分布式爬蟲
        0閱讀 0條評論 個贊
        在工作中,我們經常需要去獲取一些數據,但是這些數據可能需要從第三方平臺才可以獲取到。這個時候,爬蟲系統就可以幫助我們來完成這些事情。提到爬蟲系統,很多人都會想到使用python。但實際上,語言只……
      • 卡夫卡數據丟失問題優化總結及重復消費原因分析(二)
        0閱讀 0條評論 個贊
        .css-1yuhvjn{margin-top:16px;}.css-3jt6os.FileLinkCard{-webkit-align-items:center;-webkit-box-align……
      • Java精進-手寫持久層框架
        0閱讀 0條評論 個贊
        前言本文適合有一定java基礎的同學,通過自定義持久層框架,可以更加清楚常用的mybatis等開源框架的原理。JDBC操作回顧及問題分析學習java的同學一定避免不了接觸過jdbc,讓我們來回顧下初學……
      • SQL Server表變量和臨時表的區別
        0閱讀 0條評論 個贊
        一、表變量表變量在SQLServer2000中首次被引入。表變量的具體定義包括列定義,列名,數據類型和約束。而在表變量中可以使用的約束包括主鍵約束,唯一約束,NULL約束和CHECK約束(外鍵……
      • Java開發學習(29)——Maven依賴轉移、可選依賴和排除依賴分析
        0閱讀 0條評論 個贊
        現在的項目一般是拆分成一個個獨立的模塊,當在其他項目中想要使用獨立出來的這些模塊,只需要在其pom.xml使用標簽來進行jar包的引入即可。其實就是依賴……
      • 淺談SQL Server中統計對查詢的影響
        4閱讀 0條評論 個贊
        簡介SQLServer查詢分析器是基于開銷的。通常來講,查詢分析器會根據謂詞來確定該如何選擇高效的查詢路線,比如該選擇哪個索引。而每次查詢分析器尋找路徑時,并不會每一次都去統計索引中包含的行數,值……
      • 1 Docker安裝Nexus3
        0閱讀 0條評論 個贊
        1.1創建目錄在硬盤上創建Nexus3的主目錄:mkdir-p/Users/yygnb/dockerMe/nexus3為該目錄添加權限:chmod777-R/Users/yygnb/d……
      • 深入理解Redis數據結構-字典
        0閱讀 0條評論 個贊
        字典,又稱為符號表、關聯數組或映射,是一種用于保存鍵值對的抽象數據結構。在字典中,一個鍵可以和一個值進行關聯,這些關聯的鍵和值稱為鍵值對。鍵值對中鍵是唯一的,我們可以根據鍵key通過映射查找或者更新對……
      • 用戶自定義注釋 AOP實現的日志保存(數據庫) 所有代碼都可以粘貼復制
        0閱讀 0條評論 個贊
        前言1,在一些特定的場景我們往往需要看一下接口的入參,特別是跨系統的接口調用(下發,推送),這個時候的接口入參就很重要,我們保存入參入庫,如果出問題就可以馬上定位是上游還是下游的問題(方便扯皮)2,還……
      • Linux系統的docker部署 網絡核心3.1
        0閱讀 0條評論 個贊
        此篇文章演示基本的基于docker部署.netcore服務,linux系統騰訊云ubuntu,.netcore版本3.1。1.安裝dockeraptinstalldocker.io2.拉取.ne……
      • 人人都能讀懂的源代碼——那些關于DOM的常見鉤子包(二)
        0閱讀 0條評論 個贊
        本文是深入淺出ahooks源碼系列文章的第十五篇,該系列已整理成文檔-地址。覺得還不錯,給個star支持一下哈,Thanks。本篇接著針對關于DOM的各個Hook封裝進行解讀。useFul……
      最近發布資訊
      更多
      警花高潮嗷嗷叫
      <del id="nnjnj"></del><track id="nnjnj"></track>

      <p id="nnjnj"></p>

      <address id="nnjnj"></address>

        <pre id="nnjnj"><pre id="nnjnj"></pre></pre>

          <noframes id="nnjnj"><ruby id="nnjnj"><ruby id="nnjnj"></ruby></ruby>