检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用Nvidia-smi工具 为了支持查看GPU使用情况的场景,需要在镜像中注入nvidia-smi工具,根据购买的专属节点GPU驱动版本选择不同的nvidia-smi二进制文件。 nvidia-smi获取方式。 该二进制文件可以在nvidia官网,根据CUDA Toolkit版
镜像、容器、工作负载的关系是什么? 镜像:容器镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。 容器:镜像(Image)和容器(
修改/dev/shm容量大小 应用场景 /dev/shm由tmpfs文件系统构成,tmpfs是Linux/Unix系统上的一种基于内存的文件系统,故读写效率非常高。 目前有用户希望通过/dev/shm实现进程间数据交互或通过/dev/shm实现临时数据存储,此时CCI场景/dev
使用Tensorflow训练神经网络 应用场景 当前主流的大数据、AI训练和推理等应用(如Tensorflow、Caffe)均采用容器化方式运行,并需要大量GPU、高性能网络和存储等硬件加速能力,并且都是任务型计算,需要快速申请大量资源,计算任务完成后快速释放。本文将演示在云容器
容器生命周期 设置容器生命周期 云容器实例基于Kubernetes,提供了容器生命周期钩子,在容器的生命周期的特定阶段执行调用,比如容器在停止前希望执行某项操作,就可以注册相应的钩子函数。目前提供的生命周期钩子函数如下所示。 启动后处理(PostStart):容器启动后触发。 停
查看资源使用率 当您创建完工作负载后,您也许会非常关心每个Pod的资源利用率。 云容器实例提供了查看CPU/内存、GPU/显存的界面,您只需要在无状态负载、任务、定时任务中Pod列表的“监控”Tab下即可查看资源使用率,如图1所示。 您也可以在Pod管理中查看所有Pod的资源使用率。
客户端DNS配置 CCI支持通过dnsPolicy标记每个Pod配置不同的DNS策略。 None:允许Pod忽略CCI预置的DNS设置。这种方式一般用于想要自定义DNS配置的场景,需要和dnsConfig配合一起使用,达到自定义DNS的目的。 Default:使用CCI提供的内网
使用Docker run运行容器 Docker是一个开源的应用容器引擎。容器引擎是Kubernetes(k8s)最重要的组件之一,负责管理镜像和容器的生命周期。使用Docker,无需配置运行环境,镜像中会包含一整套环境,同时进程间是隔离的,不会相互影响。 Docker容器都是由d
定时任务(CronJob) 定时任务(CronJob)是基于时间控制的任务(Job),类似于Linux系统的crontab,在指定的时间周期运行指定的任务。 创建定时任务 登录云容器实例管理控制台,左侧导航栏中选择“工作负载 > 定时任务(CronJob)”,在右侧页面单击“镜像创建”。
使用Job和CronJob创建任务负载 任务负载是负责批量处理短暂的一次性任务(short lived one-off tasks),即仅执行一次的任务,它保证批处理任务的一个或多个 Pod 成功结束。 短时任务(Job):是Kubernetes用来控制批处理型任务的资源对象。批
容器实例被驱逐 如果节点超负荷运行,无法承受的话,系统会自动清理一些任务。 建议根据实际使用量来申请资源。 父主题: 容器工作负载类
如何查看资源配额? 云容器实例对单个用户的资源数量和容量限定了配额,配额的详细信息请参见关于配额。 登录管理控制台。 单击管理控制台左上角的,选择区域和项目。 在页面右上角,选择“资源 > 我的配额”。 系统进入“服务配额”页面。 图1 我的配额 您可以在“服务配额”页面,查看各项资源的总配额及使用情况。
如何设置应用的探针? 云容器实例基于Kubernetes,提供了应用存活探针和应用业务探针,您可以在创建工作负载的时候设置,具体请参见健康检查。 父主题: 容器工作负载类
{ "kubernetes.io/elb.id" : "xxx", "kubernetes.io/elb.ip" : "192.168.137.182", "kubernetes.io/elb.port" : "6071" },
事件一:重新拉取镜像失败 工作负载详情中,如果事件中提示“重新拉取镜像失败”,请参照如下方式来排查原因。 排查项一:kubectl创建工作负载时未指定imagePullSecret 以创建一个名为nginx的deployment为例,请排查yaml文件中是否存在imagePull
Dockerfile参数在云容器实例中如何使用 应用场景 如果您了解容器引擎的使用,明白定制镜像时,一般使用Dockerfile来完成。Dockerfile是一个文本文件,其内包含了一条条的指令,每一条指令构建镜像的其中一层,因此每一条指令的内容,就是描述该层应该如何构建。 本章
事件二:重新启动容器失败 工作负载详情中,如果事件中提示“重新启动容器失败”,请按照如下方式来排查原因。 排查项一:查看端口是否冲突 按照使用kubectl配置好kubectl。 在页面上单击失败的工作负载,进入负载详情界面,查看Pod列表,获取Pod名字。 查看失败的容器的名称。
在容器中通过环境变量获取Pod基础信息 客户如果需要在容器内获取POD的基础信息,可以通过kubernetes中的Downward API注入环境变量的方式实现。本操作实践展示如何在Deployment和POD的定义中增加环境变量配置,获取Pod的namespace、name、uid、IP、Region和AZ。
弹性伸缩策略如何配置? 云容器实例支持告警、定时、周期三种弹性伸缩策略。具体配置方法请参见伸缩负载。 父主题: 容器工作负载类
为什么业务运行性能不达预期? 由于CCI服务底层资源是多租户共享的,为了保障用户业务稳定,CCI服务底层对于磁盘IO等是有流控限制的。体现在容器内,主要影响是负载对根目录rootfs的读写、负载标准日志输出数据量都会受到一定限制。如果您的业务运行性能不达预期,可以从以下几个可能的原因进行排查: