检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
负载异常有可能是容器中运行的应用启动异常,这时可以通过手动执行启动命令,根据错误提示进行问题定位和修复。通常的做法如下: 为工作负载配置如下类型的启动命令,这样pod启动后没有启动应用程序,没有执行任何操作。 执行启动命令前,请确认镜像中/bin/bash命令可用。 Pod启动成功后,执行kubectl
启动命令 启动容器就是启动主进程,但有些时候,启动主进程前,需要一些准备工作。比如MySQL类的数据库,可能需要一些数据库配置、初始化的工作,这些工作要在最终的MySQL服务器运行之前解决。您可以在制作镜像时通过在Dockerfile文件中设置ENTRYPOINT或CMD来完成。
T ["top", "-b"]命令,其将会在容器启动时执行。 FROM ubuntu ENTRYPOINT ["top", "-b"] 启动命令必须为容器镜像支持的命令,否则会导致容器启动失败。 在云容器实例中同样可以设置容器的启动命令,例如上面Dockerfile中的命令,只要
running的Pod(Deployment/StatefulSet),除了类似镜像拉取失败、存储挂载失败、容器网络分配失败、当前节点CPU/Mem不满足Pod的实际使用要求等异常场景外,Pod容器如果最终都会启动成功时,上述podWorker在几次周期后都会判定挂载成功。 而对于短时运行的
工作负载异常 定位思路 事件一:重新拉取镜像失败 事件二:重新启动容器失败
使用OBS存储挂载失败 问题现象: 单击“工作负载 > 任务 ”,实例状态显示“失败”。 图1 Pod状态 单击“事件”页,查看异常事件,如下图: 图2 事件类型异常 在Pod列表,单击失败实例后的“查看日志”,跳转到应用运维管理AOM界面。 图3 Pod列表 在应用运维管理AOM界面,单击“日志
使用CCI集群,在容器内部执行systemctl命令,需要以特权模式(--privileged=true)来启动容器是否支持? 目前,CCI尚不支持特权模式。 特权容器主要场景是让容器共享、操作宿主机的设备,CCI是基于kata的hypervisor虚拟化级别隔离,所以宿主机的资源对容器完全隔离。
事件一:重新拉取镜像失败 工作负载详情中,如果事件中提示“重新拉取镜像失败”,请参照如下方式来排查原因。 排查项一:kubectl创建工作负载时未指定imagePullSecret 以创建一个名为nginx的deployment为例,请排查yaml文件中是否存在imagePull
弹性公网ID 必选 必须是弹性公网IP页面能查到的ID信息。 Pod的EIP准备就绪 Pod业务容器的启动时间可能早于EIP分配结果返回成功时间,在Pod启动过程中EIP可能会绑定失败。 通过在init container中可检查EIP是否已经分配成功。容器网络控制器会在Pod IP
Toolkit运行VASP任务,为什么概率性运行失败? Intel oneAPI Toolkit(Intel并行计算平台)运行的VASP(用于电子结构计算和量子力学-分子动力学模拟)任务对CPU硬件版本有深度依赖,在小规格Pod场景下概率性运行失败,建议切换oneAPI版本或使用4核以上Pod运行。
Init-Containers,即初始化容器,顾名思义容器启动的时候,会先启动可一个或多个容器,如果有多个,那么这几个Init Container按照定义的顺序依次执行,只有所有的Init Container执行完后,主容器才会启动。由于一个Pod里的存储卷是共享的,所以Init Co
ue,否则会因协议不同而导致镜像拉取失败。默认值为false。 insecureSkipVerify boolean 否 true 如果是使用自签发证书的自建镜像仓库地址,需要设置为true来跳过证书认证,否则会因证书认证失败而导致镜像拉取失败。默认值为false。 namespace
到它,并会把请求转发给Pod,那问题就来了,通常一个Pod启动是需要时间的,如果Pod还没准备好(可能需要时间来加载配置或数据,或者可能需要执行 一个预热程序之类),这时把请求转给Pod的话,Pod也无法处理,造成请求失败。 Kubernetes中解决这个问题的方法就是给Pod加一个业务就绪探针Readiness
probe),探测应用业务是否已经就绪:该检查方式用于检测容器是否准备好开始处理用户请求。一些程序的启动时间可能很长,比如要加载磁盘数据或者要依赖外部的某个模块启动完成才能提供服务。这时候程序进程在,但是并不能对外提供服务。这种场景下该检查方式就非常有用。 健康检查方式 HTTP请求方式 探针往
查询namespace详情失败:未指定待查询的namespace 请指定待查询的namespace,请修改后重试 400 CCI.01.400103 missing user token in the request header 创建网络失败:请求头未携带最终用户的token:X-User-Token
问题: Pod会随时被Deployment这样的控制器删除重建,那访问Pod的结果就会变得不可预知。 Pod的IP地址是在Pod启动后才被分配,在启动前并不知道Pod的IP地址。 应用往往都是由多个运行相同镜像的一组Pod组成,一个个Pod的访问也变得不现实。 举个例子,假设有这
的特定阶段执行调用,比如容器在停止前希望执行某项操作,就可以注册相应的钩子函数。目前提供的生命周期钩子函数如下所示。 启动后处理(PostStart):负载启动后触发。 停止前处理(PreStop):负载停止前触发。 调用接口时,只需配置pod的lifecycle.postStart或lifecycle
供的生命周期钩子函数如下所示。 启动后处理(PostStart):容器启动后触发。 停止前处理(PreStop):容器停止前触发。 当前云容器实例仅支持命令行类型(Exec)钩子函数。 登录云容器实例控制台,在创建负载配置生命周期过程中,选择“启动后处理”或者“停止前处理”页签。
的镜像快照。在创建负载过程中,使用预先创建的镜像快照,可以跳过镜像拉取动作,提升负载的启动速度。 用户在创建Pod时使用镜像快照(ImageSnapshot),可以避免镜像下载,减少Pod启动时间。本文将介绍镜像快照的基本功能,创建和使用方式等。 约束与限制 单个镜像快照最多包含20个镜像。
存必须为创建完成可用(Available)状态。 更多内容,请参考镜像快照概述。 操作步骤 在创建负载的过程中,容器配置填写完成后,打开“启动镜像快照”开关,选择自动匹配镜像快照或指定镜像快照。 自动匹配镜像快照 自动匹配将从用户创建的所有可用镜像快照中选择最优的镜像。按以下顺序进行匹配: