云服务器内容精选

  • Linux机器问题排查 检查IP、用户名及密码是否正确。 检查目标主机开放的端口是否为SSH协议端口(默认端口为22)。 开启方法: 开启防火墙。 systemctl start firewalld.service systemctl stop firewalld.service #关闭防火墙命令 开启端口。 firewall-cmd --zone=public --add-port=22/tcp --permanent --zone #作用域。 --add-port=22/tcp #端口,格式为:端口/通讯协议。 --permanent #永久生效,没有此参数重启后失效。 重启防火墙。 firewall-cmd --reload 检查当前网络状态。 使用“tcpdump”命令查看当前网络连接状态,命令如下: tcpdump -n "tcp port 22 and host xxx.xxx.xxx.xxx" #该命令执行在本地PC端,其中xxx.xxx.xxx.xxx为部署服务对外IP,目的是验证部署服务执行主机的网络是否畅通。 #或者: tcpdump -n "tcp port 22" | grep -v "xxx.xxx.xxx.xxx" #该命令执行在本地PC端,其中xxx.xxx.xxx.xxx为被部署的目标主机IP,目的是验证部署主机的网络是否畅通。 如下图所示,无回显信息说明网络已畅通。 部署服务对外IP如下。 中国站: 49.4.3.11 139.159.226.153 在主机列表对目标主机做连通性验证,观察部署服务端是否对目标主机做了SSH协议连接,出现如下图所示,说明部署服务对目标主机做了SSH协议连接。 原因分析: 服务端对目标主机存在SSH连接 如果服务端存在SSH连接,说明是目标主机本身配置问题。 如果已经定位出是目标主机配置问题,或者未安装Tcpdump,都需要检查目标主机本身配置来排查: 参考《用户指南》“配置黑/白名单”章节。 查看是否有防火墙配置,以iptables为例,命令如下: iptables -L 服务端对目标主机不存在SSH连接 如果服务端对目标主机不存在SSH连接,说明目标主机网络不可达,其所在的网络环境可能存在访问限制。 请查看硬件防火墙等相关网络配置,是否有限制源IP、目标IP、SSH协议配置的安全策略。 查看ssh密钥文件权限。 root账户登录机器,依次执行以下命令查看ssh密钥文件权限。 cd /root/.ssh ll 如图所示,查看文件权限是否为“rw”。 若文件权限不正确,执行以下命令完成修改。 chmod 600 文件名 主机连通性验证的用户对${HOME}目录操作失败。 检查主机${HOME}目录所在磁盘是否已满。 排查${HOME}目录所在磁盘是否已满,参考命令df -h 。 查看用户${HOME}目录的权限设置及目录隐藏属性等信息:ll -ld ${HOME},lsattr -d ${HOME}。 检查用户对${HOME}目录是否有读写权限。 修改${HOME}目录权限,为用户增加读写权限:参考命令 chmod ,chattr 。 检查用户默认shell设置是否为nologin。 查看用户默认shell设置是否为nologin模式,参考命令: cat /etc/passwd |grep $username ,其中$username为用户名。 (代理主机)如果已关联主机的代理主机连通性失败或者界面提示“主机连接超时,请查看解决方案”,请按如下方式进行排查: 测试代理主机的连通性。 检查代理主机上SSH配置AllowTcpForwarding是开启,命令如下: grep "AllowTcpForwarding" /etc/ssh/sshd_config 如果该属性值为no,则设置为yes,并重新启动sshd服务,命令如下: service sshd restart
  • 处理方法 构建任务使用如下脚本进行构建打包: 1 2 3 4 5 nuget restore msbuild /p:OutputPath=../buildResult/Release/bin powershell Invoke-WebRequest -UseBasicParsing https://www.7-zip.org/a/7z1900-x64.exe -OutFile ./7zip.exe 7zip.exe /S "C:/Program Files/7-Zip/7z.exe" a ./archive.zip ./buildResult/Release/bin/* 自定义打包请使用7-Zip打包工具进行打包。
  • 处理方法 若未安装Go,可通过“安装Go语言 ”部署步骤进行安装。 正确配置相关环境变量。 由于当前启动/停止操作为“no_login”方式,若系统为Linux系统,Go语言为手动安装,还需在以下文件中增加环境变量: Ubuntu: ~/.bashrc 和 ~/.profile Centos: ~/.bashrc 和 ~/.bash_profile 所需环境变量配置示例如下: export GOROOT=/usr/local/go/go_install_dir/go export GOPATH=/usr/local/go/go_workpath export PATH= $GOROOT/bin:$PATH
  • 部署服务相关权限说明 部署服务各维度的操作权限说明如下表所示。 应用默认权限说明 角色/动作 默认权限 创建 查看 修改 删除 执行 复制 禁用 新建环境 权限管理 应用创建者 - 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 项目管理员 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 项目经理 有权限 有权限 有权限 有权限 有权限 有权限 有权限 有权限 有权限 产品经理 有权限 有权限 无权限 无权限 无权限 无权限 无权限 无权限 无权限 测试经理 无权限 有权限 无权限 无权限 无权限 无权限 无权限 无权限 无权限 运维经理 无权限 有权限 无权限 无权限 无权限 无权限 无权限 有权限 无权限 系统工程师 有权限 有权限 有权限 有权限 有权限 有权限 有权限 无权限 无权限 Committer 有权限 有权限 有权限 有权限 有权限 有权限 无权限 无权限 无权限 开发人员 有权限 有权限 有权限 有权限 有权限 有权限 无权限 无权限 无权限 测试人员 无权限 有权限 无权限 无权限 无权限 无权限 无权限 无权限 无权限 参与者 无权限 有权限 无权限 无权限 无权限 无权限 无权限 无权限 无权限 浏览者 无权限 有权限 无权限 无权限 无权限 无权限 无权限 无权限 无权限 主机集群默认权限说明 角色/权限 查看 编辑 删除 添加主机 复制主机 权限管理 主机集群创建者 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 项目创建者 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 项目经理 有权限 有权限 有权限 有权限 有权限 有权限 产品经理 有权限 无权限 无权限 无权限 无权限 无权限 测试经理 有权限 无权限 无权限 无权限 有权限 无权限 运维经理 有权限 无权限 无权限 无权限 有权限 无权限 系统工程师 有权限 无权限 无权限 无权限 无权限 无权限 Committer 有权限 无权限 无权限 无权限 无权限 无权限 开发人员 有权限 有权限 有权限 有权限 有权限 无权限 测试人员 有权限 无权限 无权限 无权限 有权限 无权限 参与者 有权限 无权限 无权限 无权限 有权限 无权限 浏览者 有权限 无权限 无权限 无权限 有权限 无权限 部署模板 操作 权限设定 系统模板 自定义模板 查看 所有用户 同租户下用户创建的 创建 所有用户都没权限 项目创建者、项目经理、开发人员 修改 所有用户都没权限 模板创建者、租户管理员 删除 所有用户都没权限 模板创建者、租户管理员
  • 规则详情 表1 规则详情 参数 说明 规则名称 codeartsdeploy-host-cluster-resource-status 规则展示名 CodeArts项目下的主机集群为可用状态 规则描述 codearts项目下的主机集群如果状态不可用,则该主机集群视为“不合规”。 标签 codeartsdeploy 规则触发方式 配置变更 规则评估的资源类型 codeartsdeploy.host-cluster 规则参数 无
  • 基本概念 账号 用户注册华为云时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由账号在 IAM 中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 华为云的区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 同样在我的凭证下,您可以查看项目ID。 父主题: 使用前必读
  • 请求示例 https://{endpoint}/v1/applications/43943381f7764c52baae8e697720873f/environments { "project_id" : "55837d272adf4eee90319800e2da6961", "name" : "Environment name", "deploy_type" : 0, "description" : "Environment Description", "os" : "linux" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),下方类型可任选其一使用: application/json;charset=utf-8 application/json 缺省值:application/json;charset=utf-8 枚举值: application/json;charset=utf-8 application/json X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值) 最小长度:0 最大长度:20000 表3 请求Body参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 name 是 String 环境名称 deploy_type 是 Integer 部署类型:0表示主机, 1表示kubernetes 缺省值:0 枚举值: 0 1 os 是 String 操作系统:windows|linux,需要和主机集群保持一致 缺省值:linux 枚举值: windows linux description 否 String 环境描述
  • 状态码 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 NoContent 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址。 使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 BadRequest 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 NotFound 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 MethodNotAllowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Time-out 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested range not satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 UnprocessableEntity 请求格式正确,但是由于含有语义错误,无法响应。 429 TooManyRequests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 父主题: 附录
  • 响应示例 状态码: 200 OK 请求响应成功 { "result" : [ { "host_name" : "100.101.28.203", "ip" : "100.101.28.203", "port" : 22, "os" : "linux", "authorization" : { "username" : "root", "password" : null, "private_key" : null, "trusted_type" : 0 }, "permission" : { "can_view" : true, "can_edit" : true, "can_delete" : true, "can_add_host" : true, "can_copy" : true }, "uuid" : "2cc913cc9a494f09b7320801ebacad02", "group_id" : "ab7647b0863c4e969c8949d38d591339", "as_proxy" : false, "proxy_host_id" : "", "owner_id" : "6baa7454109d47c192f22078fe6cda20", "owner_name" : "devcloud_devcloud_l00490255_01", "connection_status" : "success", "create_time" : "2021-04-15 11:01:51", "connection_result" : "连接成功", "lastest_connection_time" : "2021-04-15 11:02:00", "nick_name" : "AB边账号", "proxy_host" : null, "import_status" : null, "env_count" : 1 } ], "total" : 1, "status" : "success" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 主机数量 最小值:0 最大值:200 status String 请求状态 result Array of HostInfo objects 主机信息列表 数组长度:0 - 200 表5 HostInfo 参数 参数类型 描述 uuid String 主机ID ip String 主机IP os String 主机操作系统 port Integer 端口 authorization HostAuthorizationBody object 登录主机鉴权,使用密码登录则填写密码即可,使用密钥则填写密钥,二选一即可。 permission PermissionHostDetailNew object 主机相关权限详情类 host_name String 主机名称 as_proxy Boolean 是否为代理机 group_id String 主机集群id proxy_host_id String 代理机ID owner_id String 主机所属人id owner_name String 主机所属人名称 proxy_host HostInfo object 代理机信息详情 connection_status String 连通性状态 create_time String 创建时间 lastest_connection_time String 上次连通时间 connection_result String 连通性验证结果 nick_name String 主机所属人昵称 import_status String 导入状态 env_count Integer 关联环境数量 表6 HostAuthorizationBody 参数 参数类型 描述 username String 用户名,可输入中英文,数字和符号(-_.)。 最小长度:3 最大长度:128 password String 密码,认证类型为0时,密码必填。 private_key String 密钥,认证类型为1时,密钥必填 最小长度:1 最大长度:5000 trusted_type Integer 认证类型,0表示使用密码认证,1表示使用密钥认证 枚举值: 0 1 表7 PermissionHostDetailNew 参数 参数类型 描述 can_view Boolean 是否有查看权限 can_edit Boolean 是否有编辑权限 can_delete Boolean 是否有删除权限 can_add_host Boolean 是否有添加主机权限 can_copy Boolean 是否有复制主机权限
  • URI GET /v1/resources/host-groups/{group_id}/hosts 表1 路径参数 参数 是否必选 参数类型 描述 group_id 是 String 项目ID 最小长度:32 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 key_field 否 String 主机名模糊查询信息 最小长度:1 最大长度:256 environment_id 否 String 环境id 最小长度:32 最大长度:32 page_index 否 Integer 页码数 最小值:0 page_size 否 Integer 每页显示的条目数量,默认为10 最小值:1 最大值:1000 sort_key 否 String 排序字段:as_proxy|host_name|owner_name,不传使用默认排序 sort_dir 否 String 排序方式:DESC、ASC,默认为DESC 枚举值: DESC ASC as_proxy 否 Boolean 是否为代理机
  • 响应示例 状态码: 200 OK 请求响应成功 { "ip" : "100.101.28.215", "port" : 22, "os" : "linux", "authorization" : { "username" : "root", "password" : null, "private_key" : null, "trusted_type" : 0 }, "permission" : { "can_view" : true, "can_edit" : true, "can_delete" : true, "can_add_host" : true, "can_connection_test" : true }, "group_id" : "ab7647b0863c4e969c8949d38d591339", "host_name" : "100.101.28.215", "as_proxy" : false, "proxy_host_id" : null, "owner_id" : "6baa7454109d47c192f22078fe6cda20", "owner_name" : "devcloud_devcloud_l00490255_01", "updator_id" : "6baa7454109d47c192f22078fe6cda20", "updator_name" : "devcloud_devcloud_l00490255_01", "connection_status" : "success", "install_icagent" : false, "create_time" : "2021-05-13 09:35:41", "update_time" : "2021-05-13 09:35:41", "connection_result" : "连接成功", "lastest_connection_time" : "2021-05-13 09:36:11", "nick_name" : "AB边账号", "host_id" : "300d6d2e53624d0da08b182099ad10f7" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 group_id String 主机集群id 最小长度:32 最大长度:32 host_name String 主机名称 最小长度:3 最大长度:128 ip String IP,请输入弹性ip格式:161.17.101.12 port Integer ssh端口,如:22 os String 操作系统:windows|linux,需要和主机集群保持一致 枚举值: windows linux as_proxy Boolean 是否为代理机 proxy_host_id String 代理机id authorization DeploymentHostAuthorizationBody object 登录主机鉴权,使用密码登录则填写密码即可,使用密钥则填写密钥,二选一即可。 install_icagent Boolean 免费启用应用运维服务( AOM ),提供指标监控、日志查询、告警功能(自动安装数据采集器 ICAgent,仅支持华为云linux主机) host_id String 主机ID proxy_host DeploymentHostDetail object 代理机信息详情 group_name String 主机集群名 最小长度:3 最大长度:128 project_id String 项目ID,获取方式请参见获取项目ID。 project_name String 项目名称 最小长度:3 最大长度:128 permission PermissionHostDetail object 主机相关权限详情类 update_time String 更新时间 lastest_connection_time String 最后连接时间 connection_status String 连接状态 owner_name String 拥有者名称 updator_id String 维护者id create_time String 创建时间 nick_name String 昵称 owner_id String 拥有者id updator_name String 维护者名称 connection_result String 连接结果 表4 DeploymentHostAuthorizationBody 参数 参数类型 描述 username String 用户名,可输入中英文,数字和符号(-_.)。 最小长度:3 最大长度:128 password String 密码,认证类型为0时,密码必填。 private_key String 密钥,认证类型为1时,密钥必填 最小长度:1 最大长度:5000 trusted_type Integer 认证类型,0表示使用密码认证,1表示使用密钥认证 枚举值: 0 1 表5 PermissionHostDetail 参数 参数类型 描述 can_view Boolean 是否有查看权限 can_edit Boolean 是否有编辑权限 can_delete Boolean 是否有删除权限 can_add_host Boolean 是否有添加主机权限 can_connection_test Boolean 是否有测试主机连通性权限
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),下方类型可任选其一使用: application/json;charset=utf-8 application/json 缺省值:application/json;charset=utf-8 枚举值: application/json;charset=utf-8 application/json X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值) 最小长度:0 最大长度:20000 表3 请求Body参数 参数 是否必选 参数类型 描述 host_name 是 String 主机名称 最小长度:3 最大长度:128 ip 是 String IP,请输入弹性ip格式:161.17.101.12 port 是 Integer ssh端口,如:22 os 是 String 操作系统:windows|linux,需要和主机集群保持一致 枚举值: windows linux as_proxy 是 Boolean 是否为代理机 proxy_host_id 否 String 代理机id authorization 是 DeploymentHostAuthorizationBody object 登录主机鉴权,使用密码登录则填写密码即可,使用密钥则填写密钥,二选一即可。 install_icagent 否 Boolean 免费启用应用运维服务(AOM),提供指标监控、日志查询、告警功能(自动安装数据采集器 ICAgent,仅支持华为云linux主机) 表4 DeploymentHostAuthorizationBody 参数 是否必选 参数类型 描述 username 是 String 用户名,可输入中英文,数字和符号(-_.)。 最小长度:3 最大长度:128 password 否 String 密码,认证类型为0时,密码必填。 private_key 否 String 密钥,认证类型为1时,密钥必填 最小长度:1 最大长度:5000 trusted_type 是 Integer 认证类型,0表示使用密码认证,1表示使用密钥认证 枚举值: 0 1