云服务器内容精选

  • 常见报错 场景一 ERROR: permission denied for function control_extension 解决方法:未使用root用户执行control_extension函数,需更改连接用户为root。 场景二 ERROR: function control_extension(unknown, unknown) is not unique 解决方法:在不指定schema时,可能存在同名函数,导致函数不唯一无法运行,可选择添加schema参数重试。 场景三 ERROR: function control_extension(unknown, unknown) does not exist 解决方法:control_extension函数在postgres库不存在,postgres库作为RDS运维库,禁止创建插件。
  • URI URI格式 GET /v3/{project_id}/instances/{instance_id}/extensions?database_name={database_name}&offset={offset}&limit={limit} 参数说明 表1 参数说明 名称 是否必选 说明 project_id 是 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 instance_id 是 实例ID。 database_name 是 数据库名称。 offset 否 索引位置,偏移量。从第一条数据偏移offset条数据后开始查询,默认为0(偏移0条数据,表示从第一条数据开始查询),必须为数字,不能为负数。 limit 否 查询记录数。默认为100,不能为负数,最小值为1,最大值为100。
  • 响应消息 正常响应要素说明 表2 要素说明 名称 参数类型 说明 extensions Array of objects 插件列表信息。 详情请参见表3。 total_count Integer 总插件数。 表3 extensions元素结构说明 名称 参数类型 说明 name String 插件名称。 database_name String 数据库名称。 version String 插件版本。 version_update String 可更新的插件版本。如果和version字段值不一致,说明插件可更新。 shared_preload_libraries String 依赖预加载库。 created Boolean 插件是否已创建。 description String 插件描述。 正常响应样例 { "extensions" : [ { "name" : "pg_cron", "database_name" : "db1", "version" : "1.0", "version_update" : "1.0", "shared_preload_libraries" : "pg_cron", "created" : false, "description" : "pg_cron access method - signature file based index" }, { "name" : "dblink", "database_name" : "db1", "version" : "1.2", "version_update" : "1.2", "shared_preload_libraries" : "", "created" : false, "description" : "connect to other PostgreSQL databases from within a database" } ], "total_count" : 2 } 异常响应 请参见异常请求结果。
  • 请求示例 创建Sermant Injector插件,并为插件管理id为b4e49ad5-5142-437d-8a6b-1de66b1af0db的微服务引擎和id为02f9a523-cefe-11ee-afc1-0255ac100045的CCE集群。 { "name": "sermantInjector", "cse_id": "b4e49ad5-5142-437d-8a6b-1de66b1af0db", "cce_id": "02f9a523-cefe-11ee-afc1-0255ac100045" }
  • 请求消息 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),默认取值为“application/json;charset=utf8”。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考认证鉴权。 表3 请求Body参数 参数 是否必选 参数类型 描述 cce_id 是 String 环境所绑定的CCE集群ID。获取方法,请参考根据环境ID查询环境纳管的资源或根据环境ID查询环境创建的资源。 cse_id 否 String 环境绑定的微服务引擎ID。获取方法,请参考根据环境ID查询环境纳管的资源或根据环境ID查询环境创建的资源。 当name为“sermantInjector”时必选。 name 是 String 插件名称。 sermantInjector:Sermant Injector插件。用于自动挂载Sermant Agent,通过Sermant Agent接入未开启安全认证的ServiceComb引擎。无需修改应用代码即可接入引擎并使用应用注册发现、全链路灰度发布、优雅上下线、标签路由等功能,但是不支持使用微服务治理功能。
  • 获取驱动链接-公网地址 登录CCE控制台。 创建节点,在节点规格处选择要创建的GPU节点,选中后下方显示的信息中可以看到节点的GPU显卡型号。 登录到nvidia网站。 如图2所示,在“NVIDIA驱动程序下载”框内选择对应的驱动信息。其中“操作系统”必须选Linux 64-bit。 图2 参数选择 驱动信息确认完毕,单击“搜索”按钮,会跳转到驱动信息展示页面,该页面会显示驱动的版本信息如图3,单击“下载”到下载页面。 图3 驱动信息 获取驱动软件链接方式分两种: 方式一:如图4,在浏览器的链接中找到url=/tesla/470.103.01/NVIDIA-Linux-x86_64-470.103.01.run的路径,补齐全路径为https://us.download.nvidia.com/tesla/470.103.01/NVIDIA-Linux-x86_64-470.103.01.run,该方式节点需要绑定EIP 。 方式二:如图4,单击“下载”按钮下载驱动,然后上传到OBS,获取软件的链接,该方式节点不需要绑定EIP。 图4 获取链接
  • 安装插件 登录U CS 控制台,单击集群名称进入集群,在左侧导航栏中选择“插件中心”。 在“可安装插件”中找到gpu-device-plugin,单击“安装”。 在安装插件页面,填写插件配置。 插件规格:可配置“默认”或“自定义”规格,请根据实际情况选择。 容器:选择“自定义”规格时支持设置。 Nvidia驱动:您可使用CCE提供的驱动地址或手动填写自定义Nvidia驱动的地址,集群下全部GPU节点将使用相同的驱动。 GPU虚拟化功能仅支持470.57.02、510.47.03、535.54.03版本的GPU驱动。 建议您使用CCE提供的驱动地址,以满足驱动版本的要求。 如果下载链接为公网地址,例如地址为nvidia官网地址https://us.download.nvidia.com/tesla/470.103.01/NVIDIA-Linux-x86_64-470.103.01.run,则各GPU节点均需要绑定EIP。获取驱动链接方法请参考获取驱动链接-公网地址。 若下载链接为OBS上的链接,无需绑定EIP 。获取驱动链接方法请参考获取驱动链接-OBS地址。 请确保Nvidia驱动版本与GPU节点适配。 更改驱动版本后,需要重启节点才能生效。 对于linux 5.x内核系统,如华为云欧拉操作系统 2.0或ubuntu 22.04,建议使用470及以上版本驱动。 图1 安装gpu-device-plugin GPU虚拟化:选择开启GPU虚拟化,支持GPU单卡的算力、显存分割与隔离。 若集群中未安装volcano插件,将不支持开启GPU虚拟化,您可单击“一键安装”进行安装。如需配置volcano插件参数,请单击“自定义安装”,详情请参见volcano。 若集群中已安装volcano插件,但插件版本不支持使用GPU虚拟化,您可单击“一键升级”进行升级。如需配置volcano插件参数,请单击“自定义升级”,详情请参见volcano。 单击“安装”,安装gpu-device-plugin插件的任务即可提交成功。
  • 约束与限制 下载的驱动必须是后缀为“.run”的文件。 仅支持Nvidia Tesla驱动,不支持GRID驱动。 安装或重装插件时,需要保证驱动下载链接正确且可正常访问,插件对链接有效性不做额外校验。 gpu-device-plugin插件仅提供驱动的下载及安装脚本执行功能,插件的状态仅代表插件本身功能正常,与驱动是否安装成功无关。 gpu型号只支持T4、V100。 本地集群只支持华为云欧拉操作系统 2.0 x86系统架构类型。 纳管gpu节点前,请确保节点依赖libsecurec已安装。
  • 安装nvidia-fabricmanager服务 A100/A800 GPU支持 NvLink & NvSwitch,若您使用多GPU卡的机型,需额外安装与驱动版本对应的nvidia-fabricmanager服务使GPU卡间能够互联,否则可能无法正常使用GPU实例。 本文以驱动版本470.103.01为例,您可参考以下步骤进行安装,请根据实际情况需要替换驱动版本。 登录需要安装nvidia-fabricmanager服务的GPU节点,该节点需绑定EIP用以下载nvidia-fabricmanager服务。 安装与驱动版本对应的nvidia-fabricmanager服务,您可通过官方下载操作系统和驱动版本对应的安装包。 CentOS操作系统 以CentOS 7为例: driver_version=470.103.01 wget https://developer.download.nvidia.cn/compute/cuda/repos/rhel7/x86_64/cuda-drivers-fabricmanager-${driver_version}-1.x86_64.rpm rpm -ivh nvidia-fabric-manager-${driver_version}-1.x86_64.rpm Ubuntu等其他操作系统 以Ubuntu 18.04为例: driver_version=470.103.01 driver_version_main=$(echo $driver_version | awk -F '.' '{print $1}') wget https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu1804/x86_64/nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb dpkg -i nvidia-fabricmanager-${driver_version_main}_${driver_version}-1_amd64.deb 启动nvidia-fabricmanager服务。 systemctl enable nvidia-fabricmanager systemctl start nvidia-fabricmanager 查看nvidia-fabricmanager服务状态。 systemctl status nvidia-fabricmanager
  • 名词解释 插件:是包含函数、连接器、公共库的聚合。插件有自定义插件和商业插件两种类型,其中,自定义的插件可以在集市中显示,也可以在剧本中使用。 插件集:是具有相同业务场景的插件集合。 函数:是可以在剧本中选用的执行函数,在剧本中执行特定的行为。 连接器:是用于连接数据源,将告警、事件等安全数据接入 安全云脑 ,包括事件触发和定时触发两种连接器类型。 公共库:是一个公共模块,包含在其他组件中会使用到的API调用和公共函数。
  • 响应示例 状态码: 201 OK { "attached_plugins" : [ { "plugin_attach_id" : "8aa097b00e9843efacb9c593d11b769e", "plugin_id" : "5b729aa252764739b3s237ef0d66dc63", "plugin_name" : "跨域插件", "plugin_type" : "cors", "plugin_scope" : "global", "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID", "env_name" : "RELEASE", "api_id" : "8aa097b00e9843efabc9c593d11b769d", "api_name" : "api_name", "attached_time" : "2022-11-02T12:31:23.353Z" } ] } 状态码: 400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:instance_id. Please refer to the support documentation" } 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3068", "error_msg" : "Plugin b294018ee0554156a875b3513e02e5b9 does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 响应参数 状态码: 201 表4 响应Body参数 参数 参数类型 描述 attached_plugins Array of PluginApiAttachInfo objects 绑定插件信息列表。 表5 PluginApiAttachInfo 参数 参数类型 描述 plugin_attach_id String 插件绑定编码。 plugin_id String 插件编码。 plugin_name String 插件名称。支持汉字,英文,数字,中划线,下划线,且只能以英文和汉字开头,3-255字符 说明: 中文字符必须为UTF-8或者unicode编码。 plugin_type String 插件类型。 cors:跨域资源共享 set_resp_headers:HTTP响应头管理 kafka_log:Kafka日志推送 breaker:断路器 rate_limit: 流量控制 third_auth: 第三方认证 proxy_cache: 响应缓存 proxy_mirror: 请求镜像 plugin_scope String 插件可见范围。global:全局可见。 env_id String 绑定API的环境编码。 env_name String api授权绑定的环境名称 api_id String 绑定的API编码。 api_name String API的名称 attached_time String 绑定时间。 状态码: 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 错误描述 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • URI POST /v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id}/plugins/attach 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 api_id 是 String API编号
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 env_id 是 String 绑定API的环境编码。 plugin_ids 是 Array of strings 绑定的插件编码列表。 数组长度:1 - 500
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 result Object 返回值 status String 状态 状态码: 403 表4 响应Body参数 参数 参数类型 描述 error_msg String 错误描述 error_code String 错误码 状态码: 404 表5 响应Body参数 参数 参数类型 描述 error_msg String 错误描述 error_code String 错误码 状态码: 406 表6 响应Body参数 参数 参数类型 描述 error_msg String 错误描述 error_code String 错误码 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_msg String 错误描述 error_code String 错误码