云服务器内容精选

  • 操作场景 使用ElasticSearch过程中需要对ElasticSearch运行状态进行监控,例如集群及索引状态等。Prometheus监控服务提供了CCE容器场景下基于Exporter的方式来监控ElasticSearch运行状态。本文介绍如何部署ElasticSearch Exporter以及实现ElasticSearch Exporter告警接入等操作。 为了方便安装管理Exporter,推荐使用CCE进行统一管理。
  • 采集CCE集群的业务数据 通过新增PodMonitor方式为应用配置可观测监控Prometheus版的采集规则,监控部署在CCE集群内的应用的业务数据。 如下示例中指标采集的周期是30秒,所以等待大概30秒后才能在AOM的界面上查看到上报的指标。 apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: name: elasticSearch-exporter namespace: default spec: namespaceSelector: # 选择监控Exporter部署所在的namespace matchNames: - default # exporter所在的命名空间 podMetricsEndpoints: - interval: 30s # 设置指标采集周期 path: /metrics # 填写Prometheus Exporter对应的Path的值,默认/metrics port: metric-port # 填写Prometheus Exporter对应YAML的ports的name selector: # 填写要监控Exporter Pod的Label标签,以定位目标Exporter matchLabels: k8s-app: elasticSearch-exporter
  • 容器舰队支持的能力范围 集群接入UCS后,您可以将其加入容器舰队并开通集群联邦能力,以进行多集群管理。针对已接入UCS的集群(无论是否加入容器舰队)、未开通集群联邦能力的容器舰队、已开通集群联邦能力的容器舰队,UCS所支持的能力范围有所不同,如表1所示。 表1 容器舰队支持的能力范围 能力 已接入UCS的集群 未开通集群联邦能力的容器舰队 已开通集群联邦能力的容器舰队 集群联邦多集群管理 - - √ 流量分发 √ - - 可观测性 √ √ √ 服务网格 - √ √ 云原生服务中心 √ - - 策略中心 √ √ √ 配置管理 √ - - 流水线 - - √ 权限管理 √ √ √
  • 注意事项 OBS桶的拥有者始终为基因测序厂商。测序服务完成后,基因测序厂商可根据需要删除桶或修改桶策略,收回共享权限。 基因测序厂商创建的桶必须配置2条高级桶策略,1条是桶级别策略,1条是对象级别策略。 基因测序厂商创建桶前,第三方需要将自己的账户ID告知基因测序厂商,账户ID可通过界面右上角账户名下“我的凭证”中查看。 图7 查看账户ID 基因测序厂商创建完桶并配置好桶策略后,将桶名告知第三方。 由于单个账号在OBS管理控制台最多创建100个OBS桶,本方案适合第三方数量较少的场景。
  • 操作步骤 基因测序厂商进行桶配置、权限控制及第三方添加外部桶的操作步骤如下: 使用基因测序厂商账号登录OBS管理控制台,单击“创建桶”。 图2 OBS管理控制台 设置桶参数: 图3 创建OBS桶 选择“区域”、“存储类别”,并输入“桶名称”。 桶创建成功后,不能修改名称,创建时,请设置合适的桶名。桶名称建议使用第三方账户名,便于区分。 桶策略:基因测序厂商可以根据界面提示为桶配置私有、公共读或公共读写策略。 多AZ:基因测序厂商可以开启或关闭多AZ。关闭多AZ时,桶内数据存储在单个AZ中;开启多AZ时,桶内数据在上传时同时复制双份,保存在3个AZ中。 标签:标签用于标识OBS对象存储中的桶,以此达到对OBS对象存储中的桶进行分类的目的。OBS对象存储以键值对的形式来描述标签,每个标签有且只有一对键值。有关添加标签的信息,请参见标签简介。 单击“立即创建”。 OBS桶创建完成后,默认跳转至桶列表。单击桶名称进入桶详情页,单击左侧导航栏中的“权限”,进行桶策略配置。 创建桶级别授权策略: 选择“高级桶策略”,单击“创建桶策略”。 图4 创建桶策略 在弹出的对话框中,选择“自定义模式”,单击“其他账号”,输入第三方的账号ID(用户ID可省略不填,获取账户ID和用户ID的方法请参见注意事项)。资源名称设置为空,表示对桶权限的控制。动作列表中选择“*”,表示授予所有权限(如需精确控制权限,可勾选各权限接口)。 单击“确定”,可查看刚创建的桶级别授权策略。 创建对象级别授权策略: 选择“高级桶策略”,单击“创建桶策略”。 选择“自定义模式”,单击“其他账号”,输入第三方的账号ID(用户ID可省略不填)。资源名称输入“*”,表示对桶中所有对象权限的控制。“动作”列表中选择“*”,表示授予所有权限(如需精确控制权限,可勾选各权限接口)。 图5 创建对象级别授权策略 单击“确定”,可查看刚创建的对象级别授权策略。 第三方添加桶: 基因测序厂商创建完桶并配置好桶策略后,将桶名告知第三方。第三方可使用自己账号的AK/SK登录OBS客户端。登录成功后单击“添加桶”,选择“添加外部桶”,输入基因测序厂商提供的桶名,即可查看到列表中出现的桶。 图6 添加外部桶 桶添加成功后,第三方即可通过OBS Broswer上传和下载数据,基因测序厂商可获取到第三方上传的原始数据进行测序计算,输出分析结果。
  • 原理说明 GCS提供了REST API,调用API可以使用GCS提供的所有功能。通过调用GCS的API,您可以构建您自己的测序平台,使得用户无需感知GCS。 图1展示了测序平台(Demo系统)的调用流程,共有如下三种角色。 测序平台的用户:使用测序平台的用户,像医院、科研单位等。 测序平台:面向用户提供测序服务,通过调用GCS的API响应用户的测序需求。当用户想发起测序请求时,调用GCS的API执行测序,待测序完成后获取测序结果并返回给用户。 GCS服务:提供底层测序API共测序平台调用。 从上面的描述可以看出,测序平台相当于用户与GCS之间的一个代理,将用户的测序请求转发给GCS处理,然后获取测序结果返回给用户。当然测序平台处理转发测序请求外,还可以做很多其他事情,比如提供用户管理、数据查询等功能,您可以根据自身需求构建。 图1 基于GCS构建测序平台
  • 代码介绍 示例Demo基于开源框架Beego开发,Beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用。 Beeo是一种MVC(model、view、controller)架构的框架。 控制器(Controller)- 负责转发请求,对请求进行处理。 视图(View) - 界面设计人员进行图形界面设计。 模型(Model) - 程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。
  • Demo下载地址 https://mirrors.huaweicloud.com/gcs-sdk/GCS_CloudOnCloud_SDK.rar 示例demo源码只实现了最基础的功能,不可直接作为商业软件使用。 示例demo源码为示例源码,开源目的为方便第三方基于此继续进行二次开发,实现定制化需求。 示例demo开源后不会再提供任何维保和版本更新服务。 对于使用过程中的任何问题,华为云保留最终解释权。
  • 清理环境 为了防止您为不需要的服务付费,建议您使用完成后清理环境。环境清理后基因容器服务将不再使用该集群,集群还将为您保留。已休眠的环境,请先唤醒再删除。如默认环境被清理,则最新创建的环境会自动变成默认环境。 登录GCS控制台,选择左侧导航栏的“环境管理”。 单击“云容器引擎”页签,在需要清理的环境中单击“清理环境”。 图9 清理环境 在弹出的对话框中输入DELETE,环境清理后基因容器服务将不再使用该集群,集群还将为您保留。如需彻底删除该集群,请勾选“删除环境所创建的集群”,然后单击“确认”。 只有通过GCS“新建资源”创建的按需计费环境才可以“删除环境所创建的集群”。 包年/包月集群如需停止使用,请到“费用中心”执行退订操作。
  • 休眠/唤醒环境 创建环境过程中用到的CCE、ECS、弹性IP等资源创建后即开始收费。当您在某段时间内不使用GCS时,需要休眠CCE环境。而由于CCI环境是按使用量计费,因此环境不使用时不产生费用,不需要休眠。 休眠后环境将保留,按需付费的CCE控制节点将暂停收费,弹性云服务器ECS、绑定的弹性IP等资源仍需收费。处于休眠状态的环境,可以执行唤醒环境操作,环境唤醒后,将继续收取控制环境资源费用。 登录GCS控制台,选择左侧导航栏的“环境管理”。 选择需要休眠的环境,单击“环境休眠”,进入环境休眠详情页面,单击“确认”。 图7 休眠环境 环境休眠后,环境将保留。若需要继续使用环境,可单击“唤醒环境”来执行唤醒环境操作。 图8 唤醒环境
  • 查看环境 创建环境后,可以通过查看环境确认环境的状态和信息。 登录GCS控制台,选择左侧导航栏的“环境管理”,单击“云容器引擎”页签。在环境列表页可查看环境状态、集群名称、计费模式、关联桶等,如图1。 图1 CCE环境列表页 在环境列表页您可执行变更关联桶、查看集群详情、查看集群监控、休眠/唤醒环境、清理环境等操作。 变更关联桶:单击关联桶后的,在弹出的对话框中选择其他桶,然后单击“确认”。 查看集群详情:单击集群名称,前往CCE界面查看集群详情。 查看集群监控:单击,进入集群监控页面查看集群节点、控制节点、工作负载和负载实例的CPU、内存和磁盘等的使用情况。 环境休眠/唤醒:单击“环境休眠/唤醒”,可将CCE环境休眠/唤醒,具体操作请参见休眠/唤醒环境。 清理环境:单击“清理环境”,可清理CCE环境,具体操作请参见清理环境。 单击“云容器引擎”的环境名称,进入环境管理详情页面。 图2 CCE环境管理详情 在环境管理详情页面还可查看节点、控制节点、弹性伸缩、事件、存储等信息。 节点:节点是指接入到平台的计算资源,包括虚拟机、物理机等。您需确保所在项目节点资源充足,若节点资源不足,会导致创建工作负载等操作失败。 图3 环境管理详情-节点 单击可监控节点的CPU、内存和磁盘的使用情况。 单击“节点管理”,可根据界面提示使用用户模式对节点进行管理,“按需付费节点”标签为必选,可勾选“禁止自动缩容”、“不再接收新任务”、“任务指定内存”标签。单击“确定”后,在节点页面可查看节点属性,如图3。 图4 节点管理-用户模式 专业模式的管理方法请参考CCE节点标签管理。 控制节点:控制节点由华为云托管,您不能登录。单击可监控控制节点的CPU、内存和磁盘的使用情况。如果控制节点出现异常,请联系华为云支持定位修复。 弹性伸缩:伸缩策略定义后,可自动触发节点的增减,从而降低人为反复调整资源以应对业务变化和高峰压力的工作量,帮助您节约资源和人力成本。单击“添加策略”,根据界面提示配置集群自动扩缩容参数。 图5 添加策略 密码:自动扩容node节点密码。通过该密码登录node节点执行相关操作,用户名为root。 确认密码:再次输入自动扩容node节点密码。 自动缩容:是否启用集群缩容。 空置时间(min):启用集群缩容后,集群节点处于unneed状态多长时间后,删除节点(默认10min)。 百分比:启用集群缩容后,集群节点资源低于多少,会进行集群缩容(默认0.5)。 节点总数:可扩容的最大节点总数。 cpu总数(核):可扩容的最大cpu总数(核)。 内存总数(G):可扩容的最大内存总数(G)。 预置节点池配置:默认资源组,最多可设置10个。集群扩容时,若没有其他可用分组,使用默认分组的资源规格进行扩容节点。 可用区:指同一服务区内,电力和网络互相独立的地理区域。 操作系统:节点对应的操作系统。 节点规格:节点的CPU配置和内存配置。 Taints:支持给该节点池扩容出来的节点加Taints来设置反亲和性,每个节点池最多配置10条Taints,每条Taints包含以下3个参数: Taints是可选项,默认为空。配置时需要配合Pod的toleration使用,否则可能导致扩容失败或者Pod无法调度到扩容节点。 Key:必须以字母或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符;另外可以使用DNS子域作为前缀,例如example.com/my-app, DNS子域最长253个字符。 Value:必须以字符或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符。 Effect:只可选NoSchedule,PreferNoSchedule或NoExecute。 Effect参数建议选择PreferNoSchedule,这样可使自动扩容的节点能够及时的缩容。 伸缩策略配置成功后,单击“卸载”可删除策略。 图6 删除伸缩策略 事件:可以在“事件”页签下查看集群的事件。 存储:包括“对象存储卷”、“文件存储卷”和“云硬盘存储卷”,使用方法请参考CCE存储管理。存储卷创建成功后,单击“删除”可删除存储卷。 单击集群名称,您将进入到CCE控制台,可查看集群详情信息。
  • 创建环境 开始基因分析前,请先创建环境。 登录GCS控制台,选择左侧导航栏的“环境管理”,在右侧页面单击“创建环境”。 设置“默认环境”:是/否。若当前没有环境,则将要创建的环境即为默认环境。默认环境有且只有一个。在有多个集群时,执行分析任务时如果不指定投递集群,则将任务投递至该默认集群。 选择“环境类型”:“云容器引擎 CCE”。 选择“关联桶”:OBS存储用于存储分析前后产生的数据,包括原始基因数据、流程执行中间数据及执行结果数据。 如果您已有可用桶,在创建环境中,选择对应的桶即可。关联OBS存储,对应对象存储或并行文件系统,并行文件系统详细说明请参见并行文件系统。 如果没有可用桶或是需要新建桶,请单击“创建桶”,基因容器将为您创建一个桶。此处创建的桶无法选择企业项目,默认创建default企业项目。 设置“计算资源”:选择“已有资源”或“新建资源”。如果您在CCE中已有可用集群,则在创建环境时,选择对应的集群做为基因容器的计算资源即可。 为保证有足够的资源,请给基因环境规划独立的集群。 如果您在CCE中没有可用的集群,或不想使用已有集群,请选择“新建资源”,并根据需求选择集群参数。环境创建成功后,可对计费模式和集群规格进行变更,具体操作请参见查看环境。 计费模式:“按需计费”或“包年/包月”。 按需计费:根据实际使用的资源按小时计费。 包年/包月:包周期计费。包年/包月集群创建后不能删除,如需停止使用,请到用户中心执行退订操作。 集群名称:新建集群的名称。 集群版本:选择集群对应的版本,对应Kubernetes社区基线版本,建议选择最新版本。 集群管理规模:当前集群支持管理的最大节点规模。若选择50节点,表示当前集群最多可管理50个节点。 高可用:高可用集群包含多台管理节点,单管理节点故障时,集群依然可用。推荐使用高可用集群。 企业项目: 该参数针对企业用户使用。如需使用该功能,请联系客服申请开通。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理,默认项目为default。 请从下拉列表中选择所在的企业项目。更多关于企业项目的信息,请参见《企业管理用户指南》。 虚拟私有云:虚拟私有云是通过逻辑方式进行网络隔离,提供安全、隔离的网络环境。若没有可选VPC,单击“创建虚拟私有云”进行创建,参数配置请参考创建虚拟私有云基本信息及默认子网。 所在子网:通过子网提供与其他网络隔离的、可以独享的网络资源,以提高网络安全。若没有可选子网,单击“创建子网”进行创建。如果集群规模超过250台,那么子网大于255.255.255.0。 可用区:指在同一服务区内,电力和网络互相独立的地理区域。一个区域内有多个可用区,一个可用区发生故障后不会影响同一区域内的其它可用区,可用区之间通过内网访问。 节点规格:选择所需的规格(通用计算增强型/通用型计算型/GPU加速型),选择节点的CPU配额和内存配额。 通用计算增强型:计算增强型实例具有性能稳定且资源独享的特点,满足计算性能高且稳定的企业级工作负载诉求。 通用型计算型:通用计算型实例提供均衡的计算、存储以及网络配置,适用于大多数的使用场景。通用计算型实例可用于Web服务器、开发测试环境以及小型数据库应用等场景。 GPU加速型:GPU实例提供图形处理器 (GPU) 及较高的计算性能配置的实例,可以适用于图形渲染要求较高的应用,例如高清视频、图形渲染、远程桌面等场景。 节点个数:单击,选择添加的节点个数。 操作系统:选择节点对应的操作系统。推荐使用EulerOS 2.2。 系统盘:磁盘类型为“普通IO”、“高IO”或“超高IO”,磁盘大小可设置为40~1024GB。 普通IO:由SATA存储提供资源的磁盘类型,该类型云硬盘的最大IOPS为1000; 高IO:由SAS存储提供资源的磁盘类型,该类型云硬盘的最大IOPS为3000; 超高IO:由SSD存储提供资源的磁盘类型,该类型云硬盘的最大IOPS为20000。 数据盘:磁盘类型为“普通IO”、“高IO”或“超高IO”,磁盘大小可设置为100~32678GB。 登录方式:“密钥对”或“密码”。 密钥对:选择登录节点的密钥对。密钥对用于远程登录节点时的身份认证,若没有密钥对,可单击“创建SSH密钥对”来新建。 密码:输入登录节点的密码,并确认密码。 单击“下一步”,确认环境信息配置后单击“提交”。系统将跳转到“环境管理”页面,环境创建预计需要花费6-10分钟时间。新建资源的环境您可单击“查看详情”,前往CCE页面查看集群创建详情。
  • 查看环境 创建环境后,可以通过查看环境确认环境的状态和信息。 登录GCS控制台,选择左侧导航栏的“环境管理”,单击“云容器实例”页签,在环境列表页可查看环境状态、命名空间名称、命名空间类型、VCP名称等。 图1 CCI环境列表页 在环境列表页您可执行查看命名空间详情、变更关联桶、更新密钥、清理环境等操作。 查看命名空间详情:单击命名空间名称,您将进入到CCI控制台,可查看命名空间的详细信息、容器所属虚拟私有云VPC、子网等。 变更关联桶:单击关联桶后的,在弹出的对话框中选择其他桶,然后单击“确认”。 更新密钥:单击访问密钥后的,在弹出的对话框中上传访问密钥(AK/SK)文件,然后单击“确认”。 清理环境:单击“清理环境”,可清理CCI环境,具体操作请参见清理环境。 单击环境名称,进入环境管理详情页面。在环境管理详情页面可查看虚拟私有云VPC和子网的信息,还可执行导入对象存储卷、解关联对象存储卷等操作。 图2 导入/解关联对象存储卷 导入对象存储卷:单击“导入”,在弹出的对话框中选择要导入的存储,然后单击“确认”。导入对象存储时,如果要导入的对象存储原始名称非法(例如包含小数点“.”),将不允许导入。请确保要导入的对象存储内的数据已备份或不再使用,且没有被其他服务(如云审计、云监控等)所使用。 解关联对象存储卷:勾选需要删除的存储,单击“解关联”,在弹出的对话框中单击“确认”。解关联操作会解除PVC与存储的绑定关系,存储不会被删除。若想再次使用该存储,请使用导入功能导入该存储。
  • 创建环境 开始基因分析前,请先创建环境。 登录GCS控制台,选择左侧导航栏的“环境管理”,在右侧页面单击“创建环境”。 设置“默认环境”:是/否。若当前没有环境,则将要创建的环境即为默认环境。默认环境有且只有一个。在有多个环境时,执行分析任务时如果不指定投递环境,则将任务投递至该默认环境。 选择“环境类型”为“云容器实例 CCI”。 选择“关联OBS存储”:OBS存储用于存储分析前后产生的数据,包括原始基因数据、流程执行中间数据及执行结果数据。 如果您已有可用桶,在创建环境中,选择对应的桶即可。关联OBS存储,对应的是并行文件系统,并行文件系统详细说明请参见并行文件系统。 如果没有可用桶或是需要新建桶,请单击“创建OBS存储”创建。此处创建的桶无法选择企业项目,默认创建default企业项目。 命名空间选择:“已有命名空间”或“新建命名空间”。 如果您在CCI中已有可用命名空间,则在创建环境时,选择对应的命名空间即可。 如果您在CCI中没有可用的命名空间,或不想使用已有命名空间,请选择“新建命名空间”,并根据需求选择参数。 命名空间名称:新建命名空间的名称。 命名空间类型:“通用计算型”和“GPU加速型”。 通用计算型:支持创建含CPU资源的容器实例及工作负载,适用于通用计算场景。 GPU加速型:支持创建含GPU资源的容器实例及工作负载,适用于深度学习、科学计算、视频处理等场景。 企业项目: 该参数针对企业用户使用。如需使用该功能,请联系客服申请开通。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理,默认项目为default。 请从下拉列表中选择所在的企业项目。更多关于企业项目的信息,请参见《企业管理用户指南》。 容器所属VPC:虚拟私有云是通过逻辑方式进行网络隔离,提供安全、隔离的网络环境。此处VPC列表会根据企业项目自动过滤,若没有可选VPC,单击“创建虚拟私有云”进行创建,参数配置请参考创建虚拟私有云基本信息及默认子网。 子网选择:子网是VPC内IP地址块,提供与其他网络隔离的、可以独享的网络资源,以提高网络安全。若没有可选子网,单击“创建子网”进行创建。 上传访问密钥:单击,在弹出的对话框中上传已下载的访问密钥(AK/SK),单击“确认”。若没有访问密钥,请前往“我的凭证” 的管理访问密钥页面新增并下载访问密钥。 单击“下一步”,确认环境信息配置后单击“提交”。单击“环境管理列表”将跳转“环境管理”页面,环境状态为“运行中”,环境已创建成功。 使用CCI环境时,请确保流程中定义的cpu(任务所需CPU核数)为0.25C的倍数,memory(任务所需内存资源大小)为1G的倍数,resources(执行任务需要的资源)中cpu与memory的配比在1:2-1:8之间。resources、memory、cpu参数的详细介绍请参见workflow。 在使用CCI创建环境时,选择新建命名空间,如果提示security-group没有找到,请用户去CCI服务创建相关命名空间
  • 示例:授予集群管理员权限(cluster-admin) 集群全部权限可以使用cluster-admin权限,cluster-admin包含集群所有资源的权限。 图5 授予集群管理员权限(cluster-admin) 如果使用kubectl查看可以看到创建了一个ClusterRoleBinding,将cluster-admin和cce-role-group这个用户组绑定了起来。 # kubectl get clusterrolebinding NAME ROLE AGE clusterrole_cluster-admin_group0c96fad22880f32a3f84c009862af6f7 ClusterRole/cluster-admin 61s # kubectl get clusterrolebinding clusterrole_cluster-admin_group0c96fad22880f32a3f84c009862af6f7 -oyaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: annotations: CCE.com/IAM: "true" creationTimestamp: "2021-06-23T09:15:22Z" name: clusterrole_cluster-admin_group0c96fad22880f32a3f84c009862af6f7 resourceVersion: "36659058" selfLink: /apis/rbac.authorization.k8s.io/v1/clusterrolebindings/clusterrole_cluster-admin_group0c96fad22880f32a3f84c009862af6f7 uid: d6cd43e9-b4ca-4b56-bc52-e36346fc1320 roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - apiGroup: rbac.authorization.k8s.io kind: Group name: 0c96fad22880f32a3f84c009862af6f7 使用被授予用户连接集群,如果能正常查询PV、StorageClass的信息,则说明权限配置正常。 # kubectl get pv No resources found # kubectl get sc NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE csi-disk everest-csi-provisioner Delete Immediate true 75d csi-disk-topology everest-csi-provisioner Delete WaitForFirstConsumer true 75d csi-nas everest-csi-provisioner Delete Immediate true 75d csi-obs everest-csi-provisioner Delete Immediate false 75d csi-sfsturbo everest-csi-provisioner Delete Immediate true 75d