华为云用户手册

  • 响应示例 { "id": "00078e9d-a61c-476e-ac63-a10c9cb2638e", "name": "development-env", "alias": null, "description": "", "project_id": "e7d2e9c589e5445e808a8ff0d1235aca", "enterprise_project_id": "0", "charge_mode": "provided", "deploy_mode": "container", "vpc_id": "29d55020-ae0e-4a18-871c-93e6976ee7bd", "base_resources": [ { "id": "b6862a62-d916-11e9-bdf1-0255ac101fd9", "type": "cce" } ], "optional_resources": [ { "id": "default", "type": "cse" } ], "creator": "ss-test", "create_time": 1610418873730, "update_time": 1610418873730 }
  • 支持的授权项 策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下: 权限:自定义策略中授权项定义的内容即为权限。 对应API接口:自定义策略实际调用的API接口。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 IAM 项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。管理员可以在授权项列表中查看授权项是否支持IAM项目或企业项目,“√”表示支持,“×”表示暂不支持。关于IAM项目与企业项目的区别,请参考IAM与企业管理的区别。 ServiceStage的支持自定义策略授权项,请参考表1。 表1 ServiceStage授权项明细 权限 对应API接口 授权项 IAM项目 企业项目 创建应用 POST /v3/{project_id}/cas/applications servicestage:app:create √ √ 删除应用 DELETE /v3/{project_id}/cas/applications/{application_id} servicestage:app:delete √ √ 更新应用 PUT /v3/{project_id}/cas/applications/{application_id} servicestage:app:modify √ √ 查看应用列表 GET /v3/{project_id}/cas/applications servicestage:app:list √ √ 查询应用信息 GET /v3/{project_id}/cas/applications/{application_id} servicestage:app:get √ √ 修改工程 - servicestage:project:modify √ √ 创建工程 - servicestage:project:create √ √ 审批应用 - servicestage:app:approve √ √ 查看流水线列表 - servicestage:pipeline:list √ √ 修改构建 - servicestage:assembling:modify √ √ 审批流水线 - servicestage:pipeline:review √ √ 执行流水线 - servicestage:pipeline:execute √ √ 查看构建信息 - servicestage:project:get √ √ 删除构建 - servicestage:assembling:delete √ √ 删除流水线 - servicestage:pipeline:delete √ √ 删除工程 - servicestage:project:delete √ √ 修改流水线 - servicestage:pipeline:modify √ √ 创建构建 - servicestage:assembling:create √ √ 查看构建列表 - servicestage:assembling:list √ √ 查看构建信息 - servicestage:assembling:get √ √ 查看工程列表 - servicestage:project:list √ √ 查看流水线信息 - servicestage:pipeline:get √ √ 创建流水线 - servicestage:pipeline:create √ √
  • 产品简介 容器镜像服务 (SoftWare Repository for Container,简称SWR)是一种支持镜像全生命周期管理的服务, 提供简单易用、安全可靠的镜像管理功能,帮助您快速部署容器化服务。 通过使用容器 镜像服务 ,您无需自建和维护镜像仓库,即可享有云上的镜像安全托管及高效分发服务,并且可配合云容器引擎 CCE、云容器实例 CCI使用,获得容器上云的顺畅体验。 容器镜像服务共享版免费,企业版收费。共享版和企业版的差异详见共享版及企业版对比。企业版的计费项包括购买仓库的费用、制品存储的费用和制品传输流量费用
  • 访问方式 华为云提供了Web化的服务管理平台(即管理控制台)和基于HTTPS请求的API(Application programming interface)管理方式。 API方式 如果用户需要将容器镜像服务集成到第三方系统,用于二次开发,请使用API方式访问容器镜像服务。具体操作请参见《容器镜像服务API参考》。 管理控制台方式 其他相关操作,请使用管理控制台方式访问容器镜像服务。如果用户已在云平台注册,可直接登录管理控制台,从主页选择“容器镜像服务”。 如果未注册,请参考如何注册华为云管理控制台的用户,进行账号注册。
  • 产品功能 镜像全生命周期管理 容器镜像服务支持镜像的全生命周期管理,包括镜像的上传、下载、删除等。 私有镜像仓库 容器镜像服务提供私有镜像库,并支持细粒度的权限管理,可以为不同用户分配相应的访问权限(读取、编辑、管理)。 镜像加速 容器镜像服务通过华为自主专利的镜像下载加速技术,使CCE集群下载镜像时在确保高并发下能获得更快的下载速度。 镜像仓库触发器 容器镜像服务支持容器镜像版本更新自动触发部署。您只需要为镜像设置一个触发器,通过触发器,可以在每次镜像版本更新时,自动更新使用该镜像部署的应用。
  • 云审计 服务支持的 CS E操作列表 CSE通过云审计服务(Cloud Trace Service,简称 CTS )为您提供云服务资源的操作记录,记录内容包括您从华为云管理控制台或者API发起的云服务资源操作请求以及每次请求的结果,供您查询、审计和回溯使用。 如果您需要收集、记录或者查询Nacos引擎和ServiceComb引擎的操作日志,需要先开通云审计服务。通过云审计服务可查看Nacos和ServiceComb引擎最近7天的操作记录,支持记录的操作日志见表1和表2。 表1 云审计服务支持的Nacos引擎操作列表 操作类型 资源类型 事件名称 创建引擎 engine CreateEngineJob 删除引擎 engine DeleteEngineJob 创建服务 service createService 修改服务 service modifyService 删除服务 service deleteService 发布配置 config publishConfig 删除配置 config deleteConfig 创建命名空间 namespace createNamespace 修改命名空间 namespace modifyNamespace 删除命名空间 namespace deleteNamespace 表2 云审计服务支持的ServiceComb引擎操作列表 操作类型 资源类型 事件名称 创建引擎 engine createEngine 删除引擎 engine deleteEngine 升级或变更引擎 engine upgradeOrModifyEngine 创建引擎备份任务 engine createEngine_backup 删除引擎备份任务 engine deleteEngine_backup 创建引擎恢复任务 engine createEngine_recovery 创建引擎备份策略 engine createEngine_backup_strategy 删除引擎备份策略 engine deleteEngine_backup_strategy 更新引擎备份策略 engine updateEngine_backup_strategy 更新灰度发布规则 engine ModifyDarklaunch 删除灰度发布 engine DeleteDarklaunch 修改配置项 engine ModifyConfig 新增配置项 engine CreateConfig 删除配置项 engine DeleteConfig 更新治理规则 engine ModifyGovern_policy 更新微服务 engine modifyMicroservice 创建微服务 engine createMicroservice 删除微服务 engine deleteMicroservice 创建微服务标签 engine createMicroserviceTag 更新微服务标签 engine updateMicroserviceTag 删除微服务标签 engine deleteMicroserviceTag 创建微服务规则 engine createMicroserviceRule 更新微服务规则 engine updateMicroserviceRule 删除微服务规则 engine deleteMicroserviceRule 创建微服务契约 engine createMicroserviceSchema 更新微服务契约 engine updateMicroserviceSchema 删除微服务契约 engine deleteMicroserviceSchema 更新微服务依赖关系 engine updateMicroserviceDependency 更新微服务属性 engine updateMicroserviceProperty 更新微服务 engine updateMicroservice 更新监控阈值 engine updateThreshold 更新自定义规则 engine updateItem_meta 删除自定义规则 engine DeleteItem_meta 执行配置项清理 engine executeConfig_cleanup 更新微服务实例状态 engine updateInstanceStatus 更新微服务实例属性 engine updateInstanceProperty 创建微服务实例 engine createInstance 删除微服务实例 engine deleteInstance 父主题: 云审计服务支持的关键动作
  • Nacos引擎相关概念 概念 说明 命名空间 用于进行租户粒度的配置隔离。命名空间可以实现不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。 配置集 配置项的集合称为配置集。通常一个配置文件就是一个配置集,包含了系统各个方面的配置。 配置集ID Nacos中的某个配置集的ID。一个系统或者应用可以包含多个配置集,每个配置集都可以被一个名称标识。 分组 Nacos中的一组配置集,是组织配置的维度之一。通过字符串对配置集进行分组,从而区分配置集ID相同的配置集。如果未填写配置分组的名称,则默认为DEFAULT_GROUP 。 保护阈值 保护阈值与集群中健康实例的占比有关。如果健康实例占比小于或等于此值,会触发保护阈值,Nacos会将全部实例(健康实例 + 非健康实例)全部返回给调用者。保护阈值未触发时,Nacos只会把健康实例返回给调用者。 灰度发布 在配置正式发布前可先进行小部分的发布验证,待配置没问题后再正式发布,从而降低配置推送的风险。 权重 实例级别的配置。权重为浮点数。权重越大,分配给该实例的流量越大。 元数据 Nacos数据(如配置和服务)描述信息,如服务版本、权重等,从作用范围来看,可分为服务级别的元信息、集群的元信息及实例的元信息。
  • 通用概念 概念 说明 微服务 微服务是业务概念,即提供某种服务的某个进程。 每一个服务都具有自主运行的业务功能,对外开放不受语言限制的API (最常用的是HTTP)。 多个微服务组成应用程序。 实例 一个微服务的最小运行和部署单元,通常对应一个应用进程。同一个微服务通过部署在多个容器或虚机,可以实现多个实例同时运行。 配置 微服务场景中的配置是指对程序代码中某些变量的取值控制。比如,动态配置就是通过在微服务运行过程中对某些变量的取值进行动态变更。
  • 应用网关相关概念 概念 说明 域名 通过域名管理不同域名下的协议、证书、路由配置。支持完整域名(如:www.hello.com、三级及以上域名模糊(如:*.hello.io))。 协议 协议是一套用于格式化和处理数据的规则,支持的协议有HTTP和HTTPS。 服务来源 支持Nacos、ServiceComb引擎作为服务来源。将注册了服务的CSE Nacos引擎和ServiceComb引擎添加到网关服务来源中,以便网关能够动态获取您的服务列表。 目标服务 路由转发请求到的服务。 鉴权规则 通过设置鉴权类型、鉴权模式定义的一种规则。 鉴权模式 鉴权模式支持黑名单模式。 黑名单模式 在鉴权规则中,符合条件的需要鉴权,其余不需要鉴权。
  • CSE权限 默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授予策略,才能使得用户组中的用户获得策略定义的权限,这一过程称为授权。授权后,用户就可以基于策略对云服务进行操作。 CSE资源通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域对应的项目中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问CSE时,需要先切换至授权区域。 根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。 如表1所示,包括了CSE的所有系统权限。 表1 CSE系统权限说明 系统角色/策略名称 描述 类别 依赖关系 CSE FullAccess 微服务引擎服务管理员权限。 系统策略 无 CSE ReadOnlyAccess 微服务引擎服务查看权限。 系统策略 无 如果表1所列权限不满足实际需求,可以在这个基础上创建微服务引擎自定义策略。 更多CSE相关功能需要依赖的服务权限,请参见表2所示。 表2 依赖的服务权限 依赖的服务 权限 VPC VPC ReadOnlyAccess ELB ELB ReadOnlyAccess AOM AOM ReadOnlyAccess TMS TMS ReadOnlyAccess 表3列出了微服务引擎常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。 表3 常用操作与系统权限之间的关系 操作 CSE ReadOnlyAccess CSE FullAccess 创建微服务引擎 x √ 维护微服务引擎 x √ 查询微服务引擎 √ √ 删除微服务引擎 x √ 创建微服务 x √ 查询微服务 √ √ 维护微服务 x √ 删除微服务 x √ 创建微服务配置 x √ 查询微服务配置 √ √ 编辑微服务配置 x √ 删除微服务配置 x √ 创建微服务治理策略 x √ 查询微服务治理策略 √ √ 编辑微服务治理策略 x √ 删除微服务治理策略 x √
  • 测试模型 workload模型 表2 测试模型 测试模型编号 测试模型 workload-read(单行读) 100% read workload-insert(单行写) 100% insert workload-range-read(范围读) 100% range read 预置数据量 本次性能测试中,针对每种规格的实例,都预置了20亿条数据,每条数据有20个字段,每个字段大小为20Bytes。
  • 测试数据 不同测试模型下,不同规格且预置相当数据量,测试的OPS*数据(表格中黑色字体),详见表1 测试数据中加粗内容。 表1 测试数据 实例类型 数据量 业务性能-吞吐量(QPS) 业务性能-P99时延ms 单行写 单行读 范围读 单行写 单行读 范围读 GeminiDB HBase实例 20亿 142154 95254 589050 3.5 8.5 19 开源HBase实例 20亿 139723 18931 63350 3.9 301 834 OPS:Operation Per Second,数据库每秒执行的操作数。 测试模型编号:测试模型编号对应的测试模型,请参见表2 测试模型。 父主题: 性能白皮书
  • 使用须知 删除操作无法恢复,请谨慎操作。 删除节点时,您可以联系客服,选择1s到5min的节点连接时间(节点连接时间适用于所有节点),断开长连接。 如果搭建双活关系,不允许在主实例和备实例同时进行添加节点、删除节点和规格变更操作。 开启操作保护的用户,在进行敏感操作时,通过进行二次认证再次确认您的身份,进一步提高账号安全性,有效保护您安全使用云产品。关于如何开启操作保护,具体请参考《 统一身份认证 服务用户指南》的内容。
  • 应用场景 频控场景 频控指的是对用户在一定时间内(例如一天、一周、一个月)进行某种操作的次数进行限制,可以控制特定广告或信息在一定时间内在特定平台上的展示次数,以避免过度曝光和广告疲劳,同时优化广告效果和用户体验;对于广告来说,也可以提高广告的效果和转化率。此外,频控还可以避免恶意行为,如刷流量、刷评论、刷点赞等。 频控的3个要素包含用户ID、广告ID、触发次数;以用户ID为key,广告ID为field,指定时间内的触发次数为value,恰好构成频控的三要素。先配置好各个广告的指定频控策略,如下图所示即可根据如下的方式来实现频控: 图1 频控Hash方案 最左边通过Hash类型来实现,通过expire命令设置User_1的过期时间为一天,每推送一次通过hincrby来增加指定广告的推送次数,每次推送指定广告前在一天内的推送次数则可以通过hget获取进行判断,一天后该用户的数据自动过期无需手动清理,这样便可以简单地实现频控。但这个方案的缺点在于对于每个用户(即每个key)只能设置一个过期时间,无法做到例如8小时3次这样指定时间段内的灵活的频控策略。 为了做到对每个广告都配置指定时间段内的灵活频控,如中间图所示可以通过将时间戳拼接在value里的方式用Hash类型来实现,但这种方案无疑是增加了业务侧开发的工作量。 如最右图所示,支持给field设置过期时间的exHash类型可以很完美地解决Hash类型面对频控场景的缺点。由于Field支持过期时间设置,那么该场景下,平台可以给每个广告都配置不同时间段内的频次要求,假设此时给AD_2配置的频控策略为8小时内2次,那么如图所示在下一次再准备给User_1推送AD_2广告前,先通过exhget User_1 AD_2命令获取到了该值已经是2时,便可以判断出此时根据平台频控策略,不应该再给User_1推送AD_2广告了。而当8小时一过,User_1的AD_2这个field过期后,exhget无法再获取到这个field的信息,则可以继续给User_1推送AD_2广告了。 购物车场景 双十一期间,相信很多同学购物车里都填满了各种想要清空的宝贝,这里就以购物车场景为例介绍该场景的几种不同Redis类型的实现,并比较这几种实现方案的优缺点。 基于String实现购物车功能 如图图2所示,基于String可以轻松地实现各个用户的购物车功能,该方案需要将用户ID与商品ID进行拼接作为key,例如User_1#Earphones_1,key对应的value为购物车中用户准备购买的数量,其中可能有部分商品为限时特购,所以有过期时间,为key对应的过期时间。 图2 String方案 涉及命令如下: incrby User_N#Product_N [Number] # 增加商品数量 set User_N#Product_N [Number] # 设置商品数量 expire User_N#Product_N Time_N # 设置指定用户购物车中指定物品的过期时间 get User_N#Product_N # 获取商品数量 scan 0 match User_N* # 查找所有User_N下的所有商品 del User_N#Product_N # 删除指定用户购物车中的指定商品 该方案会存在如下问题: 额外拼接增加编、解码开发工作量。 某个用户获取自己的购物车清单时还需要通过scan命令前缀匹配扫描所有key,并通过get命令去获取对应的值。 想要直接获取清单长度时,仍然需要遍历整个前缀key的数目,方法复杂。 存在大量重复的用户名前缀,浪费存储空间。 基于Hash实现购物车功能 可以根据如图3所示的Hash类型来实现购物车的管理,用户ID作为key,商品ID作为field,value为购物车中对应商品的数量。其中对于部分限时特购的商品,其过期时间通过拼接的方式放到field对应的value里。 图3 Hash方案 涉及命令如下: hset User_N Product_N [Number#Time_N] # 设置指定用户购物车中指定商品的数量和过期时间 hincrby User_N Product_N [Number] # 增加指定用户购物车中的指定商品数量 hgetUser_N Product_N # 获取指定用户购物车中指定商品的信息 hgetall User_N # 获取指定用户的所有商品信息 hlen User_N # 获取指定用户购物车中的总商品数量 hdel User_N Product_N # 删除指定用户购物车中的指定商品 该方案相对于String类型的方案有了不少优化: 获取某个用户购物车中的所有商品清单仅需要一个hgetall命令即可。 获取某个用户的清单长度时直接hlen获取即可。 不存在大量重复的用户名前缀问题。 然而该方案仍存在一个明显的缺点,即对于部分限时特购的商品处理起来复杂:对于User_1的Keyboard_1商品,如果要再加一个数量,不能直接使用hincrby,而是需要先hget获取Keyboard_1商品的值并解码,再加上指定的数量再编码后hset对应的值。 基于exHash实现购物车功能 根据如图4所示的exHash类型来实现购物车的管理,同Hash类型一样,用户ID作为key,商品ID作为field,value为购物车中对应商品的数量。其中对于部分限时特购的商品,由于exHash类型可以为Field设置过期时间,其过期时间可通过hset命令直接设置。 图4 exHash方案 涉及命令如下: exhset User_N Product_N ex Time_N # 设置指定用户购物车中指定商品的数量和过期时间 exhincrby User_N Product_N [Number] keepttl # 增加指定用户购物车中的指定商品数量,保留原先过期时间exhget User_N Product_N # 获取指定用户购物车中指定商品的信息 exhgetall User_N # 获取指定用户的所有商品信息 exhlen User_N # 获取指定用户购物车中的总商品数量 exhdel User_N Product_N # 删除指定用户购物车中的指定商品 del User_N # 清空指定用户的购物车 该方案相对于Hash类型的优化主要体现在可以直接为各field设置过期时间,使业务侧使用起来简单又高效。可以看到exHash类型相关的命令和Hash类型是类似的,使用起来学习成本很低,业务侧改造成本相对也比较低。
  • 如何选择接口 不同接口的适用场景及功能存在差异,您可以根据业务需要选择接口产品。 表1 场景说明 接口名称 兼容接口 使用场景 说明 GeminiDB Redis接口 兼容Key-Value接口:Redis GeminiDB提供高并发、低延迟业务访问。具备极致弹性扩缩容能力,从容应对业务高峰。常见的用户场景包括游戏、广告RTA、推荐系统、电商、教育等。 GeminiDB Redis是一款100%兼容Redis协议的弹性KV数据库,支持远超内存的容量和极致的性能。它具有稳定低延迟、高性价比、无需备节点,全主架构、具备4:1超高数据压缩等优势,支持Hash Field过期、布隆过滤器、数据极速导入、内存加速等企业级特性。 GeminiDB Influx接口 兼容时间序列型接口:InfluxDB GeminiDB Influx接口广泛应用于资源监控,业务监控分析,物联网设备实时监控,工业生产监控,生产质量评估和故障回溯等。 GeminiDB Influx 接口是一款基于华为自研的计算存储分离架构,兼容InfluxDB生态的云原生NoSQL 时序数据库 。提供大并发的时序数据读写,压缩存储和类SQL查询,并且支持多维聚合计算和 数据可视化 分析能力。具有高写入、灵活弹性、高压缩率和高查询等特点。 GeminiDB Cassandra接口 兼容宽列接口:Cassandra,DynamoDB GeminiDB Cassandra接口支持TB级别存储及近百万级QPS,提供强一致性级别,可适配各类应用场景,尤其是大规模集群部署:例如工业制造和气象业、互联网等海量数据存储的场景。 GeminiDB Cassandra 接口 是一款基于华为自研的计算存储分离架构,兼容Cassandra生态的云原生NoSQL数据库,支持类SQL语法CQL。具有安全可靠、超强读写、弹性扩展、便捷管理等特点。 GeminiDB Mongo接口 兼容文档型接口:MongoDB GeminiDB Mongo接口近百万级QPS,开源3倍性能提升,支持存海量文档、图片、IoT/车联网数据、社交视频/语音等,适用于互联网、物联网、游戏、金融等领域。 GeminiDB Mongo 接口是一款基于华为自研的计算存储分离架构,兼容MongoDB生态的云原生NoSQL数据库。具有企业级性能、灵活弹性、高可靠、可视化管理等特点。
  • 已申请权限,但是仍然没有权限操作 检查IAM和ACMS是否属于应用平台Console的同一个站点,需要在哪个站点操作ACMS,就通过该站点的应用平台Console进入IAM申请权限。 如果站点一致,则检查ACMS管理台上的自有服务和IAM里有权限的自有服务是否一致。自有服务下,必须有“服务敏感数据研发管理岗位”。 如果上述检查正确,但仍然没有权限,那么重新登录,再回到ACMS管理台,查看是否有权限。 如果重新登录后依然没有权限,在ACMS管理台,按F12,打开工作台,刷新页面,找到findUserPolicies,在响应中搜索是否存在SecurityTokenService_SDM。 如果不存在,就是没有申请权限,如果缺少SecurityTokenService_SDM,就需要申请自有服务的 ”敏感数据研发管理岗位“。 如果存在,但页面上依然报错,则找支撑人员定位,将站点名称、定位过程、findUserPolicies中的响应内容,提供给支撑人员。 父主题: 运行时引擎访问凭据管理服务
  • 解决方法 执行如下两条命令。 grep "^[ \t]*include" /opt/huawei/openresty/nginx/conf/nginx.conf|grep -v "include mime.types;"|grep -v "'lua/nginx.http.lua.conf'"|grep -v "include vhosts/"|grep -v "include slb_conf/" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "^[ \t]*include"|grep -v "include geoip.txt;"|grep -v "include geoip_country.txt;"|grep -v "include vhosts/" 根据以上两条命令的结果进行调整(将出现的内容注释掉),然后重新部署即可。
  • 解决方法 登录SLB实例主机,执行命令su os用户切换业务账号,然后执行以下命令: openssl req -new -newkey rsa:2048 -days 3650 -sha256 -nodes -x509 \-subj '/CN=dummy' \-keyout /opt/huawei/openresty/nginx/conf/ssl/dummy.key \-out /opt/huawei/openresty/nginx/conf/ssl/dummy.pem
  • 问题现象 SLB部署失败,日志详细信息提示如下: "cannot access /opt/huawei/openresty/nginx/conf/ssl/sample/resty-auto-ssl-fallback.pem. Permission denined" "cannot access /opt/huawei/openresty/nginx/conf/ssl/sample/resty-auto-ssl-fallback.key. Permission denined"
  • 解决方法 登录SLB实例主机,先执行启动命令/opt/huawei/openresty/init.d/nginx start,确认nginx启动失败的原因,可能是以下两种: 版本选装错误 图1 版本选装错误 解决方法:登录SLB实例主机,执行cat /proc/version,查看环境系统,SLB分为ARM、X86两个版本,界面上部署时需要选择与环境系统一样的包。 系统参数配置不正确 部署完之后,启动时提示参数不正确。 图2 参数配置不正确 解决方法:重新配置参数,参照参数配置不正确。
  • 解决方法 登录SLB实例主机,执行以下几条命令,先将找到的html文件注释掉,然后部署。 grep "^[ \t]*root" /opt/huawei/openresty/nginx/conf/nginx.conf|grep " /opt/huawei/openresty/"|grep -v " /opt/huawei/openresty/nginx/html/"|grep -v " /opt/huawei/openresty/nginx/html;" grep "^[ \t]*root" /opt/huawei/openresty/nginx/conf/nginx.conf|grep -v " /"|grep -v " html/"|grep -v " html;" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "^[ \t]*root"|awk -F ":" '{print $2}'|grep " /opt/huawei/openresty/"|grep -v " /opt/huawei/openresty/nginx/html/"|grep -v " /opt/huawei/openresty/nginx/html;" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "^[ \t]*root"|awk -F ":" '{print $2}'|grep -v " /"|grep -v " html/"|grep -v " html;" grep "^[ \t]*alias" /opt/huawei/openresty/nginx/conf/nginx.conf|grep " /opt/huawei/openresty/"|grep -v " /opt/huawei/openresty/nginx/html/"|grep -v " /opt/huawei/openresty/nginx/html;" grep "^[ \t]*alias" /opt/huawei/openresty/nginx/conf/nginx.conf|grep -v " /"|grep -v " html/"|grep -v " html;" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "^[ \t]*alias"|awk -F ":" '{print $2}'|grep " /opt/huawei/openresty/"|grep -v " /opt/huawei/openresty/nginx/html/"|grep -v " /opt/huawei/openresty/nginx/html;" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "^[ \t]*alias"|awk -F ":" '{print $2}'|grep -v " /"|grep -v " html/"|grep -v " html;"
  • 解决方法 系统参数修改 登录SLB实例主机,执行命令vim /etc/sysctl.conf,加入以下三行: fs.file-max = 1024000 fs.nr_open = 1048576 net.ipv4.ip_local_port_range = 1024 65535 执行命令/sbin/sysctl -p,刷新sysctl.conf文件。 执行命令vim /etc/security/limits.conf,加入以下两行: * soft nofile 1024000 * hard nofile 1024000 执行命令,su os用户,执行ulimit -n查看使limits.conf生效。
  • 排查定位 登录SLB实例主机,执行命令curl -k -v https://172.25.100.42:2379检查网络是否通畅。 若网络不通,执行命令ps -ef|grep easyconf,检查进程是否存在。 执行命令cat /opt/huawei/logs/easyconf/confagent_monitor.count,检查返回值是否为5;若不是,执行命令vim /opt/huawei/logs/easyconf/confagent_monitor.count修改。
  • 问题现象 SLB部署失败,日志详细信息提示如下: step2_install : generate confd conf & templates /opt/huawei/easyconf/sbin/confagent[27688]: FATAL Can't get local ip" ... "etcd_addr": "172.25.100.42:2379,172.25.100.43:2379,172.25.101.42:2379",
  • 解决方法 登录SLB实例主机,运行以下几条命令,根据提示处理找到的文件,然后部署。 grep "ssl_certificate" /opt/huawei/openresty/nginx/conf/nginx.conf|grep -v "^[ \t]*#"|grep -v "^[ \t]*ssl_certificate_by_lua_block"|grep -v "^[ \t]*ssl\.certificate"|grep " /opt/huawei/openresty/"|grep -v " /opt/huawei/openresty/nginx/conf/ssl/" grep "ssl_certificate" /opt/huawei/openresty/nginx/conf/nginx.conf|grep -v "^[ \t]*#"|grep -v "^[ \t]*ssl_certificate_by_lua_block"|grep -v "^[ \t]*ssl\.certificate"|grep -v " /"|grep -v " ssl/" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "ssl_certificate"|awk -F ":" '{print $2}'|grep -v "^[ \t]*ssl_certificate_by_lua_block"|grep -v "^[ \t]*ssl\.certificate"|grep -v "^[ \t]*#"|grep " /opt/huawei/openresty/"|grep -v " /opt/huawei/openresty/nginx/conf/ssl/"|grep -v " /opt/huawei/openresty/nginx/conf/vhosts/" find /opt/huawei/openresty/nginx/conf/vhosts/ -type f|xargs grep "ssl_certificate"|awk -F ":" '{print $2}'|grep -v "^[ \t]*ssl_certificate_by_lua_block"|grep -v "^[ \t]*ssl\.certificate"|grep -v "^[ \t]*#"|grep -v " /"|grep -v " ssl/"|grep -v " vhosts/"
  • 问题现象 SLB部署失败,日志详细信息提示如下: "content": "{\"data\":null,\"message\":\"[Service proxy.apply_sudo._wrapped_f]: fail to operator sudo, message: send request fail, status code: 400, error: None, message: illegal param\",\"status\":-2}", "msg": "status was not in [200]",
  • 日志 KooDrive控制台为企业租户提供KooDrive云服务的订购(开通和变更)、冻结和退订等服务,其日志系统对接了华为云的 云日志 服务(Log Tank Service)。LTS提供一站式日志采集、秒级搜索、海量存储、结构化处理、转储和可视化图表等功能,满足应用运维、网络日志可视化分析、等保合规和运营分析等应用场景。 用户开通云日志服务后,LTS可记录KooDrive管理侧的操作日志。 LTS的详细介绍和开通配置方法,请参见LTS快速入门。 开启了云日志服务后,系统开始记录KooDrive管理侧的操作日志。您可以在云日志服务管理控制台,单击“日志管理”,查看实时上报的日志(日志每隔大约1分钟上报一次,在日志消息区域,您最多需要等待1分钟左右,即可查看实时上报的日志)。 KooDrive服务记录了租户资源被访问的日志,客户可以使用祥云提供的日志管理工具,可以查询指定时间段的日志,分析日志,对相关业务资源的被访问情况进行详细的分析。
  • 审计 云审计服务(Cloud Trace Service,CTS),是华为 云安全 解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 用户开通云审计服务后,CTS可记录KooDrive的操作事件用于审计。 CTS的详细介绍和开通配置方法,请参见CTS快速入门。 CTS支持追踪KooDrive管理事件,请参见审计管理。 开启了云审计服务后,系统开始记录KooDrive的操作。您可以在云审计服务控制台查看最近7天的操作记录,具体操作指导请参见查看审计事件。
  • 不同Region 当源集群与目标集群处于不同Region时,用Distcp工具将源集群数据拷贝到OBS,借助OBS跨区域复制功能(请参见跨区域复制)将数据复制到对应目的集群所在Region的OBS,然后通过Distcp工具将OBS数据拷贝到目的集群的HDFS上。由于执行Distcp无法为OBS上的文件设置权限、属主/组等信息,因此当前场景在进行数据导出时也需要将HDFS的元数据信息进行导出并拷贝,以防HDFS文件属性信息丢失。
  • 线下集群向云迁移 线下集群可以通过如下两种方式将数据迁移至云: 云专线(DC) 为源集群与目标集群之间建立云专线,打通线下集群出口网关与线上VPC之间的网络,然后参考同Region执行Distcp进行拷贝。 数据快递服务(DES) 对于TB或PB级数据上云的场景,华为云提供数据快递服务 DES。将线下集群数据及已导出的元数据拷贝到DES盒子,快递服务将数据递送到华为云机房,然后通过 云数据迁移 CDM 将DES盒子数据拷贝到HDFS。
共100000条