华为云用户手册

  • 问题根因 出现该问题的原因是Kubernetes在处理Event事件时,为了后端服务etcd的可用性,会对事件进行限流、聚合、计数的预处理,因此Kubernetes Event事件并非100%打印,在遇到大批量打印相同事件时,可能会出现上述问题。 以上逻辑通过Kubernetes源码中的EventCorrelate方法实现,您可以查看社区的设计方案了解详情。 该问题为Kubernetes设计机制导致,因此您可以无需关注。
  • 路由到多个服务 Ingress可以同时路由到多个服务,配置如下所示。 当访问“http://foo.bar.com/foo”时,访问的是“s1:80”后端。 当访问“http://foo.bar.com/bar”时,访问的是“s2:80”后端。 Ingress转发策略中的path路径要求后端应用内存在相同的路径,否则转发无法生效。 例如,Nginx应用默认的Web访问路径为“/usr/share/nginx/html”,在为Ingress转发策略添加“/test”路径时,需要应用的Web访问路径下也包含相同路径,即“/usr/share/nginx/html/test”,否则将返回404。 ... spec: rules: - host: foo.bar.com # host地址 http: paths: - path: "/foo" backend: service: name: s1 port: number: 80 - path: "/bar" backend: service: name: s2 port: number: 80 ...
  • Ingress工作机制 要想使用Ingress功能,必须在Kubernetes集群上安装Ingress Controller。Ingress Controller有很多种实现,最常见的就是Kubernetes官方维护的NGINX Ingress Controller;不同厂商通常有自己的实现,例如CCE使用弹性负载均衡服务ELB实现Ingress的七层负载均衡。 外部请求首先到达Ingress Controller,Ingress Controller根据Ingress的路由规则,查找到对应的Service,进而通过Endpoint查询到Pod的IP地址,然后将请求转发给Pod。 图2 Ingress工作机制
  • 创建Ingress 下面例子中,使用http协议,关联的后端Service为“nginx:8080”,使用ELB作为Ingress控制器(metadata.annotations字段都是指定使用哪个ELB实例),当访问“http://192.168.10.155:8080/”时,流量转发“nginx:8080”对应的Service,从而将流量转发到对应Pod。 示例如下(适用于v1.23及以上版本的集群): apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: test-ingress annotations: kubernetes.io/elb.class: union kubernetes.io/elb.port: '8080' kubernetes.io/elb.id: aa7cf5ec-7218-4c43-98d4-c36c0744667a spec: rules: - host: '' http: paths: - path: / backend: service: name: nginx port: number: 8080 property: ingress.beta.kubernetes.io/url-match-mode: STARTS_WITH pathType: ImplementationSpecific ingressClassName: cce
  • 命名空间权限(kubernetes RBAC授权) 命名空间权限是基于Kubernetes RBAC能力的授权,通过权限设置可以让不同的用户或用户组拥有操作不同Kubernetes资源的权限。Kubernetes RBAC API定义了四种类型:Role、ClusterRole、RoleBinding与ClusterRoleBinding,这四种类型之间的关系和简要说明如下: Role:角色,其实是定义一组对Kubernetes资源(命名空间级别)的访问规则。 RoleBinding:角色绑定,定义了用户和角色的关系。 ClusterRole:集群角色,其实是定义一组对Kubernetes资源(集群级别,包含全部命名空间)的访问规则。 ClusterRoleBinding:集群角色绑定,定义了用户和集群角色的关系。 Role和ClusterRole指定了可以对哪些资源做哪些动作,RoleBinding和ClusterRoleBinding将角色绑定到特定的用户、用户组或ServiceAccount上。如下图所示。 图1 角色绑定 在CCE控制台可以授予用户或用户组命名空间权限,可以对某一个命名空间或全部命名空间授权,CCE控制台默认提供如下ClusterRole。 view(只读权限):对全部或所选命名空间下大多数资源的只读权限。 edit(开发权限):对全部或所选命名空间下多数资源的读写权限。当配置在全部命名空间时能力与运维权限一致。 admin(运维权限):对全部命名空间下大多数资源的读写权限,对节点、存储卷,命名空间和配额管理的只读权限。 cluster-admin(管理员权限):对全部命名空间下所有资源的读写权限。 drainage-editor:节点排水操作权限,可执行节点排水。 drainage-viewer:节点排水只读权限,仅可查看节点排水状态,无法执行节点排水。
  • 集群权限( IAM 系统策略授权) 默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 CCE部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域对应的项目中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问CCE时,需要先切换至授权区域。 权限根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对CCE服务,租户(Domain)能够控制用户仅能对某一类集群和节点资源进行指定的管理操作。多数细粒度策略以API接口为粒度进行权限拆分,CCE支持的API授权项请参见权限策略和授权项。 如表1所示,包括了CCE的所有系统权限。 表1 CCE系统权限 系统角色/策略名称 描述 类别 依赖关系 CCE Administrator 具有CCE集群及集群下所有资源(包含集群、节点、工作负载、任务、服务等)的读写权限。 系统角色 拥有该权限的用户必须同时拥有以下权限: 全局服务:OBS Buckets Viewer、OBS Administrator。 区域级项目:Tenant Guest、Server Administrator、ELB Administrator、SFS Administrator、SWR Admin、 APM FullAccess。 说明: 如果同时拥有NAT Gateway Administrator权限,则可以在集群中使用NAT网关的相关功能。 如果IAM子用户需要对其他用户或用户组进行集群命名空间授权,则该用户需要拥有IAM只读权限。 CCE FullAccess CCE服务集群相关资源的普通操作权限,不包括集群(启用Kubernetes RBAC鉴权)的命名空间权限,不包括委托授权、生成集群证书等管理员角色的特权操作。 策略 无 CCE ReadOnlyAccess CCE服务集群相关资源的查看权限,不包括集群(启用Kubernetes RBAC鉴权)的命名空间权限。 策略 无 表2 CCE常用操作与系统权限的关系 操作 CCE ReadOnlyAccess CCE FullAccess CCE Administrator 创建集群 x √ √ 删除集群 x √ √ 更新集群,如后续允许集群支持RBAC,调度参数更新等 x √ √ 升级集群 x √ √ 唤醒集群 x √ √ 休眠集群 x √ √ 查询集群列表 √ √ √ 查询集群详情 √ √ √ 添加节点 x √ √ 删除节点/批量删除节点 x √ √ 更新节点,如更新节点名称 x √ √ 查询节点详情 √ √ √ 查询节点列表 √ √ √ 查询任务列表(集群层面的job) √ √ √ 删除任务/批量删除任务(集群层面的job) x √ √ 查询任务详情(集群层面的job) √ √ √ 创建存储 x √ √ 删除存储 x √ √ 操作所有kubernetes资源。 √(需Kubernetes RBAC授权) √(需Kubernetes RBAC授权) √ 容器智能分析所有资源查看权限 √ √ √ 容器智能分析所有资源操作权限 x √ √ 告警助手所有资源查看权限 √ √ √ 告警助手所有资源操作权限 x √ √ E CS (弹性云服务器)服务的所有权限。 x √ √ EVS(云硬盘)的所有权限。 可以将云硬盘挂载到云服务器,并可以随时扩容云硬盘容量 x √ √ VPC(虚拟私有云)的所有权限。 创建的集群需要运行在虚拟私有云中,创建命名空间时,需要创建或关联VPC,创建在命名空间的容器都运行在VPC之内。 x √ √ ECS(弹性云服务器)所有资源详情的查看权限。 CCE中的一个节点就是具有多个云硬盘的一台弹性云服务器 √ √ √ ECS(弹性云服务器)所有资源列表的查看权限。 √ √ √ EVS(云硬盘)所有资源详情的查看权限。可以将云硬盘挂载到云服务器,并可以随时扩容云硬盘容量 √ √ √ EVS(云硬盘)所有资源列表的查看权限。 √ √ √ VPC(虚拟私有云)所有资源详情的查看权限。 创建的集群需要运行在虚拟私有云中,创建命名空间时,需要创建或关联VPC,创建在命名空间的容器都运行在VPC之内 √ √ √ VPC(虚拟私有云)所有资源列表的查看权限。 √ √ √ ELB(弹性负载均衡)服务所有资源详情的查看权限。 x x √ ELB(弹性负载均衡)服务所有资源列表的查看权限。 x x √ SFS(弹性文件服务)服务所有资源详情的查看权限。 √ √ √ SFS(弹性文件服务)服务所有资源列表额查看权限。 √ √ √ AOM 应用运维管理 )服务所有资源详情的查看权限。 √ √ √ AOM(应用运维管理)服务所有资源列表的查看权限。 √ √ √ AOM(应用运维管理)服务自动扩缩容规则的所有操作权限。 √ √ √
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的 IaaS、PaaS 和 SaaS 类云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。 华为云租户的安全责任在于对使用的 IaaS、PaaS 和 SaaS 类云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API 网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • 计费模式 云容器引擎提供包年/包月、按需计费两种计费模式,以满足不同场景下的用户需求。关于计费模式的详细介绍请参见计费模式概述。 包年/包月是一种预付费模式,即先付费再使用,按照订单的购买周期进行结算,因此在购买之前,您必须确保账户余额充足。 按需计费是一种后付费模式,即先使用再付费,按照实际使用时长计费。 在购买集群或集群内资源后,如果发现当前计费模式无法满足业务需求,您还可以变更计费模式。详细介绍请参见变更计费模式概述。
  • 后续操作(可选) 已部署的实例,支持查看创建实例、删除实例、升级实例、添加组织、扩容节点、创建通道、节点加入通道等操作记录。左侧操作状态栏会展示已有操作记录的状态,操作状态类型包括:进行中、升级中、删除中、成功和失败(截图仅供参考,请以实际环境为准)。 图2 操作记录 系统将保留最近三天的操作记录。 登录 区块链 服务管理控制台,单击左侧导航栏中的“实例管理”。 单击“操作记录”,查看各个资源的操作记录。 您可以按资源名称关键词搜索操作记录,还可以在资源所在行进行“操作详情”及“删除”操作。 部署 BCS 的集群节点支持增加反亲和标签,在您需要将应用部署到区块链集群中时作区分隔离,以保证系统正常工作。 登录CCE控制台。 在“集群管理”页面,单击集群名称进入集群信息页面。 选择“节点管理”,在“节点”页签,勾选节点,单击“标签与污点管理”。 在弹出的窗口中,在“批量操作”下方单击“新增批量操作”,然后选择“添加/更新”。填写需要增加标签的键为“nodeScope”,值为“userApplication”。 单击“确定”。 标签添加成功后,再次单击“标签与污点管理”,在“节点数据”下方单击“查看”即可显示已经添加的标签。
  • 使用引导 华为云区块链引擎服务(Huawei Cloud Blockchain Service,简称HBS)提供实例部署、区块链管理、业务链管理等功能。以下为华为云区块链引擎服务使用全景图,希望对您的使用有所引导及帮助。 华为云区块链引擎本身不涉及用户敏感信息。使用华为云区块链引擎处理数据的目的、范围、处理方式、时限等请遵从当地适用的法律法规。华为云区块链引擎本身不建议传输和存储敏感数据,如果传输和存储敏感数据,请自行加密后再传输和存储。 图1 使用引导 注册账号 新用户请先注册完成实名认证,具体请参见账号注册和账号实名认证。 权限管理 创建用户并授权使用华为云区块链引擎。 实例部署 购买华为云区块链引擎实例。 实例管理 提供华为云区块链引擎管理功能,可实时查看华为云区块链引擎运行状况,并对华为云区块链引擎做相应的操作。 区块链管理 提供界面化合约管理功能,包括合约安装、更新合约。 下载配置文件 开发应用之前需要进行配置文件下载,配置文件中包含用户证书和SDK。 插件管理(公测) 支持安装插件、卸载插件、查看插件实例的基本信息。 关于配额 支持查看服务的配额使用情况和扩大配额。 父主题: 华为云区块链引擎管理
  • 部署区块链实例 完成环境准备工作后,可按照如下步骤购买并部署区块链实例。“集群”请选择“边缘集群”,并填写需要使用的边缘节点IP。 现网账号欠费会导致实例网盘被释放,已购买的实例不可用。 创建区块链实例和添加组织时,请务必保证弹性IP或私有IP与边缘节点一一对应,否则可能导致节点部署失败。 登录区块链服务管理控制台,进入“实例管理”,单击Hyperledger Fabric增强版的“购买”按钮。 根据界面提示,配置区块链基本信息,参数如表2所示。 表2 基本信息配置 参数 描述 示例 计费模式 区块链实例管理收费模式,支持包年/包月、按需计费。 包年/包月 区域 区块链基础设施所在的区域,建议选择与业务应用系统相同的地域。 使用默认区域 企业项目 请选择已创建的企业项目,将 区块链服务BCS 添加至企业项目中。 说明: 如果您没有开通企业管理服务,将无法看到企业项目选项。开通方法请参见如何开通企业项目 如果您使用已有CCE集群部署区块链服务BCS,建议您将区块链服务BCS添加至CCE集群的企业项目中,如果区块链服务BCS与部署区块链服务的CCE集群处于不同的企业项目,可能导致使用异常。 default 区块链实例名称 支持中英文字符、数字及中划线,不能以中划线开头,长度为4-24个字符。 说明: 目前区块链实例名称不支持修改,只能删除重新创建。 bcs-wh 版本类型 BCS提供基础版、专业版和企业版供您选择。 专业版 区块链类型 私有链指仅本租户内部使用的区块链实例,联盟链指可邀请其他租户一起组建联盟的区块链实例。 私有链 Hyperledger Fabric增强版内核 区块链实例的版本号。 区块链版本4.x.x对应社区Hyperledger Fabric v2.2。 v2.2 共识策略 区块链网络中节点之间达成共识需要遵从的规则。 支持快速拜占庭容错共识算法(FBFT)、Raft(CFT),各策略分别具有不同的特性及使用场景,请参见产品功能。 说明: raft共识基础版、专业版、企业版默认3个orderer节点。 Raft(CFT) 资源初始密码 登录区块链管理界面时的admin账户的密码、云主机的root密码和CouchDB密码。 高级配置中的区块链管理初始密码、云主机的root密码和CouchDB密码为选填项、如果您填写了就以填写值为准、如果您不填写就以资源初始密码的值为准。 - 资源初始密码确认 再次输入资源初始密码进行确认。 - 购买时长 选择区块链实例的购买时长。 一个月 单击“下一步:资源配置”,进行资源配置,参数如表3所示。 表3 资源配置 参数 描述 示例 集群 用于部署区块链实例。 选择边缘集群,需要先纳管边缘节点并检查边缘节点状态。 边缘集群 节点部署模式 根据实际选择模式: 随机模式:边缘集群纳管的节点名称无需和peer节点组织的名称保持一致。 节点组织绑定模式:边缘集群纳管的节点名称必须和peer节点组织的名称保持一致。 节点组织绑定模式 网络存储 默认“本地存储”。 本地存储 边缘集群实例 可以选择专业版。 专业版 边缘节点IP 输入边缘节点IP地址,请确保输入的IP地址正确(联盟链请务必使用公网IP),否则可能会导致区块链网络异常。 - 单击“下一步:区块链配置”,进行区块链配置,参数如表4所示。 表4 区块链配置 参数 描述 示例 区块链配置 根据实际需求选择“系统默认配置”或“自定义配置”。 自定义配置 区块链管理初始密码 输入登录区块链管理界面的admin账户的密码进行确认。 - 区块链管理确认密码 再次输入登录区块链管理界面的admin账户的密码进行确认。 - 部署方式 当版本类型选择“企业版”时需要设置该参数。 选择“全量部署”,则在购买区块链实例时需将全部Peer节点配置到节点组织中。 选择“部分部署”,则在购买区块链实例时只需将部分Peer节点配置到节点组织中,剩余Peer节点可在购买区块链实例以后任意时刻通过添加组织或添加节点方式部署。 部分部署 peer节点组织 为区块链实例添加peer节点组织。 organization,节点数量为2。 部署节点总数 当版本类型选择“企业版”且部署方式为“部分部署”时,需要设置该参数。最大可设置为企业版Peer节点配额。 说明: 所有Peer节点自购买区块链订单完成之后开始计费。 50 通道配置 通道主要用于实现联盟链中业务的隔离。通道内包含业务的参与方(联盟内的部分或全部组织)作为通道成员。每个通道可视为一条子链,并且对应一套分布式账本。 默认创建名为“channel”的实例通道,并将刚才创建的示例节点组织添加进此通道。 共识节点数量 区块链网络中参与交易共识的节点数量。 当共识策略是Raft(CFT)时,共识节点数量为3。 3 安全机制 保证数据安全的加密算法,支持ECDSA和国密算法。 ECDSA 账本数据存储方式 支持文件数据库(GoLevelDB)和NoSQL(CouchDB)存储方式。 文件数据库(GoLevelDB):使用Fabric原生存储方式,交易历史数据保存在区块链中,状态数据保存在LevelDB中。 NoSQL(CouchDB):使用Fabric原生支持的存储方式CouchDB存储交易数据和状态数据。CouchDB数据库是一个独立的文档集合,每一个文档维护其自己独立的数据和自包含的schema。 文件数据库(GoLevelDB) 区块生成配置 产生的区块配置可支持区块产生时间,区块交易数量和区块容量,其中任何一个条件满足,区块就会产生,可根据交易频率和业务量灵活配置。 否 单击“下一步:确认订单”。 确认配置信息无误后,勾选协议和免责声明,并单击“提交订单”。 请等待数分钟,安装页面提示安装成功,查看实例状态变为“正常”后,表示实例部署完成。 图2 查看实例状态
  • 配置节点 由于边缘节点一般处于企业内网,与互联网不通且未安装必要的软件,所以需要对边缘节点进行如下配置。 使用远程登录工具分别登录准备好的边缘节点。 执行如下命令配置HTTPS代理,使边缘节点与互联网相通。其中IP和端口请根据实际情况填写。 export https_proxy=ip:port export http_proxy=ip:port 执行如下命令安装Docker。 yum install epel-release yum install docker 检查docker相关配置。 检查docker.sock的权限。 [root@localhost ~]# ll /var/run/docker.sock srwxrwxrwx. 1 root root 0 Apr 25 21:59 /var/run/docker.sock 注意:如果权限不是777,请执行以下命令修改: chmod 777 /var/run/docker.sock 检查docker配置文件。 [root@localhost ~]# cat /etc/sysconfig/docker # /etc/sysconfig/docker # Modify these options if you want to change the way the docker daemon runs OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false' OPTIONS行删除selinux-enabled配置,如下所示: OPTIONS='--log-driver=journald --signature-verification=false' 执行以下命令,检查docker容器是否安装成功。 docker version 显示如下回显信息,表示docker容器安装成功。 图1 结果显示信息 配置Docker代理。 创建目录和文件。 mkdir /etc/systemd/system/docker.service.d vim /etc/systemd/system/docker.service.d/http-proxy.conf 为http-proxy.conf文件增加以下配置内容。 [Service] Environment="HTTP_PROXY=http://proxy_id:proxy_port" 加载配置并重启Docker。 systemctl daemon-reload systemctl restart docker 检查变量是否加载成功。 systemctl show docker --property Environment
  • 通知管理 当别的租户邀请您加入联盟链时,您会在此页面收到通知消息。 同意加入联盟链:在通知管理页面,单击通知列表“操作”的“查看”,选择BCS实例、组织并单击“同意”。 拒绝加入联盟链:在通知管理页面,单击通知列表“操作”的“查看”,单击“拒绝”。 删除通知:在通知管理页面,单击通知列表“操作”的“删除”。 稍后处理:在通知管理页面,单击通知列表“操作”的“查看”,单击“稍后处理”。 作为被邀请方,选择实例前需要单击“创建BCS实例”来创建实例,否则无法加入联盟通道。 通知状态包含: “未处理”表示邀请通知待处理,您可以单击“查看”选择同意或拒绝。 “已完成”表示您已同意邀请并加入联盟链。 “已取消”表示邀请方已删除实例,您不能再加入此联盟链。 “已拒绝”表示您主动拒绝邀请方加入联盟链的邀请。 “已退出”表示您同意邀请并已加入联盟链后又退出联盟链。 “已解散”表示您加入联盟链后,邀请方删除了实例导致联盟链解散。 “已冻结”表示邀请者账号已被冻结。 “已升级”表示您加入联盟链后,该联盟链中某个实例已升级成功。 父主题: 联盟链管理
  • 示例流程 图1 为用户授予权限流程 创建用户组并授权 在IAM控制台创建用户组,选择授予“BCS Administrator”权限。 由于该权限有依赖,除了勾选BCS Administrator外,还需要同时勾选依赖的权限BSS Administrator、VPCEndpoint Administrator、VPC Administrator才能生效。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录区块链服务BCS控制台,验证华为云区块链引擎服务的操作权限。
  • 示例流程 图1 给用户授予BCS权限流程 创建用户组并授权 在IAM控制台创建用户组,并授予区块链服务的操作权限“BCS Administrator”。 如果选择“BCS Administrator”,由于该权限有依赖,除了勾选BCS Administrator外,还需要同时勾选依赖的权限Tenant Guest、Server Administrator、ELB Administrator、SFS Administrator、SWR Admin、APM FullAccess、AOM FullAccess、CCE Administrator、VPC Administrator、EVS Administrator、CCE Cluster Admin才能生效。 如果还需要其他服务的操作权限,请联系账号管理员添加。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,验证区块链服务的操作权限。
  • 后续操作(可选) 已部署的实例,支持查看创建、删除等操作记录。在“操作记录”页面,左侧操作状态栏会展示已有操作记录的状态,操作状态类型包括:初始化、进行中、成功和失败。 登录区块链服务管理控制台,单击左侧导航栏中的“实例管理”,选择华为云区块链引擎页签。 单击“操作记录”,查看各个资源的操作记录。 您可以按资源名称搜索操作记录,还可以在资源所在行进行“操作详情”及“删除”操作。 图2 华为云区块链引擎操作记录 系统将保留最近三天的操作记录。
  • 部署Hyperledger Besu实例 完成环境准备工作后,可按照如下步骤购买并部署Hyperledger Besu实例。 进入购买华为云区块链引擎实例页面。 已部署的实例,单击左侧导航栏中的“实例管理”,单击右侧的“操作记录”,查看操作记录并在实例右侧进行“操作详情”及“删除”操作。 根据界面提示,配置区块链基本信息,参数如表1所示。 图1 云端管理页面 表1 基本信息配置 参数 描述 示例 管理模式 选择云端管理:使用华为云资源管理区块链数据。 云端管理 实例类型 区块链实例的类型。有两种实例类型,华为云区块链引擎和Hyperledger Besu。 Hyperledger Besu 计费模式 华为云区块链引擎的收费模式,支持包年/包月。 包年/包月 区域 区块链基础设施所在的区域,建议选择与业务应用系统相同的地域。 使用默认区域 区块链实例名称 支持英文字符、数字及中划线,不能以中划线开头,长度为4-24个字符。 说明: 目前区块链实例名称不支持修改,只能删除重新创建。 bcs-hw 版本类型 版本的类型,当前支持企业版。 企业版 节点配置 支持增加节点成员数。 支持最大成员节点数10个。 - 高级设置 共识策略:区块链网络中节点之间达成共识需要遵从的规则。默认为IBFT2.0策略。 安全机制:保证数据安全的加密算法,默认为ECDSA。 - 购买时长 支持自定义购买实例的使用时间,最短1个月。 您可根据需要选择勾选自动续费,按月购买的自动续费周期为1个月,按年购买的自动续费周期为1年。 1个月 单击“立即创建”。 确认配置信息无误后,勾选协议和免责声明,并单击“提交”。 进入支付页面,确认订单费用无误后,单击“确认付款”,订单支付成功后,即可返回区块链服务控制台查看正在创建的实例。 实例创建大概需要18-25分钟,请耐心等待。实例创建成功后,查看实例状态变为“正常”后,表示华为云区块链引擎实例部署完成。
  • 后续操作(可选) 已部署的实例,支持查看创建、删除等操作记录。在“操作记录”页面,左侧操作状态栏会展示已有操作记录的状态,操作状态类型包括:初始化、进行中、成功和失败。 登录区块链服务管理控制台,单击左侧导航栏中的“实例管理”,选择华为云区块链引擎页签。 单击“操作记录”,查看各个资源的操作记录。 您可以按资源名称搜索操作记录,还可以在资源所在行进行“操作详情”及“删除”操作。 图2 华为云区块链引擎操作记录 系统将保留最近三天的操作记录。
  • 部署华为云区块链引擎实例 完成环境准备工作后,可按照如下步骤购买并部署华为云区块链引擎实例。 进入购买华为云区块链引擎实例页面。 已部署的实例,单击左侧导航栏中的“实例管理”,单击右侧的“操作记录”,查看操作记录并在实例右侧进行“操作详情”及“删除”操作。 根据界面提示,配置区块链基本信息,参数如表1所示。 图1 云端管理页面 表1 基本信息配置 参数 描述 示例 管理模式 选择云端管理:使用华为云资源管理区块链数据。 云端管理 计费模式 华为云区块链引擎的收费模式,支持包年/包月。 包年/包月 区域 区块链基础设施所在的区域,建议选择与业务应用系统相同的地域。 使用默认区域 区块链实例名称 支持英文字符、数字及中划线,不能以中划线开头,长度为4-24个字符。 说明: 目前区块链实例名称不支持修改,只能删除重新创建。 bcs-hw 版本类型 提供专业版、企业版和铂金版供您选择。 专业版 组织配置 支持增加组织成员数。 专业版支持最大成员组织数2个,企业版支持最大成员组织数10个,铂金版支持最大成员组织数100个。 - 高级设置 共识策略:区块链网络中节点之间达成共识需要遵从的规则。默认为Raft(CFT)策略。 安全机制:保证数据安全的加密算法,默认为ECDSA;支持国密算法。 - 购买时长 支持自定义购买实例的使用时间,最短1个月。 您可根据需要选择勾选自动续费,按月购买的自动续费周期为1个月,按年购买的自动续费周期为1年。 1个月 单击“立即创建”。 确认配置信息无误后,勾选协议和免责声明,并单击“提交”。 进入支付页面,确认订单费用无误后,单击“确认付款”,订单支付成功后,即可返回区块链服务控制台查看正在创建的实例。 实例创建大概需要18-25分钟,请耐心等待。实例创建成功后,查看实例状态变为“正常”后,表示华为云区块链引擎实例部署完成。
  • 操作步骤 登录区块链服务管理控制台。 在左侧导航栏中选择“实例管理”,选择Hyperledger Besu实例。 单击实例名称,进入实例详情页面。 在左侧导航栏中选择“认证凭据”,进入认证凭据页面。 单击“创建凭据”,在创建凭据页面中,填写描述信息。 单击“确定”,认证凭据创建完成,并自动下载认证凭据zip包。 每个认证凭据仅能下载一次,为了节点安全性,建议您定期更换并妥善保存认证凭据。 解压后,打开credential.csv文件,可获取认证凭据信息。 通过Authorization:Bearer $JwtToken调用Besu的接口,JwtToken为已获取的认证凭据信息。
  • 解决方案 登录区块链控制台,单击界面上方的“费用”进入费用中心界面。 在“续费资源”项下单击“立即续费”,进入续费管理界面,选择需要续费的目标资源,单击“续费”并支付。 续费完成后,在ECS控制台,查看目标区块链所在 ECS云服务器 状态(云服务器节点一般命名为:区块链服务所在集群名称-随机数),若云服务器状态为“关机”,开机后请等待大约5min再次尝试。 续费后订单状态为“已完成”,表示资源已解除冻结,资源状态恢复正常。
  • 区块链节点cpu利用率达到100% 可能用户节点中病毒了,建议您执行以下操作: 设置系统所有账号密码(包括系统账户和应用账户)为满足规范的强密码,强密码设要求参照:https://bbs.huaweicloud.com/blogs/87a98385ec6411e79fc57ca23e93a89f。 启动安全组白名单策略,根据业务需求对外开放端口,对于特殊业务端口,建议设置固定的来源IP或使用VPN、 堡垒机 建立自己的运维通道。 建议定期做好数据备份(虚拟机内部备份,异地备份,云上云下备份等),避免被加密勒索。 父主题: 使用类问题
  • 配置应用 在“实例管理”界面,在华为云区块链引擎页签中,单击对应实例右上角的“下载配置文件”,配置SDK参数信息如下表1。 表1 参数表 参数名称 说明 证书存放路径 用户编译应用程序时,证书的最终存放路径。 如果证书路径需要变更,请手动修改SDK配置文件中所有证书相关路径,确保路径指向正确的位置。 组织 选择要下载配置的组织。 访问方式 默认标准通道。 证书选择 用户证书。 单击“下载”,将下载的配置文件压缩包放到证书存放路径下,进行解压。
  • 华为云区块链引擎权限 默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 BCS部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问BCS时,需要先切换至授权区域。 权限根据授权精细程度分为角色和策略: 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对ECS服务,管理员能够控制IAM用户仅能对某一类云服务器资源进行指定的管理操作。 表2 华为云区块链引擎权限 系统权限 权限描述 权限类别 依赖关系 BCS Administrator 区块链服务的所有执行权限。 系统角色 BSS Administrator、VPCEndpoint Administrator、VPC Administrator BCS Huaweicloudchain FullAccess 华为云区块链引擎权限所有权限。 系统策略 BSS Administrator、VPCEndpoint Administrator、VPC Administrator BCS Huaweicloudchain ReadOnlyAccess 华为云区块链引擎权限只读权限。 系统策略 VPCEP Administrator BCS Huaweicloudchain FullAccess策略内容: { "Version": "1.1", "Statement": [ { "Action": [ "bcs:huaweiCloudChain*:*", "vpc:vpcs:list", "vpc:vpcs:get", "vpc:subnets:get" ], "Effect": "Allow" } ] } BCS Huaweicloudchain ReadOnlyAccess策略内容: { "Version": "1.1", "Statement": [ { "Effect": "Deny", "Action": [ "bcs:huaweiCloudChain*:delete*", "bcs:huaweiCloudChain*:update*", "bcs:huaweiCloudChain*:create*", "bcs:huaweiCloudChain*:install", "bcs:huaweiCloudChain*:download*" ] }, { "Effect": "Allow", "Action": [ "bcs:huaweiCloudChain*:get*", "bcs:huaweiCloudChain*:list*", "bcs:huaweiCloudChain*:inquire", "vpc:vpcs:list", "vpc:vpcs:get", "vpc:subnets:get" ] } ] } 相关链接: IAM产品介绍。 创建用户组、用户并授予BCS权限,请参考创建用户并授权使用BCS。 细粒度策略支持的授权项,请参考“策略及授权项说明”章节。
  • Hyperledger Fabric增强版权限 默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 BCS部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问BCS时,需要先切换至授权区域。 如表1所示,包括了Hyperledger Fabric增强版的所有系统权限。 表1 Hyperledger Fabric增强版系统权限 系统权限 权限描述 权限类别 依赖关系 BCS Administrator 区块链服务Hyperledger Fabric增强版的所有执行权限。 系统角色 Tenant Guest、Server Administrator、ELB Administrator、SFS Administrator、SWR Admin、APM FullAccess、AOM FullAccess、CCE Administrator、VPC Administrator、EVS Administrator、CCE Cluster Admin BCS Fabric FullAccess 区块链服务Hyperledger Fabric增强版的所有权限。 系统策略 无 BCS Fabric ReadOnlyAccess 区块链服务Hyperledger Fabric增强版只读权限。 系统策略 无 BCS Fabric FullAccess策略内容: { "Version": "1.1", "Statement": [ { "Action": [ "bcs:fabric*:*", "cce:*:*", "ecs:*:*", "evs:*:*", "vpc:*:*", "elb:*:*", "aom:*:*", "apm:*:*", "rds:*:*", "dms:*:*", "sfs:*:*", "sfsturbo:*:*", "cloudIDE:*:*" ], "Effect": "Allow" } ] } BCS Fabric ReadOnlyAccess策略内容: { "Version": "1.1", "Statement": [ { "Action": [ "bcs:fabric*:get*", "bcs:fabric*:list*", "cce:*:get*", "cce:*:list*", "ecs:*:get*", "ecs:*:list*", "evs:*:get*", "evs:*:list*", "vpc:*:get*", "vpc:*:list*", "elb:*:get*", "elb:*:list*", "aom:*:get*", "aom:*:list*", "apm:*:get*", "apm:*:list*", "rds:*:get*", "rds:*:list*", "dms:*:get*", "dms:*:list*", "sfs:*:get*", "sfsturbo:*:get*", "cloudIDE:*:get*", "cloudIDE:*:list*" ], "Effect": "Allow" } ] }
  • 操作步骤 在OBS管理控制台左侧导航栏选择“桶列表”。 在OBS管理控制台桶列表中,单击待操作的桶,进入“对象”页面。 在左侧导航栏,单击“桶清单”进入“桶清单”页面。 单击“创建”,系统弹出“创建桶清单”对话框。 图1 清单配置 设置“清单配置”相关参数。 表1 清单配置参数说明 参数 描述 清单名称 桶清单的名称。 筛选条件 桶清单筛选条件,OBS会为筛选出来的对象生成清单。 目前仅支持通过对象名前缀进行筛选;或者不输入,表示对桶中所有对象生成清单。 同一个桶中多条清单规则的筛选条件不能彼此包含。 清单存储桶 存储桶清单文件的桶,只能选择与源桶相同区域的桶。 清单文件前缀 清单文件的存储路径前缀。 清单文件生成后,将存储至清单存储桶的以下路径:清单文件前缀/源桶名/清单名称/日期时间/files/ 如不配置此参数,上述路径的一级目录“清单文件前缀”将由系统自动生成并命名为“BucketInventory”。 生成频率 设定桶清单的生成频率:每天或每周。 清单状态 开启,表示按照相关设置生成桶清单;关闭,表示不生成桶清单。 单击“下一步”,进入“报表配置”页面。 图2 报表配置 设置“报表格式”相关参数。 表2 报表格式参数说明 参数 描述 清单格式 支持生成CSV格式的桶清单文件。 对象版本 报表中对象的版本,可以设置为“仅限当前版本”和“包含所有版本”。 清单额外字段 桶清单文件中包含的对象信息:文件大小、上次修改时间、存储类别、ETag、分段上传、复制状态、加密状态。字段含义请参见清单中列出的对象元数据。 单击“下一步”,确认桶策略。 OBS将在桶清单存储桶上创建桶策略,以允许其将清单文件存入该桶。 单击“确定”。
  • 操作步骤 在OBS管理控制台左侧导航栏选择“桶列表”。 在OBS管理控制台桶列表中,单击待操作的桶,进入“对象”页面。 选中待分享的文件夹,并单击右侧的“分享”,系统弹出“分享文件夹”对话框。 分享文件夹有两种方式,分别是提取码分享和直接分享。 方法一:提取码分享。 图1 提取码分享 分享策略选择“提取码分享”。 设置相关参数。 表1 提取码分享文件夹参数 参数 说明 URL有效期 单位为分钟或小时,URL有效期的取值范围为1分钟到18小时,默认值为5分钟。 在“URL有效期”内,任何用户都可以访问该文件夹。 提取码 六位数字。 用户在访问分享链接时,需要输入提取码,才能看到文件夹中的对象。 单击“创建分享”,生成文件分享URL。 将链接及提取码发送给所有用户,用户通过访问链接并输入提取码以访问文件夹中的对象。 验证: 其他用户通过网页访问分享的文件夹。 打开网页,输入分享的URL地址,打开链接。 在页面提示框输入“提取码”,确认即可访问分享的文件夹。 其他用户通过OBS Browser+访问分享的文件夹。 打开OBS Browser+。 在登录页面选择“授权码登录”。 输入“授权码”和“提取码”。 单击“登录”,即可访问分享的文件夹。 方法二:直接分享。 图2 直接分享 分享策略选择“直接分享”。 设置相关参数。 表2 直接分享文件夹参数 参数 说明 URL有效期 单位为分钟或小时,URL有效期的取值范围为1分钟到18小时,默认值为5分钟。 在“URL有效期”内,任何用户都可以访问该文件夹。 单击“复制链接”发送给用户,用户通过该链接即可访问文件夹下所有对象。该分享链接由桶域名(前缀)+签名信息(后缀)构成,对该文件夹下所有对象生效。用户可以在分享链接的前缀后面插入对象路径来访问文件夹中的对象,支持访问下载,如图3所示。 验证:其他用户通过分享链接访问文件夹下所有对象。 打开网页,输入分享的链接(前缀+后缀)。 单击“Enter”键打开链接,列举出文件夹内所有对象。 复制对象路径,然后在前缀后黏贴。 单击“Enter”键打开链接,即可访问下载文件夹中的指定对象。 图3 访问直接分享链接示例图
  • 约束与限制 通过OBS控制台分享的文件夹,有效期的范围为1分钟到18小时。如果想要设置更长的有效期,建议使用客户端工具OBS Browser+,OBS Browser+最长支持1年的有效期。如果想要设置永久的权限,请通过桶策略向匿名用户授予对象的公共读权限。 仅部分区域支持文件夹分享功能,请以各区域实际情况为准。 仅桶版本号为3.0的桶支持文件夹分享功能。桶版本号可以在桶概览页的“基本信息”中查看。 归档存储对象需在原桶恢复后才能下载。 深度归档存储对象需在原桶恢复后才能下载。
  • 背景知识 文件夹分享强调临时性,存在有效期。临时分享文件夹分为两种方式:提取码分享、直接分享。 提取码分享:分享者需要先设置一个6位数的提取码,再创建分享。创建成功后,OBS会自动将文件夹中的所有对象的下载链接汇总到一个静态网站中,并托管到一个公共的OBS桶。所有用户均可使用创建分享时生成的临时URL和提取码,访问这个静态网站,并进行文件下载。 直接分享:分享者输入有效期后直接分享链接给用户。用户通过一个签名即可访问文件夹下所有的对象。
  • 控制台功能概述 目前,OBS管理控制台提供的功能如表1所示: 表1 功能概述 功能 说明 桶基本操作 指定region(不同服务区域)创建不同存储类别的桶、删除桶、修改桶的存储类别、复制桶的配置信息等。 对象基本操作 管理对象,包括上传(含多段上传功能)、下载、分享、删除、修改对象的存储类别、恢复归档存储对象等。 服务端加密 用户可根据需要对对象进行服务端加密,使对象更安全的存储在OBS中。 WORM 用户可根据需要对对象设置WORM策略,实现对象在用户指定的时间段内不能被删除和篡改。 对象元数据 根据用户需要为对象设置属性。 监控 OBS Console可以监控桶级所有资源的使用状况。 Cloud Eye可监控OBS服务如下指标: 下载流量 上传流量 GET类请求次数 PUT类请求次数 GET类请求首字节平均时延 4xx错误次数 5xx错误次数 审计 通过 云审计 (Cloud Trace Service)服务,您可以记录与OBS中数据相关的操作事件,便于日后的查询、审计和回溯。 碎片管理 碎片管理功能可以清除由于对象上传失败而产生的碎片。 多版本控制 管理桶的多版本状态,允许桶内同一个对象存在多个版本。 日志记录 支持对桶的访问请求创建并保存访问日志记录,可用于进行请求分析或日志审计。 事件通知 方便用户接收OBS对象存储的 消息通知 。 权限控制 支持通过IAM权限、桶策略&对象策略和桶/对象ACL对OBS进行访问控制。 生命周期管理 支持设置桶的生命周期管理策略,实现定时删除桶中的对象或者定时转换对象的存储类别。 跨区域复制 跨区域复制是指通过创建跨区域复制规则,在同一个账号下,将一个桶(源桶)中的数据自动、异步地复制到不同区域的另外一个桶(目标桶)中。 跨区域复制能够为用户提供跨区域数据容灾的能力,满足用户数据复制到异地进行备份的需求。 标签 用于对OBS中的桶进行标识和分类。 静态网站托管 支持设置桶的网站属性,实现静态网站托管;也可设置网页重定向,访问桶资源可以重定向至指定的主机。 配置自定义域名 用户可以将自己的网站域名绑定到桶域名上。适用于以下场景:当用户需要将网站中的文件迁移到OBS,并且不想修改网页的代码,即保持网站的链接不变。 数据回源 一般情况下,当客户端访问OBS时,如果OBS中没有被访问的数据,将会返回404错误。OBS提供数据回源功能,可以在被请求的数据不存在时,通过回源规则从源站获取对应数据。 防盗链 提供防盗链功能,防止OBS中的对象链接被其他网站盗用。 跨域资源共享 跨域资源共享(CORS)是由W3C标准化组织提出的一种网络浏览器的规范机制,定义了一个域中加载的客户端Web应用程序与另一个域中的资源交互的方式。而在通常的网页请求中,由于同源安全策略(Same Origin Policy,SOP)的存在,不同域之间的网站脚本和内容是无法进行交互的。 归档数据直读 您可以为桶开启归档数据直读,开启后存储类别为归档存储的对象可以直接下载,无需提前恢复。归档数据直读会收取相应的费用。 桶清单 桶清单功能可以定期生成桶内对象的相关信息,保存在CSV格式的文件中,并上传到您指定的桶中。
共100000条