阿里云-GPU/ASK/ACK/NAS/Docker
ASK
文档路径:https://help.aliyun.com/document_detail/186945.html
流程
- 安装docker
- Dockerfile 镜像制作
- 创建ASK集群
- 使用镜像创建POD(负载)
- 创建NAS盘
- 查看容器
安装Dokcer
Ubuntu
创建目录
mkdir -p /etc/apt/keyrings
添加gpg源
#阿里镜像源
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg# 官方源
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sources.list 中添加 Docker 软件源
$ echo \"deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null** #官方源
$ echo \
"deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
安装docker
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
安装nvidia-container-toolkit
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.listsudo apt-get update && apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
镜像创建
docker build -t registry.cn-hangzhou.aliyuncs.com/cyc_mirror/compile-gpu-jar . -f /data/Dockerfile
运行docker
docker run -itd -v /data/opt/compile:/opt/compile --restart=always [imageId]
进入到docker环境中
docker exec -itd registry.cn-hangzhou.aliyuncs.com/cyc_mirror/ms_compiler /bin/bash
Windows 10
对于Windows 10以下的用户,推荐使用Docker Toolbox
Windows安装文件:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
对于Windows 10以上的用户 推荐使用Docker for Windows
Windows安装文件:http://mirrors.aliyun.com/docker-toolbox/windows/docker-for-windows/
官方下载地址:https://www.docker.com/products/docker-desktop/
参考文章:
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
http://t.csdn.cn/dQK5C
ACR 镜像库
镜像制作
美摄Dokcer部署文档:https://www.yuque.com/books/share/51ab37d2-f266-4105-af69-78ad5aef773a/gnplsy
ECI Pod默认每次启动后使用内部的containerd从远端拉取容器镜像。如果镜像为公共镜像,则需要开通VPC的NAT网关,或者给ECI Pod挂载EIP。建议您将容器镜像存储在阿里云镜像仓库(ACR),通过VPC网络减小镜像拉取时间。另外对于ACR上的私有镜像,实现了免密拉取功能方便您使用。
同时支持了镜像快照功能。通过把容器镜像缓存到快照中,然后通过快照快速启动容器,避免再次从远端拉取镜像,适合大镜像的场景。
#导入本地镜像文件
docker load < E:\Download\temp\bsedit-compiler-gpu-no-x11-cuda.image
docker login --username=xpccyc registry.cn-hangzhou.aliyuncs.com
docker tag compiler registry.cn-hangzhou.aliyuncs.com/cyc_mirror/compile-gpu-jar:latest
docker push registry.cn-hangzhou.aliyuncs.com/cyc_mirror/compile-gpu-jar:latest
docker pull registry.cn-hangzhou.aliyuncs.com/cyc_mirror/ms_compiler:latest镜像创建
docker build -t [imageName] . -f /data/Dockerfile
docker push registry.cn-hangzhou.aliyuncs.com/cyc_mirror/compile-gpu-jar:latest
运行docker
docker run -itd -v /data/opt/compile:/opt/compile --restart=always [imageId]
进入到docker环境中
docker exec -itd registry.cn-hangzhou.aliyuncs.com/cyc_mirror/ms_compiler /bin/bash
创建ASK集群
使用GPU实例
ECI GPU实例内置了显卡设备驱动及CUDA驱动,因此运行ECI GPU实例只需使用内置了CUDA Toolkit等软件的基础镜像即可,无需关心驱动安装。
在Pod定义中增加annotations: k8s.aliyun.com/eci-use-specs
,具体示例如下。
- 在Pod的
metadata
中添加指定规格的annotations
。 - 在Container的
resources
中声明GPU资源。
apiVersion: apps/v1
kind: Deployment
metadata:name: nginx-gpu-demolabels:app: nginx
spec:replicas: 2selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxannotations:k8s.aliyun.com/eci-use-specs: ecs.gn6i-c4g1.xlargespec:containers:- name: nginximage: registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.15.10resources:limits:nvidia.com/gpu: '1'ports:- containerPort: 80
如何挂载NAS盘
参考视频:https://www.bilibili.com/video/BV1BB4y1v7jc?share_source=copy_web&vd_source=9610c7bb99045af7de23a7f86de4f07b
添加云盘
添加存储卷
存储——增加存储声明
工作负载——增加存储声明
问题解决df: cannot read table of mounted file systems 当出现以上错误时,只要运行一下以上命令即可。
grep -v rootfs /proc/mounts > /etc/mtab
配置文件如何设置
PV和PVC解决了pod间共享目录的挂载,有时候,我们只期望挂载pod内部的配置文件,以便于在pod外部对pod的配置进行修改,PV和PVC就搞不定了,新的机制来满足上述需求,这就是ConfigMap。
为了让Docker镜像和Docker镜像运行时的配置文件解耦,以便实现镜像的可移植性和可复用性,进入了ConfigMap。
启动参数
环境配置 默认测试环境
["--spring.active=dev"]
问题
POD报错:BACK-OFF RESTARTING FAILED CONTAINER 的解决办法
要使Pod持续运行,就必须指定一个永远不会完成的任务。
因此在yaml文件中指定一个启动命令,内容如下:command: [“/bin/bash”, “-ce”, “tail -f /dev/null”]
pod 资源清单
pod是一个逻辑抽象概念,他是kuberneter创建的最小单元,一个pod可以由一个或者多个容器组成
k8s有状态与无状态的区别
Deployment管理无状态服务的pod,每个pod完全一致
无状态服务内的多个Pod创建的顺序是没有顺序的.
无状态服务内的多个Pod的名称是随机的.pod被重新启动调度后,它的名称与IP都会发生变化.
无状态服务内的多个Pod背后是共享存储的.
Stateful管理有状态的应用,它的Pod有如下特征
唯一性: 每个Pod会被分配一个唯一序号.
顺序性: Pod启动,更新,销毁是按顺序进行.
稳定的网络标识: Pod主机名,DNS地址不会随着Pod被重新调度而发生变化.
稳定的持久化存储: Pod被重新调度后,仍然能挂载原有的PV,从而保证了数据的完整性和一致性
待优化问题
- 容器日志收集
- 配置文件不能在阿里控制台修改
阿里云-GPU/ASK/ACK/NAS/Docker相关推荐
- 与阿里云容器服务 ACK 发行版的深度对话第一弹:如何借助 sealer 实现快速构建 部署
作者:淮右.王飞.瑜佳 记者: 阿里云原生的读者朋友们大家好,今天应广大感兴趣朋友们的强烈要求,我们邀请来了「阿里云容器服务 ACK 发行版」做客我们的栏目,为大家讲述它的身世之谜,以及它是如何和伙伴 ...
- 首批!阿里云容器服务 ACK 顺利通过信通院云原生混部项目评估
作者:OSCAR 为了分享过去一年云原生产业联盟(CNIA)在标准建设.评估认证.技术研究.实践合作等方面的工作成果.探索行业最新趋势动态,云原生产业联盟于 2023 年 1 月举办了 2022 年度 ...
- 比心云平台基于阿里云容器服务 ACK 的弹性架构实践
作者:韩韬|比心技术 前言 应用容器化改造后,不可避免地会面临这样一个问题:Kubernetes 集群的 Node 资源配置不足会导致 Pod 无法及时运行,购买过多的 Node 又会导致资源的闲置浪 ...
- AI技术出海 - 阿里云GPU服务器助力旷视勇夺4项世界第一
MSCOCO(Microsoft Common Objects in Context)是当今世界计算机视觉领域最受关注和权威的比赛之一.9月9日,COCO+Mapillary物体识别联合挑战赛研讨会在 ...
- 让创新触手可及,阿里云容器服务 ACK 发行版开放免费下载
随着云原生正在成为数字经济创新基石,企业的云原生应用逐渐呈现出类型更加丰富.场景更加复杂的特点.这时,构建于中心云上的能力将越来越难以支撑企业架构敏捷.业务灵活创新等需求. 为了进一步拓展云的边界,让 ...
- 【产品活动】阿里云GPU云服务器年付5折!阿里云异构计算助推行业发展!
摘要: 阿里云GPU云服务器全力支持AI生态发展,进一步普惠开发者红利,本周将会推出针对异构计算GPU实例GN5年付5折的优惠活动,希望能够打造良好的AI生态环境,帮助更多的人工智能企业以及项目顺利上 ...
- 阿里云gpu服务器计算性能,gpu服务器价格(最新收费标准)
阿里云GPU云服务器是基于GPU应用的计算服务,多适用于AI深度学习,视频处理,科学计算,图形可视化,等应用场景,型号有AMD S7150, Nvidia M40, Nvidia P100,Nvidi ...
- 搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程
搭建阿里云Linux版服务器+使用docker安装EMQ.Node-RED.MySQL+本地Navicat访问数据库 云服务器基础搭建 注册云服务器 XShell简介 部署EMQ 部署docker 物 ...
- 阿里云使用笔记(一):从零开始配置阿里云GPU服务器训练深度学习模型
题 神经网络训练需要强大的GPU支持,自己搭建成本太高,并且有时候出差等原因,无法将庞大的机箱搬走.因此,就产生了将深度学习网络训练的任务搬到云端的想法.由于初次使用,遇到不少大坑,花了两天时间才完整 ...
最新文章
- xshell 家庭/学校 免费教育版下载
- Vue中动态设置页面title
- 【 English 】程序员必备单词
- Python基础教程:七种运算符
- SQL Serever学习7——数据表2
- ASP.NET 自定义项目模板
- jpa 返回数据转换_如何使用JPA类型转换器加密数据
- Java LocalDate类| minus()方法与示例
- Linux内核kernel升级失败,2.4.19的kernel升级问题!
- bui框架与php结合,bui框架前端自定义配色基础属性
- 公网远程访问连接Minecraft我的世界服务器 - MCSM控制面板
- Computer:字符编码(ASCII编码/GBK编码/BASE64编码/UTF-8编码)的简介、案例应用(python中的编码格式及常见编码问题详解)之详细攻略
- iOS关于armv7,armv7s,arm64,i386,x86_64
- python编写交互界面查分,Python实现CET查分的方法 -电脑资料
- matlab绘制磁场图,基于Matlab的电磁场图示化教学
- 静态网页统计浏览次数
- 运营商业务系统基于 KubeSphere 的容器化实践
- 百度竞价排名曝光_百度爱采购的三大优势,及如何发优质商品。
- rviz中点云显示出错
- 通过 Windows XP Embedded 设备更新代理应用 QFE