云服务器内容精选

  • 操作步骤 登录kubernetes集群后台节点,确保节点可以正常执行kubectl命令。 执行如下命令,查询插件crd资源,找到待删除的crd资源。 kubectl get crd kubectl get crd |grep {crd_name} 以redis服务为例: [root@osc-auto-test ~]# kubectl get crd |grep redis redises.redis.osc 2022-08-02T02:34:30Z 执行如下命令,删除插件crd资源。 kubectl delete crd {resource_name} [root@osc-auto-test ~]# kubectl delete crd redises.redis.osc
  • 使用场景 用户在云原生服务中心中部署Operator类型或Helm类型服务包时,可能因为在部署前刚删除同名服务包后立即部署,导致Kubernetes集群正在处理删除中的组件。因为新部署的服务或服务实例与Kubernetes待删除的组件是同名的,所以可能产生云原生服务中心界面显示部署成功(因为Kubernetes队列正在处理,可以从集群中查到该同名资源),但是实际集群中没有该资源或者服务实例(Kubernetes队列将其删除)。所以在集群自身机制的时间差内,可能产生云原生服务中心界面显示该服务实例状态为运行中,但是实际集群中并不存在该服务实例。 此类情况发生在工作负载过多,并且网络之间通信不稳定的场景下。
  • 操作场景 添加设备后,默认没有开通服务,您可以按需选择并开通服务。提供的服务如下: 接入调阅服务:提供视频接入和管理功能,开通后可以查看实况和录像。 录像存储服务:提供云端视频存储功能,开通后设置录像计划进行录像存储,关闭服务后会删除所有录像文件。 行业数据流服务:提供云端存储设备智能告警数据功能,开通后可以在云端保存设备智能告警数据,如智能告警图片、智能分析元数据等。关闭服务后会删除所有相关数据。
  • 更多操作 创建服务信息完成后,您还可以执行如下表1的操作。 表1 更多操作 操作 步骤 查看服务详情 单击服务列表中服务中文名,可查看服务详情。 编辑服务信息 说明: 仅可编辑“状态”为“草稿”的服务信息。 单击服务列表“操作”列的“编辑”。 在“编辑服务”页面编辑服务中文名(不可编辑服务所属产品和服务英文名),然后单击“确定”。 删除服务信息 说明: 仅可删除“状态”为“草稿”的服务信息。 单击服务列表中“状态”为“草稿”的服务“操作”列的“删除”。 单击“确定”。 发布服务信息 说明: 仅可发布“状态”为“草稿”或“已下线”的服务信息。 单击服务列表“操作”列的“发布”(发布后服务无法删除,请谨慎操作)。 单击“确定”,该服务信息将发布到已购买的AppStage相关中心。 同步服务信息 说明: 发布服务信息后,如果在AppStage相关中心未同步到该服务信息,可使用此“同步”功能重新同步服务信息。 仅可同步非“草稿”状态的服务信息。 单击服务列表“操作”列的“同步”。 单击“确定”,该服务信息将同步到已购买的AppStage相关中心。 下线服务信息 说明: 下线服务需确保该服务下的微服务已下线,下线后AppStage的开发中心、运维中心等中心无法使用该服务,请谨慎操作;下线后可以在“操作”列再次单击“发布”重新上线该服务信息。 单击服务列表“操作”列的“下线”。 在“下线服务”对话框输入“确定下线”,并单击“确定”。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 status 是 String 服务状态,取值为: running:running为启动节点实例,只有处于stopped状态的节点实例支持启动。 stopped:stopped为停止节点实例,只有处于running状态的节点实例支持停止。
  • URI PUT /v1/{project_id}/services/{service_id}/nodes/{node_id}/status 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 service_id 是 String 服务ID。 node_id 是 String 边缘节点ID。在IEF上创建边缘节点后可得到。
  • 示例代码 在ModelArts notebook平台,Session鉴权无需输入鉴权参数。其它平台的Session鉴权请参见Session鉴权。 TensorFlow1.8本地推理示例代码 需要在环境中配置“tensorflow_model_server”,可调用SDK接口快速配置,请参考如下示例代码。 CPU环境,调用Model.configure_tf_infer_environ(device_type="CPU")完成配置,环境中只需配置运行一次。 GPU环境,调用Model.configure_tf_infer_environ(device_type="GPU")完成配置,环境中只需配置运行一次。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 from modelarts.session import Session from modelarts.model import Model from modelarts.config.model_config import ServiceConfig session = Session() # GPU环境推理配置 Model.configure_tf_infer_environ(device_type="GPU") # CPU环境推理配置 #Model.configure_tf_infer_environ(device_type="CPU") model_instance = Model( session, model_name="input_model_name", # 模型名称 model_version="1.0.0", # 模型版本 source_location=model_location, # 模型文件路径 model_type="MXNet", # 模型类型 model_algorithm="image_classification", # 模型算法 execution_code="OBS_PATH", input_params=input_params, # 参考input_params格式描述 output_params=output_params, # 参考output_params格式描述 dependencies=dependencies, # 参考dependencies格式描述 apis=apis) configs = [ServiceConfig(model_id=model_instance.get_model_id(), weight="100", instance_count=1, specification="local")] predictor_instance = model_instance.deploy_predictor(configs=configs) if predictor_instance is not None: predict_result = predictor_instance.predict(data="your_raw_data_or_data_path", data_type="your_data_type") # 本地推理预测,data支持raw data或者文件路径,data_type支持'json'、'files'或者'images' print(predict_result)
  • 更多操作 创建微服务信息完成后,您还可以执行如下表1的操作。 表1 更多操作 操作 步骤 查看微服务信息 单击微服务列表中的服务中文名称,可查看微服务详情。 编辑微服务信息 说明: 仅可编辑“状态”为“草稿”的微服务的信息。 单击微服务列表“操作”列的“编辑”。 在“编辑微服务”页面编辑微服务中文名(不可编辑微服务所属服务和微服务英文名)。 单击“确认”。 删除微服务信息 说明: 仅可删除“状态”为“草稿”的微服务的信息。 单击微服务列表中“状态”为“草稿”的微服务“操作”列的“删除”。 单击“确定”。 发布微服务信息 说明: 仅可发布“状态”为“草稿”或“已下线”的微服务信息。 单击微服务列表“操作”列的“发布”(发布后服务无法删除,请谨慎操作)。 单击“确定”,该微服务信息将发布到已购买的AppStage相关中心。 同步微服务信息 说明: 发布服务信息后,如果在AppStage相关中心未同步到该微服务信息,可使用此“同步”功能重新同步微服务信息。 仅可同步非“草稿”状态的微服务信息。 单击微服务列表“操作”列的“同步”。 单击“确定”,该微服务信息将同步到已购买的AppStage相关中心。 下线微服务信息 说明: 下线微服务后AppStage的开发中心、运维中心等中心无法使用该微服务,请谨慎操作;下线后可以在“操作”列再次单击“发布”重新上线该微服务信息。 单击微服务所在行“操作列”列“下线”。 在“下线微服务”对话框输入“确定下线”,并单击“确定”。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-ModelArts-User-ID 否 String 委托Token校验workspace时需要填写user id。 X-Auth-Token 是 String 用户token。 表3 请求Body参数 参数 是否必选 参数类型 描述 [数组元素] 是 Array of PatchServiceV2RequestBody objects 参照json patch的格式。目前path只能以“/config”为前缀,即只能修改模型数据。 表4 PatchServiceV2RequestBody 参数 是否必选 参数类型 描述 op 否 String 操作类型,目前仅支持replace。 path 否 String 操作路径,前缀固定为“/config/0/”。 value 否 String 对应修改值。
  • 响应参数 状态码: 200 表5 响应Header参数 参数 参数类型 描述 X-Request-Id String 请求链路编号,可用于日志追踪 表6 响应Body参数 参数 参数类型 描述 update_time String 本次更新时间,仅触发服务配置升级时会返回,比如修改config参数,可根据此时间从服务更新记录中过滤出此次的更新结果;修改描述或启停服务不会返回此参数。 resource_ids String 更新的资源ID。 状态码: 400 表7 响应Header参数 参数 参数类型 描述 X-Request-Id String 请求链路编号,可用于日志追踪 表8 响应Body参数 参数 参数类型 描述 error_code String ModelArts错误码。 error_msg String 具体错误信息。
  • 请求示例 通过patch操作对服务进行更新。 PATCH https://{endpoint}/v1/{project_id}/services/{service_id} [ { "op" : "replace", "path" : "/config/0/envs", "value" : { } }, { "op" : "replace", "path" : "/config/0/model_id", "value" : "a9542b46-8dfd-4184-bd81-c8d8946edb47" }, { "op" : "replace", "path" : "/config/0/additional_properties", "value" : { "persistent_volumes" : [ { "storage_type" : "obs_pfs", "source_address" : "/dongcong4", "mount_path" : "/var/tmp", "storage_type_text" : "atelier_webservice_detail_model_config_volumes_type_obs" } ] } }, { "op" : "replace", "path" : "/config/0/specification", "value" : "modelarts.vm.ai1.a310" }, { "op" : "replace", "path" : "/config/0/pool_name", "value" : "pool-c8e2-04f258c84780d5a52f3bc00dc15aa5e7" } ]
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 service_name String 服务名称。 service_id String 服务ID。 monitors Array of Monitor objects 监控信息详情。 service_running_instance_count Integer 服务运行中实例数量。 service_instance_count Integer 服务实例数量。 req_count_per_min Long 服务分钟调用量,这里指当前时间上一分钟的服务调用总量。 表5 Monitor 参数 参数类型 描述 failed_times Integer 模型实例调用失败次数,在线服务字段。 model_version String 模型版本,在线服务字段。 cpu_memory_total Integer 总内存,单位MB。 gpu_usage Float 已使用GPU个数。 node_name String 节点名称,边缘服务字段。 gpu_total Float 总GPU个数。 model_id String 模型ID,在线服务字段。 invocation_times Integer 模型实例的总调用次数,在线服务字段。 cpu_core_usage Float 已使用CPU核数。 cpu_core_total Float 总CPU核数。 model_name String 模型名称,在线服务字段。 cpu_memory_usage Integer 已使用内存,单位MB。 node_id String 边缘节点ID,边缘服务字段。 model_running_instance_count Integer 模型运行中实例数。 model_instance_count Integer 模型实例数。 gpu_memory_total Float gpu总显存,单位MB。 gpu_memory_usage Float 已使用gpu显存,单位MB。 npu_total Float 总NPU个数。 npu_usage Float 已使用NPU个数。 npu_memory_total Float npu总显存,单位MB。 npu_memory_usage Float 已使用npu显存,单位MB。
  • 响应示例 状态码: 200 监控信息 { "service_name" : "mnist", "service_id" : "195c1f2d-136d-40af-a0f3-db5717d2634a", "monitors" : [ { "failed_times" : 1, "model_version" : "1.0.0", "cpu_core_total" : 4, "cpu_memory_total" : 8192, "model_name" : "minst", "gpu_usage" : 0.6, "cpu_memory_usage" : 2011, "gpu_total" : 1, "model_id" : "0e07b41b-173e-42db-8c16-8e1b44cc0d44", "invocation_times" : 50, "cpu_core_usage" : 2.4 } ] }
  • URI GET /v1/{project_id}/services/{service_id}/monitor 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户项目ID。获取方法请参见获取项目ID和名称。 service_id 是 String 服务ID。 表2 Query参数 参数 是否必选 参数类型 描述 node_id 否 String 待查询的边缘节点ID,仅当infer_type为edge时可指定,默认查询所有节点。
  • 响应示例 状态码: 200 获取推理VPC访问通道信息。 { "dns_domain_name" : "xxx.xxx.com", "vpcep_info" : [ { "vpcep_service_id" : "2275xxxx-c96f-4xxx-820c-c7xxxxxa7899", "vpcep_service_name" : "cn-nxxxx-x.vpcepname.2275xxxx-c96f-4xxx-820c-c7xxxxxa7899", "service_port" : 443 } ] } 状态码: 401 鉴权失败 { "error_code" : "ModelArts.0203", "error_msg" : "Invalid token." }