云服务器内容精选

  • 桶 桶(Bucket)是对象存储(Object Storage Service,简称OBS)中存储对象的单位。对象存储提供了基于桶和对象的扁平化存储方式,桶中的所有对象都处于同一逻辑层级,去除了文件系统中的多层级树形目录结构。 对象存储服务 设置有三类存储类别,分别为:标准存储、低频访问存储、归档存储,从而满足客户业务对存储性能、成本的不同诉求。创建桶时可以指定桶的存储类别。桶的存储类别可以修改。基因容器中桶可用于存储分析前后产生的数据,包括原始基因数据、流程执行中间数据及执行结果数据。
  • 什么是容器批量计算 容器批量计算(Batch Container Engine,简称BCE)服务聚焦泛互联网行业,重点围绕HPC、AI/大数据、基因等场景构建解决方案和竞争力,基于云容器引擎(Cloud Container Engine,简称CCE)、云容器实例(Cloud Container Instance,简称CCI)、智能边缘平台(Intelligent EdgeFabric,简称IEF)等基础设施,提供多集群、多任务/异构资源混合调度能力,并支持多队列管理,方便多业务进行应用规划。BCE基于Volcano构建混合调度能力,可以支持批量作业的并发调度,在容器技术的加持下,BCE可以做到秒级应用部署,且能按照使用量计费,为您提供最佳性价比和最高效部署能力的批量任务解决方案。 图1 容器批量计算架构图
  • BCE权限 默认情况下,管理员创建的 IAM 用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 BCE部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华东-上海一)对应的项目(cn-east-3)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问BCE时,需要先切换至授权区域。 根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对BCE服务,管理员能够控制IAM用户仅能对某一类容器批量计算资源进行指定的管理操作。多数细粒度策略以API接口为粒度进行权限拆分,BCE支持的API授权项请参见权限策略和授权项。
  • 容器批量计算与其他服务的关系 表1 容器洞察引擎与其他服务的关系 服务名称 BCE与其他服务的关系 主要交互功能 云容器引擎 CCE BCE的专属资源池由CCE服务创建。CCE提供高可靠高性能的企业级容器应用管理服务。 创建专属资源池 云容器实例 CCI BCE的共享资源池由云容器实例CCI服务的Serverless Container(无服务器容器)引擎支撑。 创建共享资源池 容器镜像服务 SWR BCE使用容器 镜像服务 存储工具镜像,包括内置工具及自定义工具的存储。容器镜像服务(Software Repository for Container)是一种支持容器镜像全生命周期管理的服务, 提供简单易用、安全可靠的镜像管理功能,帮助用户快速部署容器化服务。 创建Argo作业 创建WDL作业 创建G CS 作业 对象存储服务 OBS 存储用户上传的GCS/WDL模板。 创建作业模板 统一身份认证 服务 IAM 获取用户权限信息。 登录控制台 权限管理
  • 什么是区域、可用区? 我们用区域和可用区来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。更多信息请参见华为云全球站点。
  • 如何选择区域? 选择区域时,您需要考虑以下几个因素: 地理位置 一般情况下,建议就近选择靠近您或者您的目标用户的区域,这样可以减少网络时延,提高访问速度。不过,在基础设施、BGP网络品质、资源的操作与配置等方面,中国大陆各个区域间区别不大,如果您或者您的目标用户在中国大陆,可以不用考虑不同区域造成的网络时延问题。 在除中国大陆以外的亚太地区有业务的用户,“亚太-曼谷”或“亚太-新加坡”区域。 在非洲地区有业务的用户,可以选择“南非-约翰内斯堡”区域。 在欧洲地区有业务的用户,可以选择“欧洲-巴黎”区域。 在拉丁美洲地区有业务的用户,可以选择“拉美-圣地亚哥”区域。 “拉美-圣地亚哥”区域位于智利。 资源的价格 不同区域的资源价格可能有差异,请参见华为云服务价格详情。
  • 数组 数组使用连字符和空格“- ”表示,合法的表示方法如下: animal:- Cat- Dog- Goldfish 也可使用行内表示法: animal: [Cat, Dog, Goldfish] 对象和数组可以嵌套使用,形成复合结构: languages: - Ruby - Perl - Pythonwebsites: YAML: yaml.org Ruby: ruby-lang.org Python: python.org Perl: use.perl.org
  • 纯量 纯量的数据类型有字符串、布尔值、整数、浮点数、Null、时间、日期。 字符串表示: 字符串默认不使用引号表示: str: This_is_a_line 如果字符串之中包含空格或特殊字符,需要放在引号之中: str: 'content: a string’ 单引号和双引号都可以使用,两者区别是单引号可以识别转义字符:双引号不会对特殊字符转义:↵ s1: 'content:\n a string's2: "content:\n a string" 单引号之中如果还有单引号,必须连续使用两个单引号转义。 str: 'labor''s day' 字符串可以写成多行,从第二行开始,必须有一个单空格缩进。换行符会被转为空格。 str: This_is a_multi_line 整数表示: int_value: 314 浮点型表示: float_value: 3.14 Null表示: parent: ~ 时间表示: 时间采用ISO8601格式。 iso8601: 2018-12-14t21:59:43.10-05:00 日期表示: 日期采用复合ISO8601格式的年、月、日表示。 date: 1976-07-31
  • 创建WDL作业 登录BCE控制台,左侧导航栏中选择“作业管理”。 在“WDL”页签下,单击“创建作业”。 配置参数,具体如表1所示。 表1 创建作业 参数 说明 作业名称 输入作业名称。要求如下: 长度范围为4~64个字符。 名称由小写字母、数字、中划线(-)组成。 以小写字母开头。 以小写字母或数字结尾。 模板文件 是一种遵循GCS流程或者WDL流程描述语法规范的文本文件,用于控制流程的详细步骤。GCS流程的语法规则请参见流程语法参考,WDL的语法规则请参见1.0 specification。 依赖文件 创建WDL作业模板时,单击“添加文件”,可添加依赖文件。 作业配置 可根据实际需求选择“默认配置”或“不启用”。 若选择“默认配置”,可输入配置文件或者单击“添加文件”,上传配置文件。 执行参数 可根据实际需求选择配置执行参数: 默认配置 执行结果写缓存:可根据实际需求选择“默认”、“开启”和“关闭”。 执行任务检查缓存:可根据实际需求选择“默认”、“开启”和“关闭”。 自定义配置:可输入配置文件或者单击“添加文件”,上传配置文件。 不启用:不配置执行参数。 单击“创建”,作业创建成功。
  • 模板示例 version: genecontainer_0_1inputs: #设置流程变量 sample: #变量名 default: sample1 type: string description: 变量描述,支持中文 label: basicworkflow: #设置流程顺序 test-job-a: tool: busybox:latest type: GCS.Job resources: memory: 4G commands_iter: # {item} 为GCS内置变量,表示并发任务的 index,需要的时候选用 command: sleep 10; touch /obs/test-job/${sample}.${item}.${1}.txt vars_iter: - [0,1] test-job-b: tool: busybox:latest type: GCS.Job resources: memory: 4G commands: - sleep 10; touch /obs/test-job/${sample}.job-b.txt depends: - target: test-job-a #表示依赖另一个步骤,默认依赖类型: wholevolumes: #设置挂载共享存储 genobs: mount_path: /obs mount_from: pvc: '${GCS_DATA_PVC}' #OBS数据桶outputs: #设置最终结果 result-txt: #结果文件 paths_iter: path: /obs/test-job/${sample}.${item}.${1}.txt vars_iter: - [0,1]
  • 模板结构 基因容器语法结构请参见表1。 表1 模板组成元素 参数 是否必选 参数类型 参数描述 version 是 string 流程文件的版本。当前支持为 genecontainer_0_1。 inputs 否 Map 整个流程的可变量。可以定义多个,在执行的时候设置这些变量的实际值。 workflow 是 Map 定义完整流程包含的各个步骤,以及步骤之间的依赖关系。 volumes 否 Map 定义任务挂载共享存储的挂载路径。 outputs 否 Map 定义流程最终生成的文件列表。用于界面展示使用。
  • 添加版本 登录BCE控制台,左侧导航栏中选择“作业模板”。 在“GCS作业模板”或“WDL作业模板”页签下,在已创建的模板列中,单击“添加版本”。 配置参数,具体如表1所示。 表1 创建作业模板 参数 说明 模板名称 保持默认值,不可修改。 版本 输入版本号。 模板文件 是一种遵循GCS流程或者WDL流程描述语法规范的文本文件,用于控制流程的详细步骤。GCS流程的语法规则请参见流程语法参考,WDL的语法规则请参见1.0 specification。 依赖文件 WDL作业模板才显示此参数。 单击“添加文件”,可添加依赖文件。 发布者 输入发布者名称。 描述 输入描述信息。 单击“添加”。
  • 作业执行状况 图1 作业执行状况 此卡片主要展示各个作业状态的个数,作业的状态包括执行中、删除中、成功、失败、等待中和其他。 从作业执行状态可以确定当前任务所属阶段,具体说明如表1所示。 表1 任务状态说明 状态 说明 执行中 任务正在执行中。 删除中 任务正在删除中。 成功 任务执行成功,可删除任务。 失败 任务执行失败。 等待中 任务准备执行中。 其他 不同的作业存在不重合的状态,将这些状态统一归类在其他中,例如:已提交任务。
  • 查看专属资源池 登录BCE控制台,在左侧导航栏单击“资源池管理”。 在“专属资源池”页签下,在资源池列表中可以查看资源池的名称、资源池状态、集群版本、集群规格、节点池和可用节点等信息。 在专属资源池卡片上,单击专属资源池名称,例如:bce-test0421,可查看专属资源池的详细信息。 单击右上角“休眠”,可以对集群进行休眠,单击“删除”可以删除资源池。 单击“资源池名称”, “资源池描述”, 可对资源池的名称,描述进行修改更新。 单击“集群名称”,可进入CCE服务页面,查看集群的详细信息。
  • BCE自定义策略样例 示例1:配置BCE FullAccess策略,该策略有依赖,具体说明请参见权限管理。 { "Version": "1.1", "Statement": [ { "Action": [ "swr:repository:getTag", "swr:repository:getRepository", "swr:repository:getNamespace", "swr:repository:listNamespaces", "swr:repository:listTags", "swr:repository:listRepositories" ], "Effect": "Allow" }, { "Action": [ "bce:*:*", "cce:cluster:get", "cce:cluster:list", "cce:node:get", "cce:node:list", "cce:storage:create", "cce:storage:list", "CCI:namespace:get", "CCI:namespace:list", "CCI:namespaceSubResource:Create", "CCI:namespaceSubResource:Delete", "CCI:namespaceSubResource:Get", "CCI:namespaceSubResource:List", "CCI:namespaceSubResource:Update", "CCI:network:get", "CCI:network:list", "rds:database:list", "rds:instance:list", "vpc:vpcs:get", "vpc:subnets:get", "vpc:vpcs:list", "evs:volumes:list", "sfs:shares:getAllSharesDetail", "sfs:shares:ShareAction", "evs:volumes:get" ], "Effect": "Allow" } ]} 示例2:配置BCE ReadOnlyAccess策略,该策略有依赖,具体说明请参见权限管理。 { "Version": "1.1", "Statement": [ { "Action": [ "swr:repository:getTag", "swr:repository:getRepository", "swr:repository:getNamespace", "swr:repository:listNamespaces", "swr:repository:listTags", "swr:repository:listRepositories" ], "Effect": "Allow" }, { "Action": [ "bce:*:list", "bce:*:get", "cce:cluster:get", "cce:cluster:list", "cce:node:get", "cce:node:list", "cce:storage:list", "CCI:namespace:get", "CCI:namespace:list", "CCI:namespaceSubResource:Get", "CCI:namespaceSubResource:List", "CCI:network:get", "CCI:network:list", "rds:database:list", "rds:instance:list", "vpc:vpcs:get", "vpc:subnets:get", "vpc:vpcs:list", "evs:volumes:list", "sfs:shares:getAllSharesDetail", "sfs:shares:ShareAction", "evs:volumes:get" ], "Effect": "Allow" } ]} 示例3:配置BCE CommonOperations策略,该策略有依赖,具体说明请参见权限管理。 { "Version": "1.1", "Statement": [ { "Action": [ "swr:repository:getTag", "swr:repository:getRepository", "swr:repository:getNamespace", "swr:repository:listNamespaces", "swr:repository:listTags", "swr:repository:listRepositories" ], "Effect": "Allow" }, { "Action": [ "bce:*:get", "bce:*:list", "bce:commonWorkflows:*", "bce:commonWorkflowTemplates:*", "bce:executions:*", "bce:executionsExtend:*", "bce:hpcJobs:*", "bce:tfjobs:*", "bce:queues:*", "bce:workflowsExtend:*", "bce:workflows:*", "cce:cluster:get", "cce:cluster:list", "cce:node:get", "cce:node:list", "cce:storage:create", "cce:storage:list", "CCI:namespace:get", "CCI:namespace:list", "CCI:namespaceSubResource:Create", "CCI:namespaceSubResource:Delete", "CCI:namespaceSubResource:Get", "CCI:namespaceSubResource:List", "CCI:namespaceSubResource:Update", "CCI:network:get", "CCI:network:list", "rds:database:list", "rds:instance:list", "vpc:vpcs:get", "vpc:subnets:get", "vpc:vpcs:list", "evs:volumes:list", "sfs:shares:getAllSharesDetail", "sfs:shares:ShareAction", "evs:volumes:get" ], "Effect": "Allow" } ]} 示例4:查询队列列表 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ " bce:queues:list " ] } ]} 示例5:拒绝用户删除GCS作业 拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先原则。 如果您给用户授予BCE FullAccess的系统策略,但不希望用户拥有BCE FullAccess中定义的删除GCS作业权限,您可以创建一条拒绝删除GCS作业的自定义策略,然后同时将BCE FullAccess和拒绝策略授予用户,根据Deny优先原则,则用户可以对BCE执行除了删除GCS作业外的所有操作。拒绝策略示例如下: { "Version": "1.1", "Statement": [ { "Action": [ "bce:executions:delete" ], "Effect": "Deny" } ]}