云服务器内容精选

  • 请求示例 POST https://{endpoint}/v1/{project_id}/v2x-edges/{v2x_edge_id}/apps Content-Type:application/json X-Auth-Token:******** Instance-Id:******** { "edge_app_id" : "test-app", "app_version" : "1.0.0" }
  • 响应参数 状态码: 201 表4 响应Body参数 参数 参数类型 描述 v2x_edge_id String 参数说明:Edge ID,用于唯一标识一个Edge。 edge_app_id String 参数说明:用户自定义应用唯一ID。 app_version String 参数说明:应用版本,比如1.0.0。 status String 参数说明:应用部署状态。 取值范围: UNINSTALLED:待部署 INSTALLED:部署中 OFFLINE:离线 ONLINE:在线 UPGRADING:升级中 DELETING:删除中 RUNNING:运行中
  • 功能介绍 部署边缘应用前需确保: Edge已创建且处于在线状态。相关方法请参见:“创建Edge”和“查询Edge”接口。 待部署的应用已创建且应用版本状态已更新至发布。相关方法请参见:“创建应用”,“创建应用版本”和“更新应用版本状态”接口。 如部署边缘应用接口调用成功,稍后将会自动安装至边缘设备无需手动操作。自动安装完成后应用将处于运行中的状态。 关于应用在设备侧部署的耗时问题:   从边缘应用部署成功到处于运行中状态的耗时取决于边缘设备所处的网络状况以及应用镜像包的大小,可通过查询边缘应用接口获取边缘应用部署状态。
  • 排查思路 容器镜像拉取失败主要原因如图1所示,在此基础上,您可以根据表1逐步排查。 图1 排查思路 表1 排查思路 可能原因 处理措施 镜像地址错误 镜像地址错误 没有镜像拉取权限 没有镜像拉取权限 边缘节点无法解析SWR和OBS 域名 边缘节点无法解析SWR和OBS的域名 边缘节点无法连接SWR 边缘节点无法连接SWR 磁盘空间不足 磁盘空间不足 镜像过大而带宽不足 镜像过大而带宽不足 容器引擎异常 容器引擎异常
  • 边缘节点无法解析SWR和OBS的域名 检查SWR和OBS的域名是否能解析。SWR镜像拉取不仅要可以访问SWR,同时也要可以访问OBS,因为SWR镜像实际存储在OBS中。 请确认您的节点是否可以解析SWR和OBS的域名,如果域名无法解析,将会导致镜像拉取失败。 验证方案1: 在边缘节点上查看日志: cat /var/IEF/sys/log/edge_core.log| grep lookup 验证方案2: 在边缘节点上执行如下命令: ping swr.cn-north-4.myhuaweicloud.com ping obs.cn-north-4.myhuaweicloud.com 看是否可以解析出IP,看是否可以解析域名,如果在边缘节点上域名可以解析,但是登录SWR镜像仓库一直卡住,请确认您的容器引擎的域名解析方式如何配置的。如果无法解析出IP,请执行如下步骤查看域名解析服务器配置是否被修改。 如果配置了本地hosts的做域名与IP地址的映射,请检查配置是否正确。 cat /etc/hosts | grep swr cat /etc/hosts | grep obs 请在环境正确的机器上解析出正确IP后配置,若配置错误会导致域名解析错误。 如果您是通过/etc/resolv.conf文件配置的域名解析服务器来解析域名,请确认配置的域名解析服务器是否正确,该域名解析服务器是否可以解析这两个域名。 注意:如果通过公网访问IEF和容器引擎,中国大陆DNS解析服务器一般设置为114.114.114.114。并且确认您的域名解析服务器配置正确,可以在有效时间内解析到域名。 如果配置 多个域名 解析服务器(其中包含114.114.114.114),但容器引擎仍然无法解析域名,建议注释其他域名解析服务器,只留114.114.114.114尝试。 是否配置了代理,代理服务器是否可以解析这两个域名。 为边缘节点同时开两个终端。 在一个终端上保持:ping swr.cn-north-4.myhuaweicloud.com 在另外一个终端抓包:tcpdump -nn -i eth0 udp port 53 确认使用域名解析服务器的顺序,域名解析情况,最终通过那个域名解析服务器解析出域名(如果配置了hosts文件,不会进行域名解析)。 在一个终端上保持:docker login XXX(在SWR复制的临时登录命令) 在另外一个界面抓包:tcpdump -nn -i eth0 udp port 53 确认使用域名解析服务器的顺序,域名解析情况,最终通过那个域名解析服务器解析出域名(如果配置了hosts文件,不会进行域名解析) 确认上面两步域名解析服务器使用是否一致,域名是否可以解析,请保证您的机器可以在有效时间内解析SWR和OBS的域名,您可以修改/etc/resolv.conf文件并配置hosts文件。
  • 边缘节点无法连接SWR 检查边缘节点到SWR的网络是否能连接。 在边缘节点上: curl -i -k -v swr.cn-north-4.myhuaweicloud.com curl -i -k -v obs.cn-north-4.myhuaweicloud.com 不同区域域名不同。 看边缘节点网络是否连通,如果网络不通,请确认您的网络策略,是否可以连接外网。如果边缘节点测试网络连通,但是执行docker login命令会卡住,请再次依据边缘节点无法解析SWR和OBS的域名确认SWR的域名解析问题。 如果您确认域名可以解析,请依据您为边缘节点设定的访问外网方式,确认您的容器可以访问外网。确认以下问题: 确认是否为节点配置了代理 env| grep proxy env| grep PROXY 确认是否为容器引擎配置了代理 systemctl show --property=Environment docker 如果使用代理访问外网,请确认节点和容器引擎的代理配置正确。 尝试再次登录并下载镜像。 如果显示鉴权失败,请提交工单。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用 IAM 服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 表3 请求Body参数 参数 是否必选 参数类型 描述 app_id 是 String 应用ID 最小长度:4 最大长度:32 app_name 否 String 应用名称 最小长度:4 最大长度:64 description 否 String 应用描述 最小长度:1 最大长度:255 app_type 是 String 应用类型 最小长度:1 最大长度:64
  • 响应参数 状态码: 201 表4 响应Body参数 参数 参数类型 描述 app_id String 应用模板ID 最小长度:1 最大长度:64 description String 应用描述 最小长度:0 最大长度:256 app_type String 应用类型 最小长度:0 最大长度:64 provider_type String 应用来源 最小长度:0 最大长度:64 create_time String 创建时间 最小长度:0 最大长度:256 update_time String 最后一次修改时间 最小长度:0 最大长度:256
  • 响应示例 状态码: 200 OK { "count" : 1000000, "page_info" : { "offset" : 1000000, "limit" : 1000 }, "app_versions" : [ { "app_id" : "string", "version" : "string", "values" : { }, "create_time" : "string", "update_time" : "string" } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 count Integer 总记录数 最小值:0 最大值:1000000 page_info PageInfoDTO object 分页信息 app_versions Array of QueryAppVersionResponseDTO objects 每页记录数 数组长度:0 - 1000000 表5 PageInfoDTO 参数 参数类型 描述 offset Integer 页码 最小值:0 最大值:1000000 limit Integer 每页记录数 最小值:1 最大值:1000 表6 QueryAppVersionResponseDTO 参数 参数类型 描述 app_id String 应用模板ID version String 应用版本 values Object 应用版本配置 create_time String 创建时间 update_time String 最后一次修改时间
  • URI GET /v3/{project_id}/apps/{app_id}/versions 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见 获取项目ID。 app_id 是 String 应用ID 最小长度:1 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 version 否 String 应用版本号 最小长度:1 最大长度:32 limit 否 Integer 每页记录数,默认值为10,取值区间为1-1000。 最小值:1 最大值:1000 缺省值:10 offset 否 Integer 查询的起始位置,取值范围为非负整数,默认为0。 最小值:0 最大值:1000000 缺省值:0
  • 响应示例 状态码: 200 OK { "count" : 1000000, "page_info" : { "offset" : 1000000, "limit" : 1000 }, "templates" : [ { "tpl_id" : "gernal_app_tpl", "name" : "gernal_app_tpl", "description" : "this is a gernal template", "create_time" : "2020-05-28T11:31:29.740Z", "update_time" : "2020-05-28T11:31:29.740Z" } ] }
  • URI GET /v2/{project_id}/templates/apps/configs 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见 获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 查询的起始位置,取值范围为非负整数,默认为0 最小值:0 最大值:1000000 缺省值:0 limit 否 Integer 每页记录数,默认值为10,取值区间为1-1000 最小值:0 最大值:1000000 缺省值:10
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 count Long 总记录数 最小值:0 最大值:1000000 page_info PageInfoDTO object 分页信息 templates Array of QueryAppConfigsTemplateBriefRespDTO objects 模板列表 数组长度:0 - 1000000 表5 PageInfoDTO 参数 参数类型 描述 offset Integer 页码 最小值:0 最大值:1000000 limit Integer 每页记录数 最小值:1 最大值:1000 表6 QueryAppConfigsTemplateBriefRespDTO 参数 参数类型 描述 tpl_id String 模板id 最小长度:1 最大长度:64 name String 模板名称 最小长度:1 最大长度:64 description String 描述 最小长度:0 最大长度:128 create_time String 创建时间 最小长度:0 最大长度:256 update_time String 最后一次修改时间 最小长度:0 最大长度:256
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Instance-Id 否 String 参数说明:实例ID。dris物理实例的唯一标识。获取方法参见获取Instance-Id。 取值范围:仅支持数字,小写字母和连接符(-)的组合,长度36。 X-Auth-Token 否 String 参数说明:用户Token,Token认证鉴权时必选。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 最小长度:1 最大长度:20000