云服务器内容精选

  • 解决方法 在遇到资源不足的情况时,ModelArts会进行三次重试,在服务重试期间,如果有资源释放出来,则服务可以正常部署成功。 如果三次重试后依然没有足够的资源,则本次服务部署失败。参考以下方式解决: 如果是在公共资源池部署服务,可等待其他用户释放资源后,再进行服务部署。 如果是在专属资源池部署服务,在满足模型需求的前提下,尝试选用更小的容器规格或自定义规格,进行服务部署; 如果当前资源池的资源确实不够,也可以考虑将资源池扩容后再进行服务部署。公共资源池扩容,请联系系统管理员。专属资源池扩容,可参考扩缩容资源池。 如果磁盘空间不够,可以尝试重试,使实例调度到其他节点。如果单实例仍磁盘空间不足,请联系系统管理员,更换合适的规格。 如果是大模型导入的AI应用部署服务,请确保专属资源池磁盘空间大于1T(1000GB)。
  • 处理方法1 在ModelArts管理控制台,选择“全局配置”。 在用户名对应的“授权内容”列,单击“查看权限”,确认用户的委托权限是否已包含Tenant Administrator。 图1 查看委托权限详情 是,重新“启动”边缘服务,若还是“异常”则联系技术支持处理。 否,执行下一步,给用户添加委托权限。 添加委托权限。 如果是 IAM 子账号,没有修改委托权限,请联系管理员添加Tenant Adiministrator委托权限。 登录 统一身份认证 服务IAM管理控制台。 单击导航栏的“委托”,进入委托页面。 搜索ModelArts使用的委托,例如“modelarts_agency”,单击委托名称进入“基本信息”页面。 单击“授权”,添加Tenant Adiministrator权限,按操作指引完成授权。 授权完成后,重新“启动”边缘服务,观察状态是否正常。
  • 健康检查配置有问题 镜像如果配置了健康检查,服务启动失败,从以下两个方面进行排查: 健康检查端口是否可以正常工作 自定义镜像 中配置了健康检查,需要在测试镜像时,同步测试健康检查接口是否可以正常工作,具体参考从0-1制作自定义镜像并创建AI应用中的本地验证镜像方法。 创建AI应用界面上配置的健康检查地址与实际配置的是否一致 如果使用的是ModelArts提供的基础镜像创建AI应用,健康检查URL默认必须为/health。 图4 设置健康检查URL
  • 镜像中配置的端口错误 AI应用可以正常启动,但是因为镜像中启用的端口非8080,或者镜像启用的端口与创建AI应用时配置的端口不一致,导致部署服务时register-agent无法与AI应用通信,超过一定时间后(最长20分钟)认为AI应用启动失败。 需要检查两个地方:自定义镜像中的代码开放的端口和创建AI应用界面上配置的端口。确认两处端口保持一致。AI应用创建界面如果不填端口信息,则ModelArts会默认监听8080端口,即镜像代码中启用的端口必须是8080。 图2 自定义镜像中的代码开放的端口 图3 创建AI应用界面上配置的端口
  • 属性总览 您可以使用ServiceStep来构建服务部署节点,ServiceStep结构如下 表1 ServiceStep 属性 描述 是否必填 数据类型 name 服务部署节点的名称,命名规范(只能包含英文字母、数字、下划线(_)、中划线(-),并且只能以英文字母开头,长度限制为64字符),一个Workflow里的两个step名称不能重复 是 str inputs 服务部署节点的输入列表 否 ServiceInput或者ServiceInput的列表 outputs 服务部署节点的输出列表 是 ServiceOutput或者ServiceOutput的列表 title title信息,主要用于前端的名称展示 否 str description 服务部署节点的描述信息 否 str policy 节点执行的policy 否 StepPolicy depend_steps 依赖的节点列表 否 Step或者Step的列表 表2 ServiceInput 属性 描述 是否必填 数据类型 name 服务部署节点的输入名称,命名规范(只能包含英文字母、数字、下划线(_)、中划线(-),并且只能以英文字母开头,长度限制为64字符)。同一个Step的输入名称不能重复 是 str data 服务部署节点的输入数据对象 是 模型列表或服务相关对象,当前仅支持ServiceInputPlaceholder,ServiceData,ServiceUpdatePlaceholder 表3 ServiceOutput 属性 描述 是否必填 数据类型 name 服务部署节点的输出名称,命名规范(只能包含英文字母、数字、下划线(_)、中划线(-),并且只能以英文字母开头,长度限制为64字符)。同一个Step的输出名称不能重复 是 str service_config 服务部署相关配置信息 是 ServiceConfig 表4 ServiceConfig 属性 描述 是否必填 数据类型 infer_type 推理方式:取值可为real-time/batch/edge。默认为real-time。 real-time代表在线服务,将模型部署为一个Web Service。 batch为批量服务,批量服务可对批量数据进行推理,完成数据处理后自动停止。 edge表示边缘服务,通过华为云智能边缘平台,在边缘节点将模型部署为一个Web Service,需提前在IEF(智能边缘服务)创建好节点。 是 str service_name 服务名称,支持1-64位可见字符(含中文),名称可以包含字母、中文、数字、中划线、下划线。 说明: 该字段不填时默认为自动生成的服务名称。 否 str、Placeholder description 服务备注,默认为空,不超过100个字符。 否 str vpc_id 在线服务实例部署的虚拟私有云ID,默认为空,此时ModelArts会为每个用户分配一个专属的VPC,用户之间隔离。如需要在服务实例中访问名下VPC内的其他服务组件,则可配置此参数为对应VPC的ID。VPC一旦配置,不支持修改。当vpc_id与cluster_id一同配置时,只有专属资源池参数生效。 否 str subnet_network_id 子网的网络ID,默认为空,当配置了vpc_id则此参数必填。需填写虚拟私有云控制台子网详情中显示的“网络ID”。通过子网可提供与其他网络隔离的、可以独享的网络资源。 否 str security_group_id 安全组,默认为空,当配置了vpc_id则此参数必填。安全组起着虚拟防火墙的作用,为服务实例提供安全的网络访问控制策略。安全组须包含至少一条入方向规则,对协议为TCP、源地址为0.0.0.0/0、端口为8080的请求放行。 否 str cluster_id 专属资源池ID,默认为空,不使用专属资源池。使用专属资源池部署服务时需确保集群状态正常;配置此参数后,则使用集群的网络配置,vpc_id参数不生效;与下方real-time config中的cluster_id同时配置时,优先使用real-time config中的cluster_id参数。 否 str additional_properties 附加的相关配置信息。 否 dict apps 服务部署支持APP认证。支持填入多个app name。 否 str、Placeholder、list envs 环境变量 否 dict 示例: example = ServiceConfig() # 主要在服务部署节点的输出中使用 如果您没有特殊需求,可直接使用内置的默认值。 父主题: 服务部署节点
  • 解决方法 使用状态为告警的服务进行预测,可能存在预测失败的风险,请从以下4个角度进行排查,并重新部署。 后台预测请求过多。 如果您使用API接口进行预测,请检查是否预测请求过多。大量的预测请求会导致部署的在线服务进入告警状态。 业务内存不正常。 请检查推理代码是否存在内存溢出或者内存泄漏的问题。 模型运行异常。 请检查您的模型是否能正常运行。例如模型依赖的资源是否故障,需要排查推理日志。 实例pod数量异常 。 如果您曾经找过运维人员删除过异常的实例pod,事件中可能会出现告警“服务异常,不正常的实例数为XXX”。在出现这种告警后,服务会自动拉起新的正常实例,从而恢复到正常运行状态。请您耐心等待。
  • 边缘服务器安装Docker docker 查看docker版本,版本建议20以上 sudo docker --version 安装教程 sudo apt updatesudo apt install docker-ce docker-ce-cli containerd.io nvidia-docker 查看nvidia-docker版本 sudo nvidia-docker --version 安装教程参考:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#install-guide distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \&& curl -s -L https://nvidia.github.io/libnvidia-container/experimental/$distribution/libnvidia-container.list | \sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.listsudo apt-get updatesudo apt-get install -y nvidia-docker2sudo systemctl restart docker 父主题: 边缘服务部署
  • Jenkins Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。前身是Hudson是一个可扩展的持续集成引擎。可用于自动化各种任务,如构建,测试和部署软件。Jenkins可以通过本机系统包Docker安装,甚至可以通过安装Java Runtime Environment的任何机器独立运行。 下载安装 下载安装包wget https://get.jenkins.io/redhat-stable/jenkins-2.332.1.noarch.rpm直接安装rpm -ivh jenkins-2.222.1-1.1.noarch.rpm修改端口号,权限vim /etc/sysconfig/jenkins#监听端口JENKINS_PORT="6001"#为了不因为权限出现各种问题,这里直接使用rootJENKINS_USER="root"启动Jenkinsservice jenkins start 图1 解锁 配置项目自动构建 新建一个项目文件 图2 新建一个项目文件 配置项目Git地址 图3 配置项目Git地址 配置构件步骤 图4 配置构件步骤 保存更改,点击构建,这样就能自动启动应用 图5 启动应用 父主题: 应用服务部署
  • 后续操作(可选) 已部署的服务,支持查看创建、删除等操作记录。左侧操作状态栏会展示已有操作记录的状态,操作状态类型包括:进行中、成功和失败。 图1 华为云 区块链 引擎操作记录 系统将保留最近三天的操作记录。 登录华为云区块链引擎服务管理控制台,单击左侧导航栏中的“服务管理”,选择华为云区块链引擎。 单击“操作记录”,查看各个资源的操作记录。 您可以按资源名称搜索操作记录,还可以在资源所在行进行“操作详情”及“删除”操作。
  • 部署华为云区块链引擎服务 完成环境准备工作后,可按照如下步骤购买并部署华为云区块链引擎服务。 登录华为云区块链引擎服务管理控制台,进入“服务管理”,在华为云区块链引擎页面单击“购买”。 已部署的服务,单击左侧导航栏中的“服务管理”,单击右侧的“操作记录”,查看操作记录并在服务右侧进行“操作详情”及“删除”操作。 根据界面提示,配置区块链基本信息,参数如表1所示。 表1 基本信息配置 参数 描述 示例 计费模式 华为云区块链引擎服务管理收费模式,支持包年/包月。 包年/包月 区域 区块链基础设施所在的区域,建议选择与业务应用系统相同的地域。 使用默认区域 区块链服务名称 支持英文字符、数字及中划线,不能以中划线开头,长度为4-24个字符。 说明: 目前区块链名称不支持修改,只能删除重新创建。 hbs-wh 管理模式 选择云端管理:使用华为云资源管理区块链数据。 云端管理 版本类型 HBS提供专业版、企业版和铂金版供您选择。 专业版 组织配置 支持增加组织成员数。 专业版支持最大成员组织数2个,企业版支持最大成员组织数10个,铂金版支持最大成员组织数100个。 - 高级设置 共识策略:区块链网络中节点之间达成共识需要遵从的规则。默认为Raft(CFT)策略。 安全机制:保证数据安全的加密算法,默认为ECDSA;支持国密算法。 - 购买时长 支持自定义购买服务的使用时间,最短1个月。 您可根据需要选择勾选自动续费,按月购买的自动续费周期为1个月,按年购买的自动续费周期为1年。 默认1个月 单击“立即创建”。 确认配置信息无误后,勾选协议和免责声明,并单击“提交”。 进入支付页面,确认订单费用无误后,单击“确认付款”,订单支付成功后,即可返回华为云区块链引擎服务控制台查看正在创建的服务。 服务创建大概需要18-25分钟,请耐心等待。服务创建成功后,查看服务状态变为“正常”后,表示华为云区块链引擎服务部署完成。