华为云用户手册

  • 处理步骤 Hive在执行SQL语句前,可以通过set命令来设置Map/Reduce相关客户端参数。 以下为与Map/Reduce内存相关的参数: set mapreduce.map.memory.mb=4096;// 每个Map Task需要的内存量 set mapreduce.map.java.opts=-Xmx3276M; // 每个Map Task 的JVM最大使用内存 set mapreduce.reduce.memory.mb=4096; // 每个Reduce Task需要的内存量 set mapreduce.reduce.java.opts=-Xmx3276M; // 每个Reduce Task 的JVM最大使用内存 set mapred.child.java.opts=-Xms1024M -Xmx3584M;//此参数为全局参数,即对Map和Reduce统一设置 参数设置只对当前session有效。
  • IAM 委托 IAM委托 通过创建委托,可以将资源共享给其他帐号,或委托更专业的人或团队来代为管理资源。被委托方使用自己的帐号登录后,切换到委托方帐号,即可管理委托方委托的资源,避免委托方共享自己的安全凭证(密码/密钥)给他人,确保帐号安全。 操作步骤 登录 统一身份认证 服务控制台。 在统一身份认证服务的左侧导航窗格中,选择“委托”页签,单击右上方的“创建委托”。 图1 创建委托 在创建委托页面,设置“委托名称”。 委托给云服务 RFS 图2 创建委托 此处“委托名称”为用户自定义。 此处如已使用“op_svc_iac”进行注册,建议修正为云服务“RFS”。 单击“下一步”,进入给委托授权页面,给对应委托授权: 图3 委托授权 可以筛选具体权限授权给委托 图4 选择策略 具体授权给委托哪些详细权限需要用户自己决定(华为云最佳实践不建议自动帮用户创建授予Tenant Administrator权限的委托)最佳实践为用户资源栈中可能需要使用到的资源进行授予管理权限(包括读写操作) 设置授权范围可以选择所有资源或选择定义region进行授权 图5 权限范围 单击“确定”,委托创建完成。 图6
  • 身份认证与访问控制 身份认证 租户使用AOS服务通常有控制台访问和API调用两种方式:控制台访问和API调用。 1.控制台身份认证方式 AOS对接了统一身份认证服务(Identity and Access Management,IAM)。AOS租户身份认证与访问控制通过IAM权限控制。 统一身份认证(Identity and Access Management,简称IAM)是华为云提供权限管理的基础服务,可以帮助AOS服务安全地控制访问权限。通过IAM,可以将用户加入到一个用户组中,并用策略来控制他们对AOS资源的访问范围。IAM权限可以通过细粒度定义允许和拒绝的访问操作,以此实现AOS资源的权限访问控制。 2.API调用身份认证方式 所有的API接口调用均需要经过认证的请求才可以访问成功,经过认证的请求需要包含一个签名值,该签名值以请求者的访问密钥(AK/SK)作为加密因子,结合请求体携带的特定信息计算而成。通过访问密钥(AK/SK)认证方式进行认证鉴权,即使用Access Key ID(AK)/Secret Access Key(SK)加密的方法来验证某个请求发送者身份。关于访问密钥的详细介绍及获取方式,请参见如何获取AK/SK?(账号)。 父主题: 安全
  • 什么是 资源编排 资源编排是 应用编排服务 新增的完全支持业界事实标准Terraform(HCL + Provider)的终态编排引擎,用于管理系统资源及服务资源(一切可定位、描述的物理或者逻辑实体,例如数据库,VPC,流水线,数据库,IAM中的Role)。资源编排采用业界开放生态HCL语法的模板,它按照模板自动化部署指定的云服务资源。 资源编排聚焦于华为云所用资源的自动化批量构建,帮助用户用高效、安全以及一致的方式新建、管理和升级所需资源,提升资源管理效率,降低资源管理变更带来的安全风险。 产品架构 父主题: 资源编排
  • 基本概念 概念名称 描述 资源 一个云服务可以有多种资源。资源可以是VPC,虚拟机,也可以是某种微服务应用,或者是类似于安全策略,DNS记录等高层数据模型。 模板 模板是一个HCL语法文本描述文件,支持tf、tf.json、zip包文件格式,用于描述您的云资源。资源编排根据模板完成各种云资源的创建。 资源栈 资源栈是云服务资源的集合。资源栈将模板描述的所有云服务资源作为一个整体来进行创建、删除、更新、查询等。 执行计划 执行计划提供对资源栈变化的预览。这个执行计划展示了当前模板与线上资源的对比变化,清晰地展示了资源编排对资源与属性将要执行的操作(如新增、修改、删除等)。用户可以预览这个计划,在确认符合预期后,再执行这个计划。资源编排就会完成模板定义资源的创建、变更等。 ↵ 父主题: 资源编排
  • 产品优势 声明性:用户仅需直观描述所需资源的最终状态,屏蔽复杂的申请过程,降低资源管理的复杂度。 幂等:资源描述代码多次调用效果幂等,可确保不重复申请资源。 安全可靠:可视化的审计、安全、和合规控制策略,杜绝资源变更操作带来的安全风险。 生态丰富:南向生态支持华为云主流服务(60+云服务、240+资源对象、100+资源查询对象,详情参见:资源支持清单),开箱即用;北向完全兼容HCL语法,无学习成本。 简单易用:向导式操作配合完善的资料、样例辅助体系,五步即可完成资源管理操作。 服务全托管全云化:用户不需要安装任何软件、不需要准备执行机、不需要管理底层文件和数据就可以完成资源的自动化管理。 自动回滚:资源部署失败自动将所有资源状态返回上一个成功部署的状态。 父主题: 资源编排
  • 认证证书 华为云服务及平台通过了多项国内外权威机构(ISO/SOC/PCI等)的安全合规认证,用户可自行申请下载合规资质证书。华为云还提供以下资源来帮助用户满足合规性要求。 行业 合规性说明 ISO/IEC 华为云 ISO/IEC 27001 合规性说明 HIPAA 华为云 HIPAA 合规性说明 LGPD 巴西LGPD合规性说明 PDPA 马来西亚PDPA合规性说明 新加坡PDPA合规性说明 泰国 PDPA 合规性说明 中国澳门PDPA 合规性说明 PCI DSS 华为云 PCI DSS 实践指南 PDPO 中国香港PDPO 合规性说明 POPIA 南非 POPIA 合规性说明 CS A CSA CCM 合规性说明(CSA CAIQ v3.1) PDPL 阿根廷 PDPL 合规性说明 MPA MPA 合规性说明通用指南 MPA 合规性说明——应用程序及云端分布式环境安全指南 金融行业 新加坡金融行业监管要求合规性说明 中国香港金融行业监管要求合规性说明 泰国金融行业监管遵从性指导 马来西亚金融行业监管遵从性指导 巴西金融行业监管遵从性指导 阿根廷金融行业监管遵从性指导 南非金融行业监管遵从性指导 证券及期货 中国香港证券及期货行业监管遵从性指导 保险 中国香港保险行业监管遵从性指导 隐私 印尼隐私合规性说明 另外,华为云还提供了以下销售许可证及软件著作权证书,供用户下载和参考。 销售许可证 云堡垒机 CBH DDoS防护 ADS Web应用防火墙 WAF 企业主机安全 HSS 数据库安全 DBSS 软件著作权证书 态势感知 SA 企业主机安全 HSS 容器安全 CGS DDoS防护 ADS Web应用防火墙 WAF 漏洞扫描服务 VSS 数据库安全 DBSS 数据安全中心 DSC 数据加密 服务 DEW - 父主题: 安全
  • 产品功能 支持自动化编排资源 AOS提供自动化的编排能力,支持编排华为云主流云服务,具体请参见支持编排的云服务。AOS还提供资源规划、应用设计、部署、变更等生命周期管理等相关服务,通过自动化降低运维成本。 支持应用与云服务资源混合编排 您可通过标准语言(YAML/JSON)统一描述所需基础资源、应用系统、应用上层配套服务及三者之间的关系。根据统一描述,可一键式按照定义的依赖顺序,自动完成资源开通、应用部署、应用服务加载。对于部署的资源和应用,可以统一的进行管理:删除、扩缩容、复制、迁移等。
  • 批量创建 应用场景: 如果您需要创建一个包含10个不同规格的弹性云服务器实例的Web应用,或者您需要一次创建10个数据库实例时,您需要一个个单独创建这些资源,然后必须将这些资源配置为结合使用,才能确保应用顺利启动,增加了使用云资源的复杂性和时间成本。 价值: 应用编排服务将大批量的、不同服务、不同规格的资源实例,统一定义在模板中,一键完成创建,实现资源的快速部署和灵活配置。 优势: 快速部署 通过应用编排服务自动化并发创建多个云服务资源,或不同规格的同一服务资源。 灵活配置 丰富的模板语法,支持根据不同场景灵活配置创建资源的种类与规格。 自动回退 批量创建过程中如果失败,用户可选择自动回退,以节省资源成本。 图3 批量创建场景
  • ISV业务发放 应用场景: 独立软件开发商(ISV)需要让客户快速将软件服务部署到云上,供其自身的客户进行使用。ISV传统的软件发放的方式是在其官网提供软件的代码下载及平台搭建指南。但该方式需要客户自建资源与组网,准备时间长,成本高。并且安装过程完全手动,耗时易出错,软件的版本更新都需要客户自己手动操作,运维压力大。 价值: 应用编排服务的模板提供了标准化的资源和应用交付方式。ISV可以通过将软件服务模板化,通过应用编排服务的一键部署能力,对自身客户进行业务发放。 优势: 快速发放 通过模板,自动化完成软件的部署与资源的开通,用户只需一键部署,分钟级完成。 准确创建 ISV软件本身及所需的云服务资源都通过模板固化,减少人工失误带来的影响。 统一维护 软件的生命周期管理可以统一通过AOS服务实现,一键完成软件的升级、伸缩等操作。 图2 ISV业务发放场景
  • 应用上云 应用场景: 应用上云时,很多工作需要重复操作,例如环境的销毁和重建、在扩容的场景下重复完成多个新实例的配置等。同时应用上云时,很多操作非常耗时,例如创建数据库、创建虚拟机等,都需等待分钟级别的时间。一旦需要串行创建多个耗时任务,就需要您持续等待一段时间。而此时如果可以将整个流程自动化,可以减少您的等待过程,完成其他更有价值的任务。 价值: 使用应用编排服务,通过模板对应用及应用所需资源进行统一描述,一键式自动完成部署或销毁操作。您可以同步进行资源规划、应用定义和业务部署,提升应用上云的效率。 优势: 简单易用 通过编写模板,即可完成应用设计与资源的规划,使业务的组织和管理变得轻松。 高效执行 一键式自动完成部署或销毁操作,省去繁琐的人工操作。 快速复制 同一模板可以多次重复使用,自动化构建相同的应用与资源到不同的数据中心。 图1 应用上云场景
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的 IaaS、PaaS 和 SaaS 各类各项云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。 华为云租户的安全责任在于对使用的 IaaS、PaaS 和 SaaS 类各项云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API 网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • 简单易用的编排语言 AOS编排语言支持 YAML和JSON 语法来定义需要的元素。 AOS编排语言支持参数化,您只需更改输入参数,即可控制要部署对象的规格、实例数量以及执行的操作,从而实现模板的重复利用。 AOS编排语言支持变量引用,包括引用输入参数、引用元素属性和引用映射表。 引用输入参数:获取模板文件中inputs区域中定义的输入参数的值。 引用元素属性:获取模板中定义的其他元素初始化后的结果。例如新建了一个虚拟私有云,再新建弹性云服务器时,可使用已新建的虚拟私有云ID。该方法可用于构建资源间依赖关系并控制资源的创建顺序。 引用映射表:用于获取映射表中的内容。
  • 应用上云 场景描述 应用上云时,很多工作需要手工重复操作,例如环境的销毁和重建、在扩容的场景下重复完成多个新实例的配置等,手工操作容易带来操作失误。 同时应用上云时,很多操作非常耗时,例如创建数据库、创建虚拟机等,手动操作容易失误 ,串行创建多个任务,就需要您持续等待较长时间。 解决方案 资源编排就是将上述场景的工作进行工具化、流程化。资源编排采用模板对应用所需资源进行统一描述;资源栈管理功能提供众多资源自动化部署或销毁操作。资源编排可以将大批量、不同服务、不同规格的资源实例,统一定义在模板中。完成自动化创建,实现资源的快速部署和灵活配置。 收益优势 简单易用 通过编写模板,即可完成应用设计与资源的规划,使业务的组织和管理变得轻松。 高效执行 向导式自动完成部署或销毁操作,省去繁琐的人工操作,减少了人为操作的失误 。 快速复制 同一模板可以多次重复使用,自动化构建相同的应用与资源到不同的数据中心。提升了您的工作效率。
  • ISV资源发放 场景描述 独立软件开发商(ISV)需要快速将软件所需资源部署到云上,供其众多的客户进行使用。传统的软件发放的方式是在其官网提供软件的代码下载及平台搭建指南。但该方式需要ISV自行组网、交付资源、部署软件,准备时间长,成本高。 解决方案 资源编排提供了标准化的资源和应用交付方式。ISV可以通过将软件服务模板化。通过资源编排的资源栈部署能力,对自身客户进行快速业务发放,将交付过程流程化。资源编排使用代码形式模板描述整个交付环境,也便于ISV将交付与CI/CD流程集成。 收益优势: 交付标准化 通过模板、资源栈方式将软件交付过程标准化,便于总结成最佳实践以便推广。 提升效率 通过模板,自动化完成资源的开通,ISV只需部署资源栈,即可完成业务的交付;提升了ISV的交付效率。 准确创建 ISV的软件本身及所需的云服务资源都通过模板固化,减少人工失误带来的影响。 CI/CD集成 可以将资源编排集成到现有工具链中,提升自动化程度。 图2 ISV资源发放场景
  • 审计与日志 审计 云审计 服务(Cloud Trace Service, CTS ),是华为云安全解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 AOS支持审计的操作事件,请参见云审计服务支持的AOS操作列表。 日志 用户开通云审计服务并创建和配置追踪器后,CTS可记录与AOS相关的操作事件,方便您进行事后审计。您可以在CTS控制台,事件列表菜单中,搜索AOS的事件来源,即可查看所有AOS相关的审计日志。 审计日志查看方法,请参见查看云审计日志。 父主题: 安全
  • 支持Provider版本列表 支持Provider版本列表 Provider是将各类资源的API(比如资源的CRUD操作API)封装而成的插件,供资源编排引擎调用。资源编排支持Provider类型与版本如下表。 类型 版本 terraform-provider-huaweicloud 1.40.2 1.40.1 1.40.0 1.39.0 1.38.2 1.38.1 terraform-provider-kubernetes 2.5.0 父主题: 资源编排
  • 如何检查device是否正常运行 如何检查device是否正常运行 以root用户登录运行环境,查询软件包安装路径。 cat /etc/ascend_install.info 系统显示示例如下: Driver_Install_Path_Param=/usr/local/Ascend 进入Driver安装路径,通过upgrade-tool工具查看下device侧运行文件系统版本。 cd /usr/local/Ascend/driver/tools/ ./upgrade-tool --device_index -1 --system_version 如果能正常查询,则说明device侧已经正常启动,正常查询返回信息类似如下。
  • 管理节点标签/污点 登录集群控制台。 在左侧导航栏中单击“节点管理”,在节点列表中选择节点,并单击“标签与污点管理”。 单击按钮,设置节点标签/污点。如需执行多项操作,可多次添加,最多支持10条操作。 图1 添加标签/污点 选择“添加”或“删除”操作。 选择操作对象为“K8S标签”或“污点(Taints)”。 填写需要增加标签/污点的“键”和“值”。 如选择操作对象为“污点(Taints)”,需选择污点效果,关于污点效果说明请参见污点(Taints)说明。 单击“确定”,对所选节点执行标签/污点操作。
  • 节点标签使用场景 节点标签的主要使用场景有两类。 节点分类:通过添加标签对节点进行分类。 工作负载与节点的亲和与反亲和: 有的工作负载需要的CPU大,有的工作负载需要的内存大,有的工作负载需要IO大,可能会影响其他工作负载正常工作,此时建议给节点添加不同标签。在部署工作负载的时候,就可以选择相应标签的节点亲和部署,保证系统正常工作;反之,可以使用节点的反亲和部署。 一个系统可以分为多个模块,每个模块由多个微服务组成,为保证后期运维的高效,可以将节点打上对应模块的标签,让各模块的工作负载部署到各自的节点上,互不干扰、利于维护。
  • 节点固有标签 创建节点后,UCS会为节点添加固有标签,这些标签是无法编辑和删除的。节点固有标签的含义请参见表1。 表1 节点固有标签 键 值 failure-domain.beta.kubernetes.io/region 表示节点当前所在区域 failure-domain.beta.kubernetes.io/zone 表示节点所在区域的可用区 beta.kubernetes.io/arch 表示节点处理器架构 例如:amd64,表示AMD64位的处理器 beta.kubernetes.io/os 表示节点的操作系统 例如:linux,表示Linux操作系统 kubernetes.io/availablezone 表示节点所在区域的可用区 kubernetes.io/hostname 表示节点主机名称 os.architecture 表示节点处理器架构 例如:amd64,表示AMD64位的处理器 os.name 表示节点的操作系统名称 例如:EulerOS_2.0_SP2,表示欧拉2.2的版本 os.version 表示节点内核版本
  • 容忍度(Toleration)说明 容忍度应用于Pod上,允许(但并不要求)Pod调度到带有与之匹配的污点的节点上。 污点和容忍度相互配合,可以用来避免Pod被分配到不合适的节点上。每个节点上都可以拥有一个或多个污点,而对这些污点没有设置容忍度的Pod,将不会被调度到该节点上。 在Pod中设置容忍度的示例如下: apiVersion: v1 kind: Pod metadata: name: nginx labels: env: test spec: containers: - name: nginx image: nginx imagePullPolicy: IfNotPresent tolerations: - key: "key1" operator: "Equal" value: "value1" effect: "NoSchedule" 上面示例中表示节点上存在键名为“key1”,键值为“value1”,且效果为“NoSchedule”的污点时,该Pod能够调度到节点上。 容忍度还可以按如下方式进行设置,表示当节点上存在键名为“key1”,且效果为“NoSchedule”的污点时,该Pod也可以调度到节点上。 tolerations: - key: "key1" operator: "Exists" effect: "NoSchedule"
  • 不同规格的资源配额要求 安装kube-prometheus-stack插件时,需确保集群中有足够的CPU、内存等可调度资源。Agent模式默认规格的资源配额要求请参见表1,Server模式下不同插件规格的资源配额要求请参见表2。 表1 Agent模式默认规格的资源配额要求 插件规格 容器实例 CPU配额 内存配额 默认规格 prometheusOperator 申请:100m 限制:500m 申请:100Mi 限制:500Mi prometheus 申请:500m 限制:4 申请:1Gi 限制:8Gi kube-state-metrics 申请:200m 限制:500m 申请:200Mi 限制:500Mi nodeExporter 申请:200m 限制:500m 申请:200Mi 限制:1Gi grafana 申请:100m 限制:500m 申请:200Mi 限制:2Gi 表2 Server模式不同规格的资源配额要求 插件规格 容器实例 CPU配额 内存配额 演示规格(100容器以内) prometheusOperator 申请:200m 限制:500m 申请:200Mi 限制:500Mi prometheus 申请:500m 限制:2 申请:2Gi 限制:8Gi alertmanager 申请:200m 限制:1 申请:200Mi 限制:1Gi thanosSidecar 申请:100m 限制:1 申请:100Mi 限制:2Gi thanosQuery 申请:500m 限制:2 申请:500Mi 限制:4Gi adapter 申请:400m 限制:2 申请:400Mi 限制:1Gi kube-state-metrics 申请:200m 限制:500m 申请:200Mi 限制:500Mi nodeExporter 申请:200m 限制:500m 申请:200Mi 限制:1Gi grafana 申请:200m 限制:500m 申请:200Mi 限制:2Gi clusterProblemDetector 申请:100m 限制:200m 申请:200Mi 限制:400Mi 小规格(2000容器以内) prometheusOperator 申请:200m 限制:500m 申请:200Mi 限制:500Mi prometheus 申请:4 限制:8 申请:16Gi 限制:32Gi alertmanager 申请:500m 限制:1 申请:500Mi 限制:1Gi thanosSidecar 申请:500m 限制:1 申请:500Mi 限制:2Gi thanosQuery 申请:2 限制:4 申请:2Gi 限制:16Gi adapter 申请:2 限制:4 申请:4Gi 限制:16Gi kube-state-metrics 申请:500m 限制:1 申请:500Mi 限制:1Gi nodeExporter 申请:200m 限制:500m 申请:200Mi 限制:1Gi grafana 申请:200m 限制:500m 申请:200Mi 限制:2Gi clusterProblemDetector 申请:200m 限制:500m 申请:300Mi 限制:1Gi 中规格(5000容器以内) prometheusOperator 申请:500m 限制:1 申请:500Mi 限制:1Gi prometheus 申请:8 限制:16 申请:32Gi 限制:64Gi alertmanager 申请:500m 限制:1 申请:500Mi 限制:2Gi thanosSidecar 申请:1 限制:2 申请:1Gi 限制:4Gi thanosQuery 申请:2 限制:4 申请:2Gi 限制:16Gi adapter 申请:2 限制:4 申请:16Gi 限制:32Gi kube-state-metrics 申请:1 限制:2 申请:1Gi 限制:2Gi nodeExporter 申请:200m 限制:500m 申请:200Mi 限制:1Gi grafana 申请:200m 限制:500m 申请:200Mi 限制:2Gi clusterProblemDetector 申请:200m 限制:1 申请:400Mi 限制:2Gi 大规格(超过5000容器) prometheusOperator 申请:500m 限制:1 申请:500Mi 限制:2Gi prometheus 申请:8 限制:32 申请:64Gi 限制:128Gi alertmanager 申请:1 限制:2 申请:1Gi 限制:4Gi thanosSidecar 申请:2 限制:4 申请:2Gi 限制:8Gi thanosQuery 申请:2 限制:4 申请:2Gi 限制:32Gi adapter 申请:2 限制:4 申请:32Gi 限制:64Gi kube-state-metrics 申请:1 限制:3 申请:1Gi 限制:3Gi nodeExporter 申请:200m 限制:500m 申请:200Mi 限制:1Gi grafana 申请:200m 限制:500m 申请:200Mi 限制:2Gi clusterProblemDetector 申请:200m 限制:1 申请:400Mi 限制:2Gi
  • 插件简介 kube-prometheus-stack通过使用Prometheus Operator和Prometheus,提供简单易用的端到端Kubernetes集群监控能力,同时还具备自定义插件规格、对接Grafana、高可用、节点亲和等能力。 kube-prometheus-stack插件的核心组件包括prometheusOperator、prometheus、alertmanager、thanosSidecar、thanosQuery、adapter、kubeStateMetrics、nodeExporter、grafana。 prometheusOperator:根据自定义资源(Custom Resource Definition / CRDs)来部署和管理Prometheus Server,同时监控这些自定义资源事件的变化来做相应的处理,是整个系统的控制中心。 prometheus(Server):Operator根据自定义资源Prometheus类型中定义的内容而部署Prometheus Server集群,这些自定义资源可以看作是用来管理Prometheus Server集群的StatefulSets资源。 alertmanager:插件的告警中心,主要用于接收Prometheus发送的告警并通过去重、分组、分发等能力管理告警信息。 thanosSidecar:高可用场景和Prometheus运行在同一个Pod中,用于实现普罗指标数据的持久化存储。 thanosQuery:普罗高可用时PromQL查询的入口,能够对来自Store或Prometheus的相同指标进行重复数据删除。 adapter(custom-metrics-apiserver):将自定义指标聚合到原生的Kubernetes API Server。 kube-state-metrics:将Prometheus的metrics数据格式转换成Kubernetes API接口能识别的格式。kube-state-metrics组件在默认配置下,不采集Kubernetes资源的所有labels和annotation。如需采集,请参考如何修改kube-state-metrics组件的采集配置?章节进行配置。 nodeExporter:每个节点上均有部署,收集Node级别的监控数据。 grafana:可视化浏览普罗监控数据。Grafana会默认创建大小为5 GiB的存储卷,卸载插件时Grafana的存储卷不随插件被删除。 clusterProblemDetector:用于监控集群异常。
  • 通过命令行配置升级示例 Deployment的升级可以是声明式的,也就是说只需要修改Deployment的YAML定义即可,比如使用kubectl edit命令将上面Deployment中的镜像修改为nginx:alpine。修改完成后再查询ReplicaSet和Pod,发现创建了一个新的ReplicaSet,Pod也重新创建了。 $ kubectl edit deploy nginx $ kubectl get rs NAME DESIRED CURRENT READY AGE nginx-6f9f58dffd 2 2 2 1m nginx-7f98958cdf 0 0 0 48m $ kubectl get pods NAME READY STATUS RESTARTS AGE nginx-6f9f58dffd-tdmqk 1/1 Running 0 1m nginx-6f9f58dffd-tesqr 1/1 Running 0 1m Deployment可以通过maxSurge和maxUnavailable两个参数控制升级过程中同时重新创建Pod的比例,这在很多时候是非常有用,配置如下所示。 spec: strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 0 type: RollingUpdate 在前面的例子中,由于spec.replicas是2,如果maxSurge和maxUnavailable都为默认值25%,那实际升级过程中,maxSurge允许最多3个Pod存在(向上取整,2*1.25=2.5,取整为3),而maxUnavailable则不允许有Pod Unavailable(向上取整,2*0.75=1.5,取整为2),也就是说在升级过程中,一直会有2个Pod处于运行状态,每次新建一个Pod,等这个Pod创建成功后再删掉一个旧Pod,直至Pod全部为新Pod。
  • 通过命令行回退工作负载版本 例如上面升级的新版镜像有问题,可以执行kubectl rollout undo命令进行回滚。 $ kubectl rollout undo deployment nginx deployment.apps/nginx rolled back Deployment之所以能如此容易的做到回滚,是因为Deployment是通过ReplicaSet控制Pod的,升级后之前ReplicaSet都一直存在,Deployment回滚做的就是使用之前的ReplicaSet再次把Pod创建出来。Deployment中保存ReplicaSet的数量可以使用revisionHistoryLimit参数限制,默认值为10。
  • 通过控制台配置工作负载升级 在创建工作负载时,单击“展开高级配置”。 参考表1,设置升级策略。 表1 参数说明 参数 描述 升级方式 设置不同的升级策略,有如下两种。 RollingUpdate:滚动升级,即逐步创建新Pod再删除旧Pod,为默认策略。 Recreate:替换升级,即先把当前Pod删掉再重新创建Pod。 最大无效实例数(maxUnavailable) 与spec.replicas相比,可以有多少个Pod失效,也就是删除的比例,默认值是25%,比如spec.replicas为4,那升级过程中就至少有3个Pod存在,即删除Pod的步伐是1。同样这个值也可以设置成数字。 仅Deployment支持配置。 最大浪涌(maxSurge) 与spec.replicas相比,可以有多少个Pod存在,默认值是25%,比如spec.replicas为 4,那升级过程中就不能超过5个Pod存在,即按1个的步伐升级,实际升级过程中会换算成数字,且换算会向上取整。这个值也可以直接设置成数字。 仅Deployment支持配置。 实例可用最短时间(minReadySeconds) 指定新创建的 Pod 在没有任意容器崩溃情况下的最小就绪时间, 只有超出这个时间 Pod 才被视为可用。默认值为 0(Pod 在准备就绪后立即将被视为可用)。 最大保留版本数(revisionHistoryLimit) 用来设定出于回滚目的所要保留的旧 ReplicaSet 数量。 这些旧 ReplicaSet 会消耗 etcd 中的资源,并占用 kubectl get rs 的输出。 每个 Deployment 修订版本的配置都存储在其 ReplicaSets 中;因此,一旦删除了旧的 ReplicaSet, 将失去回滚到 Deployment 的对应修订版本的能力。 默认情况下,系统保留 10 个旧 ReplicaSet,但其理想值取决于新 Deployment 的频率和稳定性。 升级最大时长(progressDeadlineSeconds) 指定系统在报告 Deployment 进展失败 之前等待 Deployment 取得进展的秒数。 这类报告会在资源状态中体现为 Type=Progressing、Status=False、 Reason=ProgressDeadlineExceeded。Deployment 控制器将持续重试 Deployment。 将来,一旦实现了自动回滚,Deployment 控制器将在探测到这样的条件时立即回滚 Deployment。 如果指定,则此字段值需要大于 .spec.minReadySeconds 取值。 缩容时间窗(terminationGracePeriodSeconds) 优雅删除时间,默认为30秒,删除Pod时发送SIGTERM终止信号,然后等待容器中的应用程序终止执行,如果在terminationGracePeriodSeconds时间内未能终止,则发送SIGKILL的系统信号强行终止。 图1 升级策略
  • 步骤一:注册集群 登录UCS控制台。 在左侧导航栏中选择“容器舰队”,单击附着集群选项卡中的“注册集群”按钮。 参考表1填写待添加集群的基础信息,其中带“*”的参数为必填参数。 表1 注册集群基础信息配置 参数 参数说明 集群名称* 输入集群的自定义名称,需以小写字母开头,由小写字母、数字、中划线(-)组成,且不能以中划线(-)结尾。 集群服务商* 选择一个集群服务商。 所属区域* 选择集群所在的区域。 集群标签 非必填项,以键值对的形式为集群添加标签,可以通过标签实现集群的分类。键值对可自定义,以字母或者数字开头和结尾,由字母、数字、连接符(-)、下划线(_)、点号(.)组成,且63个字符之内。 上传KubeConfig* 上传kubectl的配置文件来完成集群认证,支持JSON或YAML格式。获取KubeConfig文件的操作步骤因厂商而异,请参见KubeConfig。 选择Context* 选择对应的Context。在完成KubeConfig文件上传后,选项列表将自动获取文件中的“contexts”字段。 默认值为KubeConfig文件中“current-context”字段指定的Context,若文件中无此字段则需要从列表中手动选择。 容器舰队 选择集群所属的舰队。 舰队用于权限精细化管理,一个集群只能加入一个舰队。若不选择舰队,集群注册成功后将显示在“未加入舰队的集群”页签下,后续还可以再添加至舰队中。 不支持在注册集群阶段选择已开通集群联邦能力的舰队,如果一定要加入这个舰队,请在集群注册成功后,再添加到该舰队中。关于集群联邦的介绍,请参见开通集群联邦章节。 如需新建舰队,请参见管理容器舰队。 单击“确定”,集群注册成功后如图1所示,请在30分钟内接入网络。您可选择集群的接入方式或单击右上角按钮查看详细的网络接入流程。 如您未在30分钟内接入网络,将会导致集群注册失败,可单击右上角按钮重新注册集群。如果已经接入但数据未采集上来,请等待2分钟后刷新集群。 图1 集群等待接入状态
  • 污点(Taints)说明 污点格式为“Key=Value:Effect”,Key和Value作为污点的标签,Value可以为空,Effect用于描述污点的效果。当前Effect支持如下两个选项: NoSchedule:不能容忍此污点的 Pod 不会被调度到集群上,但是现有 Pod 不会从集群中逐出。 NoExecute:表示不能容忍此污点的 Pod 不会被调度到集群上,同时会将集群上已存在的Pod驱逐。
  • 管理集群标签/污点 登录UCS控制台。 单击目标集群所在的容器舰队名称,在左侧导航栏选择“容器集群”,找到目标集群,在右上角单击进入“标签与污点管理”。 图1 标签与污点管理 单击按钮,设置节点标签/污点。如需执行多项操作,可多次添加,最多支持10条操作。 图2 添加标签/污点 选择“添加”或“删除”操作。 选择操作对象为“K8S标签”或“污点(Taints)”。 填写需要增加标签/污点的“键”和“值”。 如选择操作对象为“污点(Taints)”,需选择污点效果,关于污点效果说明请参见污点(Taints)说明。 单击“确定”,对所选节点执行标签/污点操作。
共100000条