时间:2021-07-15 | 标签: | 作者:Q8 | 来源:Google Cloud网络
小提示:您能找到这篇{在 GCP 搭建使用 NVIDIA GPU 做机器学习的 K8S 集群}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的在 GCP 搭建使用 NVIDIA GPU 做机器学习的 K8S 集群内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您! |
本文介绍如何使用 NVIDIA 官方推荐工具和 K8S 插件,在谷歌云 GCP 的虚机上搭建用于机器学习任务的带显卡 K8S 集群。 另外,也介绍了如何更新 K8S 插件,来解决当带显卡 Node 维护重启时,由于 GPU ID 发生变化而导致训练任务无法继续的问题。该问题的描述可以参考在线记录。注意,该问题在使用各公有云虚机时都可能发生,触发原因是虚机维护重启后,从一台宿主机迁移到另一台宿主机,所配置的显卡实例也随之改变,显卡 ID 变化,而 NVIDIA K8S 插件在 0.9.0 版本之前不能容忍这个变化,而导致上层 Tensorflow 等应用无法在重启后获取到显卡。此问题在谷歌云 GKE 环境中不会发生,因为谷歌云 GKE 使用的是定制版插件。 本文搭建一个包含一台 Master 和一台 Node 的 K8S 集群,其中 Node 上配置一块 NVIDIA T4 显卡。之后复现显卡 ID 问题,并介绍升级环境解决问题的步骤。 创建虚机实例 在谷歌云控制台创建以下配置的虚机。注意确认使用的项目和区域有充足的 CPU 和 GPU quota。 ● 一台 Master 节点 ○ k8s-m ○ n1-standard-1 ○ Ubuntu LTS 16.04 ● 一台 Node 节点 ○ k8s-t4-node ○ n1-standard-1 ○ Ubuntu LTS 16.04 ○ T4 GPU 创建完后确认 master 和 node 都运行正常。 搭建 K8S 集群 参考 NVIDIA 官方文档 https://docs.nvidia.com/datacenter/cloud-native/kubernetes/install-k8s“确认传播”专注于品牌策划、效果营销和危机管理的数字整合营销传播公司,我们深度诠释客户的品牌理念、文化及背景,多维深度传播客户的文化底蕴和核心价值观,提升客户品牌的知名度、关注度与美誉度。#option-1-installing-kubernetes-using-deepops 以及 DeepOps 文档 https://github.com/NVIDIA/deepops/tree/master/docs/k8s-cluster 首先,登录到 k8s-m,执行以下命令安装 Ansible 工具 下载并初始化 DeepOps 脚本 创建 SSH 密钥对,并将公钥配置为 Node 的允许密钥。注意要将私钥配置为其它用户不可访问。 参照下面截图更改 Ansible 配置文件,指定 K8S 的 master 和 node 信息,以及密钥对信息 验证 Ansible 配置 启动 Ansible 来安装 K8S 集群 安装完成后,用下面命令来验证集群运行正常 在 gpu01 节点上运行以下命令确认容器环境可以识别到显卡。 注意:Image 版本需要参考官方文档 至此,K8S 集群安装完毕。现在可以部署机器学习训练或预测任务在此集群。 复现节点重启后 GPU Device I网站该如何营销D 变化问题 在刚搭建好的 K8S 集群 master 上查看 NVIDIA K8S Plugin 的版本 根据输出,此集群上使用的 NVIDIA K8S 插件为 0.7.0 版本。此版本会产生重启后显卡 Device ID 变化而找不到显卡的问题。 查看当前显卡 Device ID 。 用下面命令用序号查看显卡设备。 安装并运行测试程序容器 nvidia-loop 。其功能是持续占用显卡并不断打印 GPU Device ID 。 查看 nvidia-loop 的日志 以上命令都应该成功无错。到此都不会出现任何问题。 使用以下命令模拟 GCP 虚机维护事件。 命令完成后 1 小时,节点会进行重启( 1 小时延迟因为需要完成一个重启前一小时的通知消息)。重启后node虚机应该会迁移到另一台宿主机并配置不同 ID 的显卡。此时可以登录到 Node来查看 GPU Device ID。 也可以使用 cuda 镜像来测试在容器内获取 GPU Device ID,也一样发生了变化 可以看到 Device ID 发生了变化。 此时查看 nvidia-loop 容器的状态,由于 Device UUID 发生了变化,导致不断 crash。 查看 pod 描述,可以看到具体错误为 UUID 变化。 修复节点重启后 GPU Device ID 变化问题 下面步骤验证 NVIDIA K8S Plugin release 0.9.0 修复了节点重启后 Device ID 变化的问题。 首先安装 NVIDIA K8S Plugin 的 0.9.0 版本,并删除之前版本。 确认安装成功 更新 Node上nvidia-runtime 的配置文件,允许 volume mount (否则测试容器 nvidia-loop 会运行失败)。 现在 K8S 插件更新完毕。可以验证问题修复。 再次使用以下命令模拟 GCP 虚机维护事件。 等一小时后维护重启完成后,查看 nvidia-loop 容器状态,应该是 R广告投放企业unning,而不会再因为维护重启而导致崩溃。 也可以查看 nvidia-loop 的日志,确保输出 ID 正常。 kubectl logs nvidia-loop --tail=5 参考文档[1] Using the GPU id instead of uuid in the NVIDIA device plugin |
上一篇:阿里云全面的云产品套件和专用支持服务帮助T
下一篇:领英如何撤回消息?
基于对传统行业渠道的理解,对互联网行业的渠道我们可以下这样一个定义:一切...
小米应用商店的后台操作和苹果是比较相似的,因为都能填写100字符关键词,允许...
小米的规则目前是在变更中的,但是根据经验小米的搜索排名评分的高低是个很重...
为了恰饭,有时候是要接入一些广告的,所以FB也专门有一个广告的SDK,这就是A...
在 2018 年于旧金山举行的游戏开发者大会上,Amazon Web Services (AWS) 曾宣布,目前世...
关于Facebook Audience Network如何收款的问题,其实官方已经给了详细的步骤。本文主要...
本文介绍了Audience Network对广告载体的质量检查,以及它重点广告形式需要注意的问...
随着iOS开发,作为开发者或公司需要针对iOS App开发涉及的方方面面作出对应的信息...
Facebook和谷歌对出海企业广告渠道都很熟悉,但事实上,在国外还有一些渠道也很...
卖家从做号的第1分钟开始,就一定要想好变现路径是什么?一定要以变现为目的去...
小提示:您应该对本页介绍的“在 GCP 搭建使用 NVIDIA GPU 做机器学习的 K8S 集群”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通在 GCP 搭建使用 NVIDIA GPU 做机器学习的 K8S 集群的相关事宜。
关键词:在,GCP,搭建使用,NVIDIA,GPU