云服务器内容精选

  • 注意事项 pg_cron需要后台守护进程,因此启动数据库前,需要将pg_cron放到shared_preload_libraries中。 定时任务不会在备机上运行,但当备机升主后,定时任务会自动启动。 定时任务会以任务创建者的权限执行。 定时任务使用GMT时间执行。 一个实例可以并行运行多个任务,但同一时间某个任务仅能运行一个。 某个任务,需要等待前一个定时任务结束,那么该任务会进入等待队列,且会在前一个任务结束后尽快启动。 使用前,需要将cron.database_name修改为创建定时任务的数据库,并且只能设为单个数据库,不支持设置多个数据库。
  • 支持的版本说明 PostgreSQL 12及以上版本的最新小版本支持该插件。可通过以下SQL语句查询当前实例支持该插件的版本: SELECT * FROM pg_available_extension_versions WHERE name = 'pg_cron'; 如果不支持,可通过升级内核小版本或者使用转储与还原升级大版本使用该插件。 RDS for PostgreSQ L实例 支持的插件,具体请参见支持的插件列表。
  • 插件介绍 标准cron语法,*表示每个时间段运行,特定数字表示仅在此时间。 ┌───────────── min (0 - 59) │ ┌────────────── hour (0 - 23) │ │ ┌─────────────── day of month (1 - 31) │ │ │ ┌──────────────── month (1 - 12) │ │ │ │ ┌───────────────── day of week (0 - 6) (0 to 6 are Sunday to │ │ │ │ │ Saturday, or use names; 7 is also Sunday) │ │ │ │ │ │ │ │ │ │ 例如每周六9:30 AM(GMT)的语法为: 30 9 * * 6
  • 操作场景 服务Operator是OSC管理的最大粒度实体,服务运行载体是一个Operator,当服务对应的服务实例首次安装时,容器集群中如果没有对应的服务Operator,OSC会自动安装。 OSC将在首次部署服务的集群中创建三个新的命名空间osc-global、osc-oc、osc-system,并运行Operator或Helm插件。例如,Redis服务将在osc-global命名空间中部署一个redis-operator插件,这个插件就是Redis服务的管理插件。
  • 安装插件 安装E-Backup插件后,请谨慎卸载,否则可能导致已有的备份无法恢复。因为E-Backup插件在执行备份恢复任务时,依赖自定义资源BackupStorageLocation及其Secret,该资源在卸载后重新安装会发生更改。 登录集群控制台。 在左侧导航栏中单击“插件管理”,在可安装插件栏中单击E-Backup插件下的“安装”按钮。 参照表1进行插件规格配置。 表1 E-Backup插件规格配置 参数 参数说明 插件规格 单实例部署。 容器 设置插件容器实例的资源配额。 velero:提供K8s元数据备份/恢复支持。 restic:提供应用数据存储卷备份/恢复支持。 说明: 集群中需要预留足够的资源,若资源不足,插件实例将无法调度。 申请值需小于等于限制值,否则无法成功创建。 请根据备份/恢复数据量大小,适当调整资源限制以避免插件故障。 进行参数配置,当前支持配置以下参数。 volumeWorkerNum:代表并发执行数据卷备份的工作数量,默认为3。 { "volumeWorkerNum": 3 } 单击“安装”后,返回“插件管理”页面查看已安装插件,插件状态为“运行中”,表明该插件已在当前集群中安装成功。
  • 插件简介 E-Backup是云原生存储系统(Everest2.0)中负责云原生应用数据保护的子系统。它支持用户将应用数据(k8s资源)和业务数据(pv卷中的数据)备份到OBS桶中,也允许用户将某次备份数据恢复到指定的K8s集群中。 E-Backup通过备份和恢复两个子功能提供对以下使用场景的支持: 单集群下的容灾 周期性地对集群内部署的应用进行备份,在集群或者应用被破坏时通过恢复功能将应用重新部署到集群中,继续向外提供服务,实现应用的容灾。 同集群/跨集群的克隆 对于需要大批量部署到多个集群中的应用,特别是应用已经在某个集群工作一段时间后需要增添实例的情况。首先对处于工作状态的应用进行备份,随后恢复到同集群的不同Namespace下或者其他集群中,实现应用的克隆。 跨集群/跨云的迁移 由于网络、成本、业务地点变动等原因,需要将应用从某个集群迁移到跨Region的另一个集群,或者从其他云的集群迁入CCE。对迁出集群中的应用进行备份,而后恢复到迁入集群中,实现应用的迁移。
  • 约束与限制 目标集群Kubernetes版本需为1.15及以上,且集群中至少包含一个可用节点。 集群在安装插件时,需要保证集群可正常拉取SWR镜像。 备份/恢复过程中,需尽量保证集群处于稳态,不要触发增、删、改等变更行为,以免出现备份/恢复失败或不完整的情况。若集群发生变更,建议等15分钟后,集群处于稳态,再做备份操作。 E-Backup插件集成开源的Restic组件完成PV数据备份,会对备份时间点的数据做自有快照,并上传数据,不影响用户后续数据的读写,但Restic不进行文件内容的校验和业务一致性校验,其特性遵循restic约束。 Restic组件占用内存大小与初次备份的PV卷数据大小有关。若PV卷数据大于300G,建议采用 云存储 提供的迁移方式。若使用应用数据管理功能迁移大量PV数据,可修改restic实例的资源配额,具体操作方式请参见修改插件资源配额。 E-Backup插件遵循开源Velero和Restic插件的约束,例如在恢复过程中Service会清除ClusterIP以适应源集群和目标集群间的差异。 若在CCE集群中使用了扩展加密的Secret类型(cfe/secure-opaque),在恢复到其他集群时,需要提前手动创建同名、同类型的Secret(不同集群加解密物料不同),以免恢复的应用无法成功运行。
  • 批量设置多个接入配置 支持同时批量设置多个接入配置,操作简单,不用重复配置即可快速完成多个场景的接入配置 在“接入管理”页面,单击“批量接入”,进入配置详情页面,请参考表6。 表6 批量接入设置 类型 操作 说明 基本配置 接入类型 选择云容器引擎 CCE-应用日志。 接入配置数量 在输入框填写接入配置数量,单击“添加接入配置”。 在接入配置下方默认已有1个接入配置,最多支持再添加99个数量,因此支持同时添加100个接入配置。 接入配置 接入列表 左侧显示接入配置的信息,最多支持添加99个配置。 右侧显示配置接入的内容,详细请参考步骤4:采集配置进行设置。 一个接入配置设置完成后,单击“应用于其他接入规则”即可将该接入配置复制到其他接入配置。 单击“参数检查”,检查成功后,单击“提交”,批量接入设置完成。 例如添加了4个接入配置,批量创建成功后,在接入规则页签下方,就会显示4条接入配置数量。 (可选)支持对接入配置任务进行以下操作: 勾选多个已创建成功的接入配置,单击“批量编辑”进入配置详情页面,通过选择不同接入类型,修改对应的接入配置信息。 勾选多个已创建成功的接入配置,单击开启或关闭按钮。接入配置状态关闭后不会继续采集日志。 勾选多个已创建成功的接入配置,单击删除按钮即可批量删除接入配置。
  • 使用限制 支持容器引擎为Docker的CCE集群节点。详情请查看云容器引擎(CCE)。 支持使用Containerd作为容器引擎的CCE集群节点(ICAgent 5.12.130及以上版本)。 支持 CCE Turbo 集群(ICAgent 5.12.130及以上版本)。 容器内的日志目录如果已挂载到主机目录上,将无法通过配置容器文件路径方式采集到LTS,只能通过配置节点文件路径方式采集到LTS。 Docker存储驱动限制:容器文件日志采集目前仅支持overlay2存储驱动,不支持devicemapper作为存储驱动的节点。查看存储驱动类型,请使用如下命令: docker info | grep "Storage Driver" 如果选择日志流时,采集方式为采集到集中日志流时,则必须已创建CCE集群。
  • 步骤6:完成接入配置 在接入规则页签,则会生成一条接入配置信息。 单击接入配置名称可进入详情页面,查看该接入配置详细信息。 单击接入配置操作列的“编辑”重新修改接入配置信息。 单击接入配置操作列的“标签管理”即可添加标签。 单击接入配置操作列的“复制”复制一条新的接入配置信息。 单击接入配置操作列的“删除”即可删除接入配置信息。 单击接入配置操作列的“采集诊断”,可查看ICAgent异常监控、ICAgent整体状态和ICAgent采集监控。
  • 前提条件 CCE集群已安装ICAgent并且已创建相关节点自定义标识的主机组(如果不满足,配置CCE接入LTS时会自动检查修复)。 首次使用 AOM 2.0的用户,请参考开通AOM2.0授权使用AOM2.0,进入AOM2.0控制台后,请参考云服务授权授予 云日志 服务 (LTS)、云容器引擎 (CCE)等云服务数据的访问权限。 在“主机”页面,选择“CCE集群”,在搜索框选择目标集群,单击“升级ICAgent”,详细操作请参考升级ICAgent。 已关闭采集容器标准输出到AOM的开关。 开启“ICAgent诊断开关”用于查看ICAgent异常监控、ICAgent整体状态和ICAgent采集监控,请参考设置ICAgent日志采集开关。
  • 基本使用 此插件只能由root用户或者root的成员用户执行。 可以通过root用户直接执行,或者通过如下操作: grant root to drs_sync; 将root权限赋予drs_sync,这样drs_sync用户也能够执行。 赋予某个用户对pg_catalog.pg_authid的select权限。 select control_select_on_pg_authid('grant', 'drs_sync'); 其中,第一个参数可以选择grant, revoke;第二个参数是具体的用户,用户必须已存在。 对用户赋予bypassrls, replication的权限。 select control_user_privilege('bypassrls', 'drs_sync'); 其中,第一个参数是要赋予的权限,可选范围是bypassrls, nobypassrls, replication, noreplication;第二个参数是具体的用户,用户必须已存在。 创建对all tables的发布。 select create_publication_for_all_tables('foo_pub', 'insert, update'); select create_publication_for_all_tables('foo_pub'); 该函数只创建for all tables的发布,对于某个表的发布可以使用正常的SQL。 其中,第一个参数是发布名,不能和已有的发布重名;第二个参数是选项,可以缺省,缺省情况下和create publication foo_pub for all tables一样;不缺省的情况下,在RDS for PostgreSQL 10版本中可选的是insert, update, delete,在11版本中可选项多了truncate。 创建出来的publication的owner是root。可以使用root用户或者root的成员用户,通过SQL对该publication进行接下来的操作。 执行部分pg_replication_origin_xxx函数。 -- 创建一个复制源 select exec_pg_replication_origin_func('pg_replication_origin_create', 'foo_repl_origin'); -- 删除这个复制源 select exec_pg_replication_origin_func('pg_replication_origin_create', 'foo_repl_origin'); -- 查看当前会话是否绑定了复制源 select exec_pg_replication_origin_func('pg_replication_origin_session_is_setup'); 其中,第一个参数是要执行的函数名,可选范围是'pg_replication_origin_create', 'pg_replication_origin_drop', 'pg_replication_origin_oid', 'pg_replication_origin_session_setup', 'pg_replication_origin_session_reset', 'pg_replication_origin_session_is_setup';第二个参数是可以缺省的,是否缺省取决于要执行的函数是否需要参数值。
  • 支持的版本说明 该插件支持从9.5到15的版本,但是该插件的目的是给未root提权版本(9.5, 9.6, 10, 11.5及之前的版本)提升权限的,建议11.5之后的版本直接使用root用户进行此插件执行的赋权动作。 可通过以下SQL语句查询当前实例是否支持该插件: SELECT * FROM pg_available_extension_versions WHERE name = 'rds_hwdrs_privs'; RDS for PostgreSQL实例支持的插件,具体请参见支持的插件列表。
  • 支持的版本说明 PostgreSQL 10及以上版本的最新小版本支持该插件。 可通过以下SQL语句查询当前实例是否支持该插件: SELECT * FROM pg_available_extension_versions WHERE name = 'pg_stat_statements'; 如果不支持,可通过升级内核小版本或者使用转储与还原升级大版本使用该插件。 RDS for PostgreSQL实例支持的插件,具体请参见支持的插件列表。
  • 插件安装与卸载 查看当前数据库是否有安装pg_stat_statements插件,执行如下SQL: select * from pg_extension where extname = 'pg_stat_statements'; 如果显示结果为空说明未安装该插件,如果显示插件的信息说明已安装该插件。 pg_stat_statements已默认预加载在shared_preload_libraries参数中,直接通过如下方式进行插件安装。 安装插件 SELECT control_extension('create', 'pg_stat_statements'); 删除插件 SELECT control_extension('drop', 'pg_stat_statements'); 更多信息,请参见通过界面安装和卸载插件和通过SQL命令安装和卸载插件。