云服务器内容精选

  • 前提条件 自定义“我的仓库”前,需要拥有一个华为账号或一个可用于访问OBS的 IAM 用户,即先 注册华为账号 并开通华为云,完成实名认证、创建IAM用户、充值以及购买资源包,具体操作请参见使用OBS前需要做的准备工作。 参考获取AK/SK中操作,获取AK(Access Key ID)、SK(Secret Access Key),即访问密钥对。 在华为OBS上创建存储桶(例如“bing.testonly.1”),用于后续存储资产包或大屏项目包使用,具体操作请参见如何创建桶,并记录创建桶时选择的区域。
  • 前提条件 已获取到应用或BO的安装包。安装包为开发者在开发环境中发布应用或者BO时生成的包,具体操作请参考如何将应用发布到“我的仓库”,打包编译时可根据以下实际场景选择“资产包”或“源码包”。 在其他开发环境中安装源码包应用。安装后,会显示在开发环境首页的“项目”页签下。 源码包是某用户开发应用后,打包编译时选择“源码包”发布出来的应用包,该类型包中的所有组件都不受保护和限制。源码包只能在开发环境中安装。 在其他开发环境、沙箱环境或运行环境中安装资产包应用。在其他开发环境安装资产包后,应用会显示在开发环境首页的“库”页签下。 资产包是某用户开发应用后,打包编译时选择“资产包”发布出来的应用包,该类型支持设置包中的组件在其他开发环境安装后是否受保护。在沙箱环境、运行环境安装的资产包中组件资产都是受保护的。
  • 映射配置 映射配置,即认证成功后需要返回给应用的属性,以建立 OneAccess 与应用侧属性的映射关系。包括添加映射、编辑映射、删除映射。 添加映射 以SAML协议为例,说明添加映射的方法。 选择“映射配置”页签,单击“添加映射”,填写映射信息,单击“保存”映射添加完成。 图1 添加映射 表1 映射参数 参数 说明 * 应用系统属性名 企业应用的用户属性名称。即认证成功后,OneAccess返回给应用的用户属性。 * 映射类型 不同的映射类型决定不同的接口在认证成功后返回的属性值,可在下拉框选择。 用户属性:将OneAccess的用户属性返回给下游企业应用。 账号属性:将应用的账号属性返回给下游企业应用。 账号权限:将应用的账号权限返回给下游企业应用。当下游应用需要OneAccess用户携带权限信息返回时,可通过该配置实现。 社交属性:将OneAccess用户绑定的社交属性值返回给下游企业应用。 固定属性值:可配置固定值。 动态脚本:可通过脚本自定义返回给下游企业应用的属性值,可参考如何开发映射脚本。 会话属性:将会话的参数返回给下游企业应用。 授权应用:用户已授权的应用添加该映射。 * 用户属性名 OneAccess映射至应用的属性,可在下拉框选择。该属性的选项随映射类型变化。 * Friendly Name 与应用系统属性名一致。当认证协议为SAML时,可配置该参数。 * Attr Name Format SAML协议返回的一种数据格式,可在下拉框选择。 编辑映射 单击添加的映射右侧操作列的“编辑”,在“编辑映射”页面可修改映射,单击“保存”修改映射信息完成。 删除映射 单击添加的映射右侧操作列的“删除”,在提示框中单击“确定”可删除映射。如需再次添加,可参考添加映射。
  • 管理命名空间资源配额 默认情况下,CCE集群运行中的Pod可以无限制的使用Node节点上的CPU和内存,这意味着任意一个Pod都可以无节制地使用集群的计算资源,某个命名空间的Pod可能会耗尽集群的所有资源。 kubernetes在一个物理集群上提供了多个虚拟集群,这些虚拟集群被称为命名空间。命名空间可用于多种工作用途,满足多用户的使用需求,通过为每个命名空间配置资源额度可以有效限制资源滥用,从而保证集群的可靠性。您可为命名空间配置包括CPU、内存、Pod数量等资源的额度,更多信息请参见Resource Quotas。 用户创建命名空间、集群默认创建的default命名空间支持资源配额管理。 登录ServiceStage控制台。 在“环境管理”页面,单击待操作环境名称。 在“资源配置”下左侧列表,选择“计算”资源类型下的资源名称“云容器引擎 CCE”。 选择“命名空间”页签,进入命名空间列表。 在待操作的命名空间所在行“操作”列,单击“配额管理”。 在弹出的“配额管理”对话框,您可以查看该命名空间下的资源类型及资源配额总量、配额累计使用量。 图4 进入配额管理页面 单击“编辑配额”,根据您的实际业务需求,设置各资源类型的总配额。 如果不限制该资源类型的使用量,则输入为空。 如果限制该资源类型的使用量,请输入期望的整型数值,取值范围为1到9,007,199,254,740,992。 配额累计使用量包含CCE系统默认创建的资源,如default命名空间下系统默认创建的kubernetes服务(该服务可通过后端kubectl工具查看)等,故建议命名空间下的资源配额略大于实际期望值以去除系统默认创建资源的影响。 如果限制了命名空间下CPU或内存的总配额,则在创建并部署组件、升级单个组件版本配置中为部署环境为Kubernetes类型且命名空间为该命名空间的组件设置资源时,必须设置组件运行可以使用的最大、最小CPU核数(Core)和内存数量(GiB)。否则,会导致操作失败。 如果限制了命名空间下其他资源类型的总配额,当该资源类型剩余使用量不满足需求时,会导致部署环境为Kubernetes类型且命名空间为该命名空间的组件部署失败。 单击“确定”。
  • 创建命名空间 登录ServiceStage控制台。 在“环境管理”页面,单击待操作环境名称。 在“资源配置”下左侧列表,选择“计算”资源类型下的资源名称“云容器引擎 CCE”。 选择“命名空间”页签,单击“创建命名空间”。 参考下表填写参数,其中带“*”标志的参数为必填参数。 参数 说明 *命名空间 输入命名空间的名称。 命名空间描述 输入命名空间的描述信息。 图1 设置命名空间参数 单击“确定”。 创建成功的命名空间会显示在命名空间列表。
  • 删除命名空间 删除命名空间会删除该命名空间下所有的资源(如工作负载、配置项等),请谨慎操作。 集群默认创建的命名空间,不支持删除。 登录ServiceStage控制台。 在“环境管理”页面,单击待操作环境名称。 在“资源配置”下左侧列表,选择“计算”资源类型下的资源名称“云容器引擎 CCE”。 选择“命名空间”页签,删除命名空间。 删除单个命名空间:在待删除的用户创建的命名空间所在行“操作”列,单击“删除”。 图2 删除单个命名空间 批量删除命名空间:勾选待删除的用户创建的命名空间,单击命名空间列表左上端的“删除”。 图3 批量删除命名空间 在弹出的对话框输入“DELETE”后,单击“确定”。
  • 操作步骤 登录ServiceStage控制台。 选择“应用管理”。 选择以下任意方式编辑应用。 选择待操作应用,在“操作”列单击“编辑”。 在“应用管理”页面,单击待操作应用名称。进入应用概览页面,在页面上方单击“编辑”。 参考下表重新设置应用信息。 参数 说明 应用名称 输入应用名称。 应用名称必须唯一,不能重复。 企业项目 选择企业项目。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。 开通企业项目后可以使用。 标签 说明: “华东-上海一”区域支持设置“标签”参数。 标签用于标识资源,当您拥有相同类型的许多资源时,可以使用标签按各种维度(例如用途、所有者或环境)对资源进行分类。 如果您的组织已经设定ServiceStage服务的相关标签策略,则需按照标签策略规则添加标签。标签如果不符合标签策略的规则,则可能会导致应用编辑失败,请联系组织管理员了解标签策略详情。 同一个应用下最多可以添加20个标签。 新增标签:输入标签对应的key值和value值,单击“确定”。 删除标签:单击待删除标签后的。 描述 输入应用描述信息。 图1 编辑应用 单击“确定”。
  • 当资源类型选择为自建K8S 当选择的资源类型为自建K8S,操作步骤如下。 选择资源类型为自建K8S。 纳管集群控制节点。 选择一台ecs作为集群控制节点,该ecs需要能够通过ip地址访问集群,以下以ecs-cast-vpn这台机器为例。将集群的连接信息按K8S标准格式填入 /root/.kube/config 文件,没有需要自行创建(参考文档 使用 kubeconfig 文件组织集群访问 | Kubernetes),以下为示例(实际以自有集群为准): { "kind": "Config", "apiVersion": "v1", "preferences": { }, "clusters": [{ "name": "internalCluster", "cluster": { "server": "https://192.168.0.1:5443", "certificate-authority-data": "LS0tL~Cg==" } }], "users": [{ "name": "user", "user": { "client-certificate-data": "LS0t~S0K", "client-key-data": "LS0tL~Qo=" } }], "contexts": [{ "name": "internal", "context": { "cluster": "internalCluster", "user": "user" } }], "current-context": "internal" } 下载并安装kubectl命令行工具,并安装(参考文档 在 Linux 系统中安装并设置 kubectl | Kubernetes)。完成后可以尝试执行 kubectl get node命令,如果成功显示node列表,说明配置成功。 在界面上单击“应用管理”,选择对应的“应用”,单击“添加资源”。选择“弹性 云服务器ECS ”,将这台ecs纳管。 控制节点安装UniAgent。 在探针管理界面,按照页面提示为控制节点E CS 安装UniAgent,具体安装步骤参考安装UniAgent。 纳管自建K8S集群 单击“应用管理”,选择对应的“应用”,单击“添加资源”。选择“自建K8S”,单击“添加控制节点”选择在前面步骤中纳管的集群控制节点。 再单击“添加自建K8S”,选择刚才配置的集群信息,单击纳管完成。 集群安装故障探针 在探针管理界面,云服务-自建K8S里,安装探针即可纳管完成。 等待探针状态从“部署中”变成“运行中”,说明安装完成。部署可能持续0~10分钟。 如果探针状态显示“部署失败”,很可能是镜像无法拉取,这时需要手动去安装kubectl工具的机器上确认结果。 手动安装探针 登录到机器,执行以下命令进入目录。 cd /opt/K8S ls 查看存在文件夹RASAgent 执行kubectl get pod -A | grep cast。查看探针安装详情。 如果显示ErrImagePull,说明当前集群的机器无法拉取默认镜像,此时需要手动将镜像下载后上传到能够拉取的镜像仓。下文以北京四纳管自建K8S为例: 来到应用管理界面,按图示找到镜像地址,根据集群为x86或是arm机器,单击按钮复制拉取镜像命令。 此处以x86机器为例,执行 docker pull swr.domainname/cast-probe/castprobe-operator-x86_64:1.7.2 && docker pull swr.domainname/cast-probe/castprobe-K8S-network-x86_64:1.7.2 如果你的机器为containerd,执行 crictl pull swr.domainname/cast-probe/castprobe-operator-x86_64:1.7.2 && crictl pull swr.domainname/cast-probe/castprobe-K8S-network-x86_64:1.7.2 拉取成功后,分别将两个镜像上传到私有镜像仓库。 重新安装前,执行卸载命令,将原有安装卸载(安装前请务必先执行卸载命令,安装命令不会覆盖原有安装): 卸载: /opt/K8S/RASAgent/client/cast_probe K8S uninstall --kubeconfig=/root/.kube/config 执行安装命令,将私有仓库地址填到变量中: 安装命令 : /opt/K8S/RASAgent/client/cast_probe K8S install --kubeconfig=/root/.kube/config --operator-image=${operator镜像地址} --tool-image=${network镜像地址} 安装后 kubectl get pod -A | grep cast 查看安装结果,可能需要等待一段时间(0~10分钟),才能安装成功。 如图,所有castprobe-operator pod和cast-K8S-network pod 启动成功,探针安装完成。
  • 操作步骤 同一个应用每部署一次,增加一次版本记录,编号最新的为最近一次部署记录。您可以查看已部署的应用中的“部署日志"、“执行参数”、“访问方式”、“环境”等信息。 单击目标应用名称,进入该应用“部署记录”页面。 在“部署记录”即可查看该应用的历史版本,排序由上至下分别对应部署时间由近至远。 可在上图中单击选中某一个应用版本,可查看该应用版本的“部署日志”、“执行参数”、“访问方式”、“环境”等信息。 表1 参数说明 参数 说明 部署日志 部署日志信息。 说明: 界面默认展示应用的全量日志,单击某个步骤可查看该步骤的部署日志。 单击日志窗口右上角全屏按钮,可以最大化日志窗口;单击“退出全屏”按钮,可以退出全屏。 单击“下载全量日志”,可以将日志下载到本地。 执行参数 该应用部署时的“执行参数”中参数对应的数值。 访问方式 仅应用中“部署步骤”包含“URL健康测试”时有该参数,添加该部署步骤可以在主机上通过访问 URL 测试服务状态。 环境 在主机部署场景下,显示该应用部署的环境。 回退到“部署记录”页签,切换顶部的页签,您可以查看已部署的应用中最新的“基本信息"、“部署步骤”、“参数设置”、“部署记录”“环境管理”、“权限管理”、“通知订阅”等信息。 单击“部署”旁的图标,在下拉框中单击“操作历史”,可以查看该应用最近一年的操作记录,也可以回到应用列表,选择目标应用,单击图标,单击“操作历史”进入页面。 参数 说明 操作人 显示具体操作人员的昵称。 操作类型 显示操作人员的操作类型,分为“新建”、“修改”。 修改时间 显示操作的具体时间。 操作对象 显示操作人员操作的具体对象,分为“应用”、“部署步骤”、“参数设置”、“权限管理”、“通知订阅”。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 templates Array of PipelineTemplate objects 模板列表 count Integer 模板总数 表4 PipelineTemplate 参数 参数类型 描述 name String 模板名称 id String 模板id description String 描述信息 region_id String 区域id url 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 错误原因
  • 响应示例 状态码: 400 Bad Request { "error_code" : "DEVSTAR.1001", "error_msg" : "region_id : 非法参数" } 状态码: 401 Unauthorized { "error_code" : "DEV.00000001", "error_msg" : "未识别到用户认证信息" } 状态码: 403 Forbidden { "error_code" : "DEVSTAR.1034", "error_msg" : "无操作权限" } 状态码: 404 Not Found { "error_code" : "DEVSTAR.1037", "error_msg" : "模板不存在" }
  • 响应示例 状态码: 200 OK { "users" : [ { "name" : "chenjunjie", "id" : "06d9106f3b000f241f83c010d6b78c81" }, { "name" : "fdi-dm", "id" : "076d742f028025191fe9c0109200f5c8" } ] } 状态码: 403 Forbidden { "error_code" : "ROMA.00000101", "error_msg" : "error summary", "error_details" : "some error details here", "request_id" : "13760c1fe8655e61209b75665e9bef43" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 users Array of CandidatesUser objects 候选用户成员列表。 表5 CandidatesUser 参数 参数类型 描述 name String 用户名称。 id String 用户ID。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误消息。 error_details String 具体错误消息。 request_id String 请求处理ID。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 id String 应用ID。 name String 应用名称。 字符集:支持中文、英文字母、数字、中划线、下划线、点、空格和中英文圆括号。 约束:实例下唯一。 remark String 应用描述。 roles Array of strings 应用权限角色。 read:应用下资源只读权限,至少要存在此权限,包括API调试。 access:应用下资源的访问管理权限。 delete:应用下资源的删除权限。 modify:应用下资源的修改权限,包括API发布、下线。 admin:应用和应用下资源的权限。 仅提供admin时,会自动应用其它所有权限。 未提供read时会自动应用read权限。 create_time String 创建时间。 update_time String 更新时间。 created_user created_user object 创建用户信息。 last_updated_user last_updated_user object 最后更新用户信息。 owner Boolean 是否是应用拥有者。 key String 应用认证访问KEY,未提供时随机生成。 字符集:支持中文、英文字母、数字、中划线、下划线、@号和点,以字母或中文或数字开头。 约束:实例下唯一。 favorite Boolean 是否收藏应用,收藏的应用会在列表里优先显示。 表5 created_user 参数 参数类型 描述 user_id String 创建应用的用户ID。 user_name String 创建应用的用户名称。 表6 last_updated_user 参数 参数类型 描述 user_id String 最后修改者的用户ID。 user_name String 最后修改者的用户名。 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误消息。 error_details String 具体错误消息。 request_id String 请求处理ID。
  • 响应示例 状态码: 200 OK { "id" : "b2e6b145-4f3f-4a80-aa45-f4b8029f95a3", "name" : "AppName", "remark" : "example", "roles" : [ "read, access, delete, modify, admin" ], "create_time" : "2019-12-06T06:49:04.000Z", "update_time" : "2019-12-06T06:49:04.000Z", "created_user" : { "user_id" : "string", "user_name" : "string" }, "last_updated_user" : { "user_id" : "string", "user_name" : "string" }, "owner" : true, "key" : "TEI9****8UM", "favorite" : true } 状态码: 403 Forbidden { "error_code" : "ROMA.00000101", "error_msg" : "error summary", "error_details" : "some error details here", "request_id" : "13760c1fe8655e61209b75665e9bef43" }