k3s中使用GPU资源

前提是已经安装了nvidia驱动

一、安装nvidia-container-toolkit(推荐)

#复制一份docker配置文件,以防被覆盖
cp /etc/docker/daemon.json /etc/docker/daemon.json.bak
#安装NVIDIA Container Toolkitapt-get install nvidia-container-toolkit

二、配置容器运行时
#nvidia-ctk命令将会修改/etc/docker/daemon.json文件以便Docker可以使用nvidia容器运行时

nvidia-ctk runtime configure --runtime=docker

#实际上,上面nvidia-ctk命令是往/etc/docker/daemon.json文件追加了如下参数
 "runtimes": {
        "nvidia": {
            "args": [],
            "path": "nvidia-container-runtime"
        }
    }

三、修改docker默认运行时

docker要使用nvidia运行时才能正常使用gpu,但是k8s中kubelet需要调用docker,所以要将docker默认运行时设置为nvidia.

#查看当前docker默认运行时
docker info | grep -i 'Default Runtime'

#修改docker默认运行时,在daemon.json文件中添加默认运行时

vim /etc/docker/daemon.json 

{"default-runtime": "nvidia",		#设置默认运行时"runtimes": {"nvidia": {"args": [],"path": "nvidia-container-runtime"}}
}

四、重启dockers,并确认默认运行时生效

 systemctl restart docker
docker info | grep -i 'Default Runtime'

五、k3s安装nvidia-device-plugin插件(在master节点上安装)

#在master节点上安装
#k8s中要识别gpu资源,需要安装nvidia-device-plugin插件,注册分配gpu主要由device-plugin插件完成
#官网:https://github.com/NVIDIA/k8s-device-plugin
wget https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.14.1/nvidia-device-plugin.yml
#vim nvidia-device-plugin.yml #该文件存在hostpath的卷,确认kubelet的安装路径正确
kubectl apply -f nvidia-device-plugin.yml
kubectl  get pod -n kube-system  | grep nvidia-device-plugin

在master节点上查看

六、pod中使用GPU

只需要下载能识别GPU的基础镜像,使用该基础镜像启动容器,使用该基础镜像pod中不需要配置 resources: limits: nvidia.com/gpu: 1 中也能正常识别GPU

docker pull nvidia/cuda:12.2.0-base-ubuntu22.04

参考链接:k8s中如何使用gpu、gpu资源讲解、nvidia gpu驱动安装_kubernetes 查看 节点 gpu-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/53035.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux和Unix的区别及为什么鸿蒙系统不用Unix的原因

目录 Linux是什么? Unix是什么? 他们的区别: 鸿蒙系统介绍及鸿蒙系统不用Unix的原因 Linux是什么? Linux的历史可以追溯到1991年,由芬兰的计算机科学家林纳斯托瓦兹(Linus Torvalds)为了学习操作系统的工作原理而…

C++/Qt 多媒体(续四)

一、前言 前边讲述到了Qt的两项独特的模块编程支持的另一项内容——多媒体编程,上篇文章具体讲述的包括采集和播放原始音频相关类的概述,而本章开始主要概述多媒体编程实现的功能中的最后两项:播放视频文件和通过摄像头拍照和录像。 对于上篇内容的示例全部代码,可…

海绵城市雨水监测系统

海绵城市雨水监测系统主要有:数据采集、无线数据传输、后台云服务、终端平台显示等部分组成。系统通过前端数据采集水质(ss\cod\浊度、PH等)、雨水雨量、流量、水位、土壤湿度、气象等数据。通过无线数据传输通讯(4G、5G、以太网、…

小柴带你学AutoSar系列三、标准和规范篇(3)ModeManagement

目录 ModeManagementGuide 2 Overall mechanisms and concepts 2.1 Declaration of modes 2.2 Mode managers and mode users 2.3 Modes in the RTE 2.4 Modes in the Basic Software Scheduler 2.5 Communication of modes 3 Configuration of the Basic Software Mod…

华为云征文|部署个人博客管理系统 Ghost

华为云征文|部署个人博客管理系统 Ghost 一、Flexus云服务器X实例介绍1.1 云服务器介绍1.2 应用场景1.3 对比普通ECS 二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置 三、部署 Ghost3.1 Ghost 介绍3.2 Docker 环境搭建3.3 Ghost 部署3.4 Gho…

《数字信号处理》学习01-离散时间信号与序列的卷积和运算

目录 一,信号 二,序列的运算 1,卷积和 2,matlab实现 相关的电子书籍请到这篇文章所在的专栏,并通过夸克网盘链接下载。 很多简单的知识点我就不再赘述了,接下来就着重记录我学习过程中遇到的较难理…

Vue——day07之条件渲染、列表渲染以及监测数据

目录 1.template标签 2.条件渲染 3.列表渲染 4.v-for中的key的作用以及原理 5.列表过滤 placeholder 前端空字符串 使用数据监视watch实现 使用计算属性实现 6.列表排序 7.Vue更新数据检测失败 原因 总结 1.template标签 template标签是Vue.js中的一个特殊元素&am…

新型蜜罐有哪些?未来方向如何?

前言:技术发展为时代带来变革,同时技术创新性对蜜罐产生推动力。 一、新型蜜罐的诞生 技术发展为时代带来变革,同时技术创新性对蜜罐产生推动力,通过借鉴不同技术思想、方法,与其它技术结合形成优势互补,…

MC药水酿造

药水酿造(Brewing)是在酿造台中往水瓶里加入各种材料而制作药水、喷溅药水和滞留药水的过程。 将1-3个水瓶或药水放入酿造台界面底部的药水槽中,将材料放入顶部的材料槽中,再在燃料槽里放置烈焰粉,便可开始酿造。 药水的酿造一般从水瓶开始,水瓶可以用玻璃瓶从水源或

使用python编写ICMP重定向攻击脚本,附代码

以下为您提供一些使用 Python 编写 ICMP 重定向攻击脚本的示例及相关代码: 参考示例如下: #!/usr/bin/python from scapy.all import * import os import sys import randomdef randomIP():ip ".".join(map(str, (random.randint(0,255) f…

滑动窗口系列(不定长滑动窗口长度) 9/1

1.无重复字符的最长子串 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 思路: 不定长的滑动窗口长度&#xff0c…

探讨抗晃电应用技术在煤化工生产中的运用

摘要:当前,电力供应面临的压力日益增大,用户群体的多样性也日益复杂。在电网运行中,电压波动(晃电)现象频繁发生。研究指出,电压波动的原因多种多样,包括自然因素、设备故障以及人为…

ISO C++ 和 GNU C++ 的区别

C 的 ios 标准和 gnu 标准是两种编译器标准或模式,主要由编译器在编译 C 代码时所遵循的规范决定。它们之间的区别主要在于是否包含标准之外的扩展以及对特定功能的支持。 1. ISO C 标准 (-stdc11, -stdc14, -stdc17, 等) 定义: ISO C 标准是由国际标准化组织 (IS…

EXO项目StandardNode;max_generate_tokens;buffered_token_output;is_finished;

目录 StandardNode max_generate_tokens buffered_token_output 构造函数参数 类属性 总结 is_finished max_generate_tokens self.buffered_token_output StandardNode _process_tensor result是一个np.ndarray ,result.size == 1是什么意思 StandardNode max_g…

五、Selenium操作指南(二)

文章目录 四、获取页面元素属性(一)get_attribute获取属性(二)获取文本(三) 获取其他属性 五、页面交互操作(一)输入文本 send_keys()(二)点击 click()&#…

kaggle平台free使用GPU

1、注册 请保证在【科学上网】条件下进入如下操作,只有在注册账户和手机号验证时需要。 step1:注册账户 进入kaggle官网:https://www.kaggle.com/,点击右上角【Register】进入注册页面 最好选择使用邮箱注册(&#…

【例003】利用MATLAB绘制有趣平面图形

题目: 用 ezplot 画出由方程 sin ⁡ ( x 2 m y 2 1000 ) cos ⁡ ( x y ) \sin(x^2\frac{my^2}{1000})\cos(xy) sin(x21000my2​)cos(xy) 确定隐函数的图形。 求解: 我们分别取m为100,1000,10000不同的值,绘制不同情况下的图…

3.1 线性结构

令序列X、Y、Z的每个元素按顺序进栈,且每个元素进栈.出栈各一次,则不可能得到出栈序列( )。 A. XYZ B. XZY C. ZXY D. YZX 正确答案是 C。 解析 ZXY不可能得到这个序列,因为当Z最先出栈,说明X、Y已经入栈&a…

MySQL-进阶篇-锁(全局锁、表级锁、行级锁)

文章目录 1. 锁概述2. 全局锁2.1 介绍2.2 数据备份2.3 使用全局锁造成的问题 3. 表级锁3.1 表锁3.1.1 语法3.1.2 读锁3.1.3 写锁3.1.4 读锁和写锁的区别 3.2 元数据锁(Meta Data Lock,MDL)3.3 意向锁3.3.1 案例引入3.3.2 意向锁的分类 4. 行级…

数据分析中的上钻、下钻、切片和切块

“上钻”、“下钻”、“切片”、“切块”是数据分析和数据展示中的常见概念,尤其是在处理多维数据或数据仓库时。以下是每个术语的解释: 上钻(Drill Up): 这是指从数据的更详细层级上升到更概括的层级。比如,假设你有一个按时间划分的销售数据,当前在查看按月的销售情况…