华为云用户手册

  • 请求示例 更新应用部署,应用部署副本数为1,应用实例启用主机网络,重启策略为“always”。 { "deployment" : { "replicas" : 1, "template" : { "configs" : { "host_network" : true, "host_pid" : true, "migration" : true, "restart_policy" : "Always", "toleration_seconds" : 300 }, "containers" : [ { "name" : "container-0", "image_url" : "swr.cn-north-1.myhuaweicloud.com/ief-test/nginx:0705", "args" : [ "-c", "sleep 1000" ], "command" : [ "/bin/bash" ], "resources" : { "limits" : { "cpu" : "0.25", "memory" : "500", "gpu" : "500" }, "requests" : { "cpu" : "0.25", "memory" : "500", "gpu" : "500" } }, "envs" : [ { "name" : "CERT_PATH", "value" : "/opt/cert" } ], "ports" : [ { "container_port" : 80, "host_port" : 80 } ], "privileged" : true, "readiness_probe" : { "http_get" : { "path" : "/", "port" : 80, "scheme" : "HTTP" }, "initial_delay_seconds" : 10, "timeout_seconds" : 10 }, "liveness_probe" : { "http_get" : { "path" : "/", "port" : 80, "scheme" : "HTTP" }, "initial_delay_seconds" : 10, "timeout_seconds" : 10 }, "version" : "1.0" } ] } }, "description" : "this is a test app" }
  • 响应示例 状态码: 200 ok { "id" : "3e64d98a-37c5-43a6-9bfe-052b9083e362", "name" : "app-test", "replicas" : 1, "ready_replicas" : 1, "description" : "this is a test app", "group_id" : "", "node_ids" : [ "29d20c18-c20c-4a45-a087-42c766fc5d97" ], "tags" : [ { "key" : "app", "value" : "test" } ], "api_version" : "v3", "source" : "userdefine", "project_id" : "bcd83056c918480f8f190844bd425b23", "created_at" : "2019-10-10T02:21:38.489Z", "updated_at" : "2019-10-10T02:21:38.489Z", "template" : { "configs" : { "host_network" : true, "host_pid" : true, "migration" : true, "restart_policy" : "Always", "toleration_seconds" : 300 }, "init_containers" : [ ], "containers" : [ { "name" : "container-0", "image_url" : "swr.cn-north-1.myhuaweicloud.com/ief-test/nginx:0705", "npu_type" : "", "args" : [ "-c", "sleep 1000" ], "command" : [ "/bin/bash" ], "resources" : { "limits" : { "cpu" : "0.25", "memory" : "500", "gpu" : "500" }, "requests" : { "cpu" : "0.25", "memory" : "500", "gpu" : "500" } }, "envs" : [ { "name" : "CERT_PATH", "value" : "/opt/cert" } ], "ports" : [ { "container_port" : 80, "host_port" : 80 } ], "privileged" : true, "readiness_probe" : { "http_get" : { "path" : "/", "port" : 80, "scheme" : "HTTP" }, "initial_delay_seconds" : 10, "timeout_seconds" : 10 }, "liveness_probe" : { "http_get" : { "path" : "/", "port" : 80, "scheme" : "HTTP" }, "initial_delay_seconds" : 10, "timeout_seconds" : 10 }, "version" : "1.0" } ] } } 状态码: 400 error { "error_code" : "IEF.100001", "error_msg" : "PROJECT_ID not found" } 状态码: 500 error { "error_code" : "IEF.100158", "error_msg" : "Fail to extract gpu infomation" }
  • 响应示例 状态码: 201 ok { "created_at" : "2020-09-23 02:38:17.894471458 +0000 UTC", "replicas" : 1, "ready_replicas" : 0, "description" : "this is a test app", "group_id" : "", "node_ids" : [ "9ebd8efb-9fdd-44a1-abda-9cdbc287a867" ], "id" : "66a7fe7e-699a-41b2-9119-f9468a5ed78e", "name" : "app", "source" : "", "template" : { "configs" : { "host_network" : true, "host_pid" : true, "restart_policy" : "Always", "migration" : false, "toleration_seconds" : 300 }, "init_containers" : [ ], "containers" : [ { "name" : "container-0", "image_url" : "nginx:alpine", "npu_type" : "", "resources" : { "limits" : { "cpu" : "0.25", "memory" : "500" }, "requests" : { "cpu" : "0.25", "memory" : "500" } }, "privileged" : false, "version" : "" } ] }, "state" : "", "project_id" : "05e1aef9040010e22fccc009adecb056", "updated_at" : "2020-09-23 02:38:17.894471458 +0000 UTC", "api_version" : "v3", "source_id" : "" } 状态码: 400 error { "error_code" : "IEF.100001", "error_msg" : "PROJECT_ID not found" } 状态码: 500 error { "error_code" : "IEF.100158", "error_msg" : "Fail to extract gpu infomation" }
  • 请求示例 创建部署,应用部署到指定节点,容器网络为主机网络。 { "name" : "app", "description" : "this is a test app", "node_ids" : [ "9ebd8efb-9fdd-44a1-abda-9cdbc287a867" ], "tags" : [ { "key" : "app", "value" : "test" } ], "deployment" : { "replicas" : 1, "template" : { "configs" : { "host_network" : true, "host_pid" : true, "restart_policy" : "Always", "toleration_seconds" : 300 }, "containers" : [ { "name" : "container-0", "image_url" : "nginx:alpine", "resources" : { "limits" : { "cpu" : "0.25", "memory" : "500" }, "requests" : { "cpu" : "0.25", "memory" : "500" } } } ] } } }
  • 响应参数 状态码: 201 表6 响应Body参数 参数 参数类型 描述 encrypt_data EncryptData object 加密数据信息 表7 EncryptData 参数 参数类型 描述 id String 加密数据ID name String 加密数据名称 description String 加密数据描述 config Array of EncryptDataItem objects 加密数据项配置 project_id String 项目ID ief_instance_id String 铂金版实例ID,专业版实例为default domain_id String 租户账户ID created_time Long 加密数据创建时间 updated_time Long 加密数据更新时间 表8 EncryptDataItem 参数 参数类型 描述 name String 加密数据项键名,小写英文字母、数字、中划线,以小写字母或数字开头,最大长度为32个字符,不能为空 value String 加密数据项键值 is_encrypted Boolean 加密数据项键值是否已加密,默认为true
  • 响应示例 状态码: 201 ok { "encrypt_data" : { "id" : "f8d1bdcc-2090-976c-1931-c90a39c0f12f", "name" : "test-demo", "description" : "example", "config" : [ { "name" : "a", "value" : "00000001000000015005F6399D69B268551A78D994EB7755B1FE47AE5EE02C0A1C2BA9E456F856ED", "is_encrypted" : true } ], "project_id" : "fake_id", "ief_instance_id" : "", "domain_id" : "fake_id", "created_time" : 1663917971, "updated_time" : 1663917971 } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),默认取值为“application/json” X-Auth-Token 是 String 用户Token。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 ief-instance-id 否 String 铂金版实例ID,专业版实例为空值 表3 请求Body参数 参数 是否必选 参数类型 描述 encrypt_data 是 EncryptDataIn object 加密数据信息 表4 EncryptDataIn 参数 是否必选 参数类型 描述 name 是 String 加密数据名称,小写英文字母、数字、中划线,以小写字母或数字开头,最大长度为64个字符,不能为空 description 否 String 加密数据描述 config 是 Array of EncryptDataItem objects 加密数据项配置 表5 EncryptDataItem 参数 是否必选 参数类型 描述 name 是 String 加密数据项键名,小写英文字母、数字、中划线,以小写字母或数字开头,最大长度为32个字符,不能为空 value 是 String 加密数据项键值 is_encrypted 否 Boolean 加密数据项键值是否已加密,默认为true
  • 请求示例 新增加密数据,加密数据键名为“test”,键值为“test”,键值不加密。 { "encrypt_data" : { "name" : "test-demo", "description" : "example", "config" : [ { "name" : "test", "value" : "test", "is_encrypted" : false } ] } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),默认取值为“application/json” X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 ief-instance-id 否 String 铂金版实例ID,专业版实例为空值
  • 响应参数 状态码: 201 表6 响应Body参数 参数 参数类型 描述 encrypt_data EncryptData object 加密数据信息 表7 EncryptData 参数 参数类型 描述 id String 加密数据ID name String 加密数据名称 description String 加密数据描述 config Array of EncryptDataItem objects 加密数据项配置 project_id String 项目ID ief_instance_id String 铂金版实例ID,专业版实例为default domain_id String 租户账户ID created_time Long 加密数据创建时间 updated_time Long 加密数据更新时间 表8 EncryptDataItem 参数 参数类型 描述 name String 加密数据项键名,小写英文字母、数字、中划线,以小写字母或数字开头,最大长度为32个字符,不能为空 value String 加密数据项键值 is_encrypted Boolean 加密数据项键值是否已加密,默认为true
  • 响应示例 状态码: 201 ok { "encrypt_data" : { "id" : "f8d1bdcc-2090-976c-1931-c90a39c0f12f", "name" : "test-demo", "description" : "example", "config" : [ { "name" : "a", "value" : "00000001000000015005F6399D69B268551A78D994EB7755B1FE47AE5EE02C0A1C2BA9E456F856ED", "is_encrypted" : true }, { "name" : "b", "value" : "000000010000000134A31984A25B60A6993116C5FA410A6BB79607D2B2DC4F68627701459F56B512", "is_encrypted" : true } ], "project_id" : "fake_id", "ief_instance_id" : "", "domain_id" : "fake_id", "created_time" : 1663917971, "updated_time" : 1663918269 } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),默认取值为“application/json” X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 ief-instance-id 否 String 铂金版实例ID,专业版实例为空值 表3 请求Body参数 参数 是否必选 参数类型 描述 encrypt_data 是 EncryptDataIn object 加密数据信息 表4 EncryptDataIn 参数 是否必选 参数类型 描述 name 是 String 加密数据名称,小写英文字母、数字、中划线,以小写字母或数字开头,最大长度为64个字符,不能为空 description 否 String 加密数据描述 config 是 Array of EncryptDataItem objects 加密数据项配置 表5 EncryptDataItem 参数 是否必选 参数类型 描述 name 是 String 加密数据项键名,小写英文字母、数字、中划线,以小写字母或数字开头,最大长度为32个字符,不能为空 value 是 String 加密数据项键值 is_encrypted 否 Boolean 加密数据项键值是否已加密,默认为true
  • 请求示例 更新加密数据,更新加密数据键名,键值,键值是否加密。 { "encrypt_data" : { "name" : "test-demo", "description" : "example", "config" : [ { "name" : "a", "value" : "00000001000000015005F6399D69B268551A78D994EB7755B1FE47AE5EE02C0A1C2BA9E456F856ED", "is_encrypted" : true }, { "name" : "b", "value" : "www", "is_encrypted" : false } ] } }
  • 响应示例 状态码: 200 ok { "app" : { "name" : "test", "created_at" : "2018-05-25T03:26:33", "updated_at" : "2018-05-25T03:29:48", "visibility" : "private", "alias" : "边缘 人脸识别 ", "project_id" : "{project_id}", "id" : "2873e595-a55c-4d55-aa8f-eefcbd2b5027", "description" : "This is a test.", "app_versions" : [ { "envs" : [ ], "created_at" : "2018-05-23T03:58:41", "args" : [ ], "updated_at" : null, "version" : "1.0.0", "image_url" : "", "volumes" : [ ], "configs" : { "host_network" : true, "privileged" : false }, "project_id" : "{project_id}", "id" : "6670f491-72d9-46e8-85f3-3a480b636205" } ] } }
  • 响应示例 状态码: 200 ok { "count" : 1, "encrypt_datas" : [ { "id" : "bda00470-6276-45e7-a31c-d8df49aaddb0", "name" : "edm", "description" : "jiasd", "config" : [ { "name" : "test", "value" : "00000001000000014CD5110B4B0220A0922E657EB1AAEEDED416C1ACA452898BD9E49A369D815AE1", "is_encrypted" : true }, { "name" : "ttt", "value" : "00000001000000019899554D877CF33E335EA4BF9677EA16CF7FF8ACBF4662DBAE8B59DEB45B9E9F", "is_encrypted" : true } ], "project_id" : "ed202955e111444e8ced21a1bd75fc59", "ief_instance_id" : "default", "domain_id" : "d0857ebddc514a7381c3673363e61337", "created_time" : 1636102579, "updated_time" : 1636103433 } ] }
  • URI GET /v2/{project_id}/edm/nodes/{node_id}/encryptdatas 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID node_id 是 String 边缘节点ID 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 查询返回记录的数量限制 offset 否 Integer 偏移量,表示查询该偏移量后面的记录
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),默认取值为“application/json” X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 ief-instance-id 否 String 铂金版实例ID,专业版实例为空值
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 encrypt_datas Array of EncryptData objects 加密数据列表详情 count Integer 加密数据总数 表5 EncryptData 参数 参数类型 描述 id String 加密数据ID name String 加密数据名称 description String 加密数据描述 config Array of EncryptDataItem objects 加密数据项配置 project_id String 项目ID ief_instance_id String 铂金版实例ID,专业版实例为default domain_id String 租户账户ID created_time Long 加密数据创建时间 updated_time Long 加密数据更新时间 表6 EncryptDataItem 参数 参数类型 描述 name String 加密数据项键名,小写英文字母、数字、中划线,以小写字母或数字开头,最大长度为32个字符,不能为空 value String 加密数据项键值 is_encrypted Boolean 加密数据项键值是否已加密,默认为true
  • URI GET /v2/{project_id}/edm/encryptdatas/{encryptdata_id}/nodes 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID encryptdata_id 是 String 加密数据ID 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 查询返回记录的数量限制 offset 否 Integer 偏移量,表示查询该偏移量后面的记录
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 count Integer 绑定的边缘节点总数 nodes Array of EncryptDataNodes objects 边缘节点列表 表5 EncryptDataNodes 参数 参数类型 描述 id String 边缘节点ID state String 边缘节点状态 name String 边缘节点名称 host_name String 边缘节点主机名 host_ips Array of strings 边缘节点主机IP地址列表
  • 响应示例 状态码: 200 ok { "count" : 2, "nodes" : [ { "id" : "4bd068db-cd56-4275-877a-011568efdc06", "name" : "atlas500-npu-001", "state" : "FAIL", "host_name" : "Euler", "host_ips" : [ "192.168.0.218" ] }, { "id" : "7c80120e-b160-4c0f-9772-9b3106b31793", "name" : "6914npu", "state" : "FAIL", "host_name" : "Euler", "host_ips" : [ "192.168.0.218" ] } ] }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),默认取值为“application/json” X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 ief-instance-id 否 String 铂金版实例ID,专业版实例为空值
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),默认取值为“application/json” X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 ief-instance-id 否 String 铂金版实例ID,专业版实例为空值
  • 响应示例 状态码: 200 ok { "app" : { "id" : "de1f8e07-30ab-438c-ab46-0f6802a2d366", "name" : "app-test", "description" : "", "project_id" : "pid", "created_at" : "2022-06-14T12:20:40.314553Z", "alias" : "", "visibility" : "private", "icon_url" : "", "app_versions" : [ { "id" : "45880702-8d26-4bd3-afa1-b8cadf035eee", "created_at" : "2022-06-14T12:20:40.45464Z", "project_id" : "ed202955e111444e8ced21a1bd75fc59", "image_url" : "sample:latest", "envs" : [ ], "volumes" : [ ], "configs" : { "host_network" : true, "ports" : null, "restart_policy" : "Always", "privileged" : false }, "resources" : { "limits" : { "cpu" : 1, "memory" : 512 }, "requests" : { "cpu" : 0.25, "memory" : 512 } }, "arch" : "x86_64", "command" : null, "args" : null, "version" : "test", "liveness_probe" : { }, "readiness_probe" : { }, "npu_type" : "" } ] } }
  • 请求示例 更新应用模板版本,修改环境变量配置,更新卷类型为“hostPath”。 { "version" : { "resources" : { "limits" : { "cpu" : 0.1, "memory" : 1024, "gpu" : 3.9 }, "requests" : { "cpu" : 0.1, "memory" : 1024, "gpu" : 3.9 } }, "envs" : [ { "name" : "key", "value" : "name" } ], "volumes" : [ { "name" : "test", "type" : "hostPath", "source" : "/tmp", "destination" : "/tmp0", "read_only" : true } ], "configs" : { "privileged" : true, "host_network" : true, "restart_policy" : "Always" } } }
  • 响应示例 状态码: 200 ok { "version" : { "id" : "bc0ed193-d464-4707-a246-c98feb5d04af", "created_at" : "2023-06-28T03:37:52.572388Z", "updated_at" : "2023-06-28T03:47:36.815713563Z", "project_id" : "{project_id}", "image_url" : "", "envs" : [ ], "volumes" : [ ], "configs" : { "host_network" : true, "restart_policy" : "Always", "privileged" : false }, "resources" : { "limits" : { "cpu" : 1, "memory" : 512 }, "requests" : { "cpu" : 0.25, "memory" : 512 } }, "arch" : "", "command" : [ ], "args" : [ ], "version" : "1.0", "liveness_probe" : { }, "readiness_probe" : { }, "npu_type" : "" } }
  • 响应参数 状态码: 200 表16 响应Body参数 参数 参数类型 描述 version AppVersionDetail object app详情 表17 AppVersionDetail 参数 参数类型 描述 id String 应用版本ID version String 应用版本号 created_at String 创建时间 updated_at String 更新时间 只有更新后才会出现该字段 project_id String 项目ID image_url String 镜像存储地址 envs Array of Env objects 环境变量 volumes Array of Volumes objects 卷配置 configs AppConfigs object 容器特殊参数 resources Resources object 容器使用的资源 arch String 架构 command Array of strings 启动命令 args Array of strings 参数 liveness_probe ProbeDetail object 工作负载存活探针 readiness_probe ProbeDetail object 工作负载业务探针 npu_type String NPU类型,支持D310、D310B,支持填写: D310:D310类型 D310B:D310B类型 不填表示为D310类型。 表18 Env 参数 参数类型 描述 name String 环境变量的key,由大小写字母或下划线开头,由数字、大小写字母、下划线组成,最大长度2048个字符,不允许重复 value String 环境变量的value,最大长度20480个字符。value、value_from和field_path必须三选一使用。 value_from ValueFrom object 环境变量可使用配置项和密钥导入 field_path String 该参数目前只支持赋值"status.hostIP",即引用边缘节点的IP地址作为环境变量。 表19 ValueFrom 参数 参数类型 描述 secret Secrets object 环境变量引用密钥时使用。使用ValueFrom时,secret与configmap必须二选一。 configmap ConfigsMap object 环境变量引用配置项时使用。 表20 Secrets 参数 参数类型 描述 name String 密钥的名称 key String 密钥的属性名 表21 ConfigsMap 参数 参数类型 描述 name String 配置项的名称 key String 配置项的属性名 表22 Volumes 参数 参数类型 描述 name String 卷名称,小写字母或数字,最长63个字符 type String 卷的类型,支持configMap,secret,emptyDir,hostPath source String 卷来源,type为hostPath时输入路径,要求以/开头,后面可包含中划线,反斜杠,下划线,点号,字母,数字; secret时输入secret名称,configMap时输入configMap名称,emptyDir时输入disk或memory destination String 卷挂载路径,必须是合法的路径 read_only Boolean 读写权限,configMap和secret类型只支持读权限 default_mode Integer 挂载的文件权限,仅configMap和secret类型生效,默认为0644,支持填写十进制和八进制参数 表23 AppConfigs 参数 参数类型 描述 privileged Boolean 默认为false,表示是否开启特权模式 run_as_user Integer 容器运行用户ID,输入范围为0~65534的整数 host_network Boolean 默认为true,其中true表示主机网络,而false表示端口映射 restart_policy String 应用实例重启模式: Always:当容器终止退出后,总是重启容器 Onfailure:容器异常退出(退出码非0)时才重启容器 Never:容器终止退出后,不重启容器 ports Array of Ports objects 容器端口映射值 host_pid Boolean 应用实例是否与主机共PID命名空间,默认值false dns_policy String 应用实例DNS策略,可选值Default、ClusterFirst、ClusterFirstWithHostNet,默认为Default。应用实例启用主机网络时只能选填Default、ClusterFirstWithHostNet,不启用主机网络时只能选填Default、ClusterFirst 表24 Ports 参数 参数类型 描述 container_port Integer 构成一堆映射的容器端口 host_port Integer 构成一对映射的物理机对应网卡端口 host_ip String 对应网卡地址 表25 Resources 参数 参数类型 描述 limits LimitsRequests object 允许容器使用的最大资源 requests LimitsRequests object 容器需要使用的最小资源 表26 LimitsRequests 参数 参数类型 描述 cpu Float cpu核数,大于等于0.01,最大1000;请求不需要带单位 memory Float 内存大小,单位兆,大于等于0.01,最大1024000。注意:内存的limits值最小为4;请求不需要带单位 gpu Float Gpu显存大小,单位兆,大于等于0.01,最大1024000;请求不需要带单位 npu Integer Npu个数,大于0,最大1000;请求不需要带单位 表27 ProbeDetail 参数 参数类型 描述 exec_command String 执行探测的命令行命令,长度1-10240内的字符串 http_get HttpGetDetail object 执行http探测 initial_delay_seconds Integer 表示从工作负载启动后从多久开始探测,大于0且不大于3600的整数,默认为10 timeout_seconds Integer 表示探测超时时间,大于0且不大于3600的整数,默认为1 表28 HttpGetDetail 参数 参数类型 描述 path String 必须要以/开头,构造结果为:协议类型://主机地址:端口路径 port Integer 探测的http端口,1到65535之间的整数 host String 请求的主机地址,默认为容器IP scheme String 协议类型,HTTP或HTTPS,默认HTTP
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),默认取值为“application/json” X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 ief-instance-id 否 String 铂金版实例ID,专业版实例为空值 表3 请求Body参数 参数 是否必选 参数类型 描述 version 是 VersionUpdate object 更新应用模板版本配置 表4 VersionUpdate 参数 是否必选 参数类型 描述 envs 否 Array of Env objects 环境变量 volumes 否 Array of Volumes objects 卷配置 configs 否 AppConfigs object 容器特殊参数 resources 否 Resources object 资源配额 command 否 Array of strings 启动命令 args 否 Array of strings 参数 liveness_probe 否 ProbeDetail object 工作负载存活探针 readiness_probe 否 ProbeDetail object 工作负载业务探针 npu_type 否 String NPU类型,支持D310、D310B,支持填写: D310:D310类型 D310B:D310B类型 不填表示为D310类型。 表5 Env 参数 是否必选 参数类型 描述 name 是 String 环境变量的key,由大小写字母或下划线开头,由数字、大小写字母、下划线组成,最大长度2048个字符,不允许重复 value 否 String 环境变量的value,最大长度20480个字符。value、value_from和field_path必须三选一使用。 value_from 否 ValueFrom object 环境变量可使用配置项和密钥导入 field_path 否 String 该参数目前只支持赋值"status.hostIP",即引用边缘节点的IP地址作为环境变量。 表6 ValueFrom 参数 是否必选 参数类型 描述 secret 否 Secrets object 环境变量引用密钥时使用。使用ValueFrom时,secret与configmap必须二选一。 configmap 否 ConfigsMap object 环境变量引用配置项时使用。 表7 Secrets 参数 是否必选 参数类型 描述 name 是 String 密钥的名称 key 是 String 密钥的属性名 表8 ConfigsMap 参数 是否必选 参数类型 描述 name 是 String 配置项的名称 key 是 String 配置项的属性名 表9 Volumes 参数 是否必选 参数类型 描述 name 是 String 卷名称,小写字母或数字,最长63个字符 type 是 String 卷的类型,支持configMap,secret,emptyDir,hostPath source 是 String 卷来源,type为hostPath时输入路径,要求以/开头,后面可包含中划线,反斜杠,下划线,点号,字母,数字; secret时输入secret名称,configMap时输入configMap名称,emptyDir时输入disk或memory destination 是 String 卷挂载路径,必须是合法的路径 read_only 否 Boolean 读写权限,configMap和secret类型只支持读权限 default_mode 否 Integer 挂载的文件权限,仅configMap和secret类型生效,默认为0644,支持填写十进制和八进制参数 表10 AppConfigs 参数 是否必选 参数类型 描述 privileged 否 Boolean 默认为false,表示是否开启特权模式 run_as_user 否 Integer 容器运行用户ID,输入范围为0~65534的整数 host_network 否 Boolean 默认为true,其中true表示主机网络,而false表示端口映射 restart_policy 否 String 应用实例重启模式: Always:当容器终止退出后,总是重启容器 Onfailure:容器异常退出(退出码非0)时才重启容器 Never:容器终止退出后,不重启容器 ports 否 Array of Ports objects 容器端口映射值 host_pid 否 Boolean 应用实例是否与主机共PID命名空间,默认值false dns_policy 否 String 应用实例DNS策略,可选值Default、ClusterFirst、ClusterFirstWithHostNet,默认为Default。应用实例启用主机网络时只能选填Default、ClusterFirstWithHostNet,不启用主机网络时只能选填Default、ClusterFirst 表11 Ports 参数 是否必选 参数类型 描述 container_port 否 Integer 构成一堆映射的容器端口 host_port 否 Integer 构成一对映射的物理机对应网卡端口 host_ip 否 String 对应网卡地址 表12 Resources 参数 是否必选 参数类型 描述 limits 否 LimitsRequests object 允许容器使用的最大资源 requests 否 LimitsRequests object 容器需要使用的最小资源 表13 LimitsRequests 参数 是否必选 参数类型 描述 cpu 否 Float cpu核数,大于等于0.01,最大1000;请求不需要带单位 memory 否 Float 内存大小,单位兆,大于等于0.01,最大1024000。注意:内存的limits值最小为4;请求不需要带单位 gpu 否 Float Gpu显存大小,单位兆,大于等于0.01,最大1024000;请求不需要带单位 npu 否 Integer Npu个数,大于0,最大1000;请求不需要带单位 表14 ProbeDetail 参数 是否必选 参数类型 描述 exec_command 否 String 执行探测的命令行命令,长度1-10240内的字符串 http_get 否 HttpGetDetail object 执行http探测 initial_delay_seconds 否 Integer 表示从工作负载启动后从多久开始探测,大于0且不大于3600的整数,默认为10 timeout_seconds 否 Integer 表示探测超时时间,大于0且不大于3600的整数,默认为1 表15 HttpGetDetail 参数 是否必选 参数类型 描述 path 是 String 必须要以/开头,构造结果为:协议类型://主机地址:端口路径 port 是 Integer 探测的http端口,1到65535之间的整数 host 否 String 请求的主机地址,默认为容器IP scheme 否 String 协议类型,HTTP或HTTPS,默认HTTP
  • API概览 类型 说明 边缘节点管理 边缘节点管理接口,包括边缘节点的创建,查询,修改,删除等接口。 边缘节点组管理 边缘节点组管理接口,包括边缘节点组的查询,更新,删除等接口。 终端设备管理 终端设备管理接口,包括终端设备的创建,查询,修改,删除等接口。 终端设备模板管理 终端设备模板管理接口,包括终端设备模板的创建,查询,修改,删除等接口 应用模板管理 应用模板管理接口,包括应用模板的创建,查询,更新,删除等接口。 部署管理 边缘应用部署管理接口v3版本,包括边缘应用部署的创建,查询,更新,删除等接口。 应用部署管理 v2 边缘应用部署管理接口v2版本,包括边缘应用部署的创建,查询,更新,删除等接口。 标签管理 标签管理接口,包括标签的添加、查询,删除等接口。 配置项管理 配置项管理接口,包括配置项的创建、更新、查询、删除等接口。 密钥管理 密钥管理接口,包括密钥的创建、更新、查询、删除等接口。 端点管理 消息路由的端点管理接口,包括端点创建、查询、删掉等接口。 规则管理 消息路由的规则管理接口,包括路由创建、查询、删掉等接口。 服务管理 Service接口,包括Service创建、查询、删除等接口。 加密数据管理 加密数据接口,包括加密数据查询、新增、更新、删除等接口。 批量节点管理 批量节点管理接口,包括批量节点注册作业创建、查询、删除等接口。 批量作业管理 批量作业管理接口,包括批量处理作业创建、查询、删除等接口。 配额管理 配额管理接口,查询IEF服务下的资源配额。
  • 响应示例 状态码: 200 ok { "id" : "3e64d98a-37c5-43a6-9bfe-052b9083e362", "name" : "app-test", "replicas" : 1, "ready_replicas" : 1, "description" : "this is a test app", "group_id" : "", "node_ids" : [ "29d20c18-c20c-4a45-a087-42c766fc5d97" ], "tags" : [ { "key" : "app", "value" : "test" } ], "api_version" : "v3", "source" : "userdefine", "project_id" : "bcd83056c918480f8f190844bd425b23", "created_at" : "2019-10-10T02:23:12.272Z", "updated_at" : "2019-10-10T02:23:12.272Z", "template" : { "configs" : { "host_network" : true, "host_pid" : true, "migration" : true, "restart_policy" : "Always", "toleration_seconds" : 300 }, "init_containers" : [ ], "containers" : [ { "name" : "container-0", "image_url" : "swr.cn-north-1.myhuaweicloud.com/ief-test/nginx:0705", "npu_type" : "", "args" : [ "-c", "sleep 1000" ], "command" : [ "/bin/bash" ], "resources" : { "limits" : { "cpu" : "0.25", "memory" : "500", "gpu" : "500" }, "requests" : { "cpu" : "0.25", "memory" : "500", "gpu" : "500" } }, "envs" : [ { "name" : "CERT_PATH", "value" : "/opt/cert" } ], "ports" : [ { "container_port" : 80, "host_port" : 80 } ], "privileged" : true, "readiness_probe" : { "http_get" : { "path" : "/", "port" : 80, "scheme" : "http" }, "initial_delay_seconds" : 10, "timeout_seconds" : 10 }, "liveness_probe" : { "http_get" : { "path" : "/", "port" : 80, "scheme" : "http" }, "initial_delay_seconds" : 10, "timeout_seconds" : 10 }, "version" : "1.0", "volumes" : [ { "name" : "log-volume", "type" : "hostPath", "read_only" : false, "source" : "/var/IEF", "destination" : "/var/IEF" } ] } ] } } 状态码: 400 响应Body参数 { "error_code" : "IEF.100001", "error_msg" : "PROJECT_ID not found" } 状态码: 500 响应Body参数 { "error_code" : "IEF.100158", "error_msg" : "Fail to extract gpu infomation" }
共100000条