云服务器内容精选

  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 storage_claim_id 是 String WKS存储目录声明ID。 add_items 否 Array of Assignment objects 增加的成员列表。 del_items 否 Array of Attachment objects 移除的成员列表。 表4 Assignment 参数 是否必选 参数类型 描述 policy_statement_id 是 String 策略ID。 attach 是 String 目标。 attach_type 是 String 关联对象类型: USER - 用户 USER_GROUP - 用户组 表5 Attachment 参数 是否必选 参数类型 描述 attach 是 String 目标。 attach_type 是 String 关联对象类型: USER - 用户 USER_GROUP - 用户组
  • 响应参数 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 404 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 405 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 500 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 503 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。
  • 请求示例 POST /v1/a4da8115c9d8464ead3a38309130523f/persistent-storages/544959151881584640/actions/assign-share-folder { "storage_claim_id" : 544959151881584640, "add_items" : [ { "attach" : "USER001***@local.com", "attach_type" : "USER", "policy_statement_id" : 1 } ], "del_items" : [ { "attach" : "USER001***@local.com", "attach_type" : "USER" } ] }
  • URI GET /v1/{project_id}/persistent-storages/actions/list-share-folders 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 查询的偏移量。 limit 否 Integer 单次查询的大小[1-100]。 storage_id 是 String WKS存储ID。 storage_claim_id 否 String WKS存储目录声明ID。 path 否 String 查询名称需满足如下规则: 可见字符+空格。 长度0~128个字符。
  • 响应示例 状态码: 200 成功响应。 { "count" : 1, "items" : [ { "storage_claim_id" : "a0890780-7ef2-4aaf-b56d-b25fb53b717e", "folder_path" : "shares/video/", "delimiter" : "/", "claim_mode" : "SHARE", "count" : { "USER" : 0, "USER_GROUP" : 1 } } ] }
  • 响应示例 状态码: 200 成功响应。 { "count" : 0, "items" : [ { "name" : "user-file-persistent", "location" : "https://sfs-tmp.****.huawei.com:/sfs-tmp", "usage" : 1024, "create_time" : "2024-12-25T12:19:03.229Z" } ] }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 count Integer 总数。 items Array of Sfs3Storage objects 存储列表。 表4 Sfs3Storage 参数 参数类型 描述 name String 文件系统名称。 location String 挂载地址。 usage String 存储使用量(Byte)。 create_time String 创建时间。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 405 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。 状态码: 503 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码,失败时返回。 error_msg String 错误描述。
  • job的pod已经执行完成的情况下,为什么依然有实例在挂卷等事件,并且事件信息是失败的? 问题现象: job的Pod已经执行完成的情况下,依然有实例在挂卷等事件,并且事件信息是失败的。 图1 问题截图 问题原因: 各种类型的Pod(Deployment/StatefulSet/Job/CronJob)在Node上启动时: 由kubelet针对该Pod创建podWorker(独立协程)负责检测Pod与关联volume的挂载情况:每隔0.3s检测当前Pod所需挂载的volume都已经挂载成功,检测超时为2min3s;如果检测周期中以及最终超时到达时Pod关联volume都没有检测到挂载成功,则上报事件“Unable to mount volumes for pod …”。 由kubelet中VolumeManager(独立协程)负责具体实施Pod关联volume的挂载操作。 对于long running的Pod(Deployment/StatefulSet),除了类似镜像拉取失败、存储挂载失败、容器网络分配失败、当前节点CPU/Mem不满足Pod的实际使用要求等异常场景外,Pod容器如果最终都会启动成功时,上述podWorker在几次周期后都会判定挂载成功。 而对于短时运行的Pod(Job/CronJob),由于容器中业务存在正常退出(如问题场景的G CS Demo job只执行一些echo和ls命令,总体耗时1s不到),就存在短时Pod运行退出时如果刚好在两次podwork检测volume挂载周期中,那么就会出现本问题单所述的误报,但是不影响业务使用,且实际的Job业务还是会运行超过上述时间的。 当前kubelet上述能力属于社区挂载框架既有能力。 解决方法: 针对短时运行的Pod(Job/CronJob),可能存在由于运行时间过短而误报卷挂载超时的情况,如果这类短时运行任务属于正常退出,则该误报对业务没有影响可以忽略。 父主题: 存储管理类
  • 使用限制 待挂载的云硬盘必须是按需付费,更多信息,请参见云硬盘计费。 云容器实例无法导入以下条件的磁盘:非当前可用区、状态非可用、系统盘、被CCE关联、非SCSI盘、共享盘、专属存储、冻结盘、HANA服务器专属类型盘(高IO性能优化型/超高IO时延优化型)。 云硬盘存储卷只能当一个新盘来用。对于云容器实例没有挂载过的云硬盘存储卷,云硬盘存储卷中的内容对容器不可见。 对于已导入的云硬盘,如果在云硬盘控制台中删除该硬盘,云容器实例无法感知,建议您确定没有负载使用时再删除云硬盘。 一个云硬盘存储卷只能挂载到一个实例下,否则会存在数据丢失的情况。 云容器实例场景下不感知云硬盘扩容,如果需要扩容,请先在云容器实例控制台的“云硬盘存储卷”页面解关联对应的云硬盘,待云硬盘扩容完成后重新导入。
  • 创建CCE节点时可以不添加数据盘吗? 不可以,数据盘是必须要的。 新建节点会给节点绑定一个供kubelet及容器引擎使用的专用数据盘,详情请参见数据盘空间分配说明。CCE数据盘默认使用LVM(Logical Volume Manager)进行磁盘管理,开启后您可以通过空间分配调整数据盘中不同资源的空间占比,具体请参见LVM简介。 若数据盘卸载或损坏,会导致容器引擎服务异常,最终导致节点不可用。 父主题: 存储管理
  • CSI和Flexvolume存储插件的区别 表1 CSI与Flexvolume Kubernetes插件方案 CCE插件名称 插件特性 使用推荐 CSI everest CSI插件是kubernetes社区推荐的存储插件机制。CCE发布的kubernetes1.15版本及以上版本默认安装CSI插件everest,并用于对接块存储、文件存储、对象存储、极速文件存储等Iaas存储服务。 everest插件包含两部分: everest-csi-controller:提供存储卷的创建、删除、扩容、云盘快照等功能; everest-csi-driver:提供存储卷在node上的挂载、卸载、格式化等功能。 详情请参见everest 针对1.15及以上版本的集群,在创建时将默认安装CSI插件(everest)。CCE会跟随社区持续更新CSI插件的各种能力。 Flexvolume storage-driver Flexvolume插件是kubernetes社区早期实现的存储卷插件机制。自CCE上线伊始,提供的就是Flexvolume数据卷服务。CCE发布的kubernetes 1.13及以下版本安装的插件是“storage-driver”,并用于对接块存储、文件存储、对象存储、极速文件存储等Iaas存储服务。 详情请参见storage-driver 针对已经创建的1.13及以下版本的集群,仍然使用已经安装的Flexvolume存储插件(storage-driver),CCE已停止更新该插件,您可以升级集群版本。 不支持CSI和Flexvolume插件在同一个集群中使用。 不支持将v1.13及以下版本集群的Flexvolume插件转变到CSI插件,v1.13版本的集群可以通过升级集群版本切换为CSI插件,详情请参见。
  • 约束与限制 在CCE所创的集群中,Kubernetes v1.15.11版本是Flexvolume插件(storage-driver)被CSI插件(everest)兼容接管的过渡版本,v1.17及之后版本的集群中将彻底去除对Flexvolume插件(storage-driver)的支持,请您将Flexvolume插件的使用切换到CSI插件上。 CSI插件(everest)兼容接管Flexvolume插件(storage-driver)后,原有功能保持不变,但请注意不要新建Flexvolume插件(storage-driver)的存储,否则将导致部分存储功能异常。
  • 约束与限制 在CCE所创的集群中,Kubernetes v1.15.11版本是Flexvolume插件(storage-driver)被CSI插件(Everest)兼容接管的过渡版本,v1.17及之后版本的集群中将彻底去除对Flexvolume插件(storage-driver)的支持,请您将Flexvolume插件的使用切换到CSI插件上。CSI和Flexvolume能力对比请参见CSI和Flexvolume存储插件的区别。 CSI插件(Everest)兼容接管Flexvolume插件(storage-driver)后,原有功能保持不变,但请注意不要新建Flexvolume插件(storage-driver)的存储,否则将导致部分存储功能异常。
  • CSI和Flexvolume存储插件的区别 表1 CSI与Flexvolume Kubernetes插件方案 CCE插件名称 插件特性 使用推荐 CSI Everest CSI插件是kubernetes社区推荐的存储插件机制。CCE发布的kubernetes1.15版本及以上版本默认安装CSI插件Everest,并用于对接块存储、文件存储、对象存储、极速文件存储等Iaas存储服务。 Everest插件包含两部分: Everest-csi-controller:提供存储卷的创建、删除、扩容、云盘快照等功能; Everest-csi-driver:提供存储卷在node上的挂载、卸载、格式化等功能。 详情请参见Everest 针对1.15及以上版本的集群,在创建时将默认安装CSI插件(Everest)。CCE会跟随社区持续更新CSI插件的各种能力。 Flexvolume storage-driver Flexvolume插件是kubernetes社区早期实现的存储卷插件机制。自CCE上线伊始,提供的就是Flexvolume数据卷服务。CCE发布的kubernetes 1.13及以下版本安装的插件是“storage-driver”,并用于对接块存储、文件存储、对象存储、极速文件存储等Iaas存储服务。 详情请参见storage-driver 针对已经创建的1.13及以下版本的集群,仍然使用已经安装的Flexvolume存储插件(storage-driver),CCE已停止更新该插件,您可以升级集群版本。 不支持CSI和Flexvolume插件在同一个集群中使用。 不支持将v1.13及以下版本集群的Flexvolume插件转变到CSI插件,v1.13版本的集群可以通过升级集群版本切换为CSI插件。
  • 插件使用推荐 使用CSI插件(Everest)要求Kubernetes版本需为1.15及以上,v1.15及以上版本的集群在创建时将默认安装本插件,v1.13及以下版本集群创建时默认安装Flexvolume插件(storage-driver)。 集群版本由v1.13升级到v1.15后,v1.13版本集群中的Flexvolume容器存储插件(storage-driver)能力将由v1.15的CSI插件(Everest,插件版本v1.1.6及以上)接管,接管后原有功能保持不变。 插件版本为1.2.0的Everest优化了使用OBS存储时的密钥认证功能,低于该版本的Everest插件在升级完成后,需要重启集群中使用OBS存储的全部工作负载,否则工作负载使用存储的能力将受影响!