详情页标题前

腾讯云原生分布式云中心差异化策略同尘

详情页1

简介

分布式应用管理支持将 K8s 资源分发至多个集群上并统一管理,减少用户重复定义,实现精简化、方便配置。在向多集群发布应用时,经常遇到批量配置、差异化配置、灰度更新、变更回滚等场景,利用差异化策略能够很好的解决上述场景,例如:为所有分发的资源打上统一的标签,例如 “apps.my.company/deployed-by: my-platform”。为分发到某个集群上的资源实例配置集群信息,例如 “apps.my.company/running-in: cluster-01″。独立调整应用在每个集群中的副本数目、镜像名称等配置,例如为一个 my-nginx (声明的副本数为 3)的 Deployment 应用,指定分发到集群 cluster-01、集群 cluster-02、集群 cluster-03 上的副本数目分别为 3,5,7。在分发到集群 cluster-01 之前,调整应用在该集群中的一些配置,比如注入一个 Sidecar 容器。遇到如大促、突发流量、紧急扩容等情况,要对应用进行变更时,可以针对指定集群进行变更发布,减小风险范围。支持回滚操作,恢复到变更前的状态。定义了多个差异化配置,通过 priority 优先级来指定不同差异化策略的权重,避免冲突。

基本概念

差异化策略

分布式应用管理提供两种差异化策略用于不同集群间的差异化配置:

Globalization 策略

描述 cluster-scoped (集群作用域) 的差异化配置策略,用于不同集群间通用全局配置,比如批量对资源进行无差异化的配置标签。

Localization 策略

描述 namespace-scoped (集群命名空间作用域)的差异化配置策略,单独指定某个集群的配置,比如更改某个集群下 Deployment 的副本数,升级镜像,增加 Sidecar 容器等。

Priority 优先级

Localization 和 Globalization 两者均支持按照 Priority(优先级)进行管理和配置,优先级的高低通过0 – 1000的数值来定义,值越小,优先级越低,默认是500。
在进行差异化渲染的时候,Clusternet 会按照 Globalization (低优先级) > Globalization (高优先级) > Localization (低优先级) > Localization (高优先级) 的次序,依次将声明的 Override 进行 apply。

Override 策略

提供了两种 Override 策略:ApplyLater(默认)和 ApplyNow。ApplyLater 表明 Localization/Globalization 差异化策略不会立即生效到资源上,将在随后下一次变更或资源更新的时生效。ApplyNow 表示即时生效,定义的差异化策略将立即匹配到应用对象中,下发到对应的目标集群。

Override 类型

支持 MergePatchJSONPatch 两种格式,用于描述指定资源配置的变更。两种格式的定义如下:Json Patch JSON Patch, RFC 6902。Merge Patch JSON Merge Patch, RFC 7386。更多关于两种格式的比较请参见 JSON Patch and JSON Merge Patch。

配置说明

方式1: 使用 YAML

所有通过分布式应用管理分发的应用资源都可以配置差异化策略,支持新建、更新和删除差异化策略。
差异化策略支持通过 YAML 方式配置,单击新建差异化策略更新差异化策略进入策略编辑页面,编辑 Localization 策略。例如:

apiVersion: apps.clusternet.io/v1alpha1kind: Localizationmetadata:  name: my-nginx-overrides  namespace: clusternet-b5vgvspec:  priority: 300  feed:    apiVersion: apps/v1    kind: Deployment    name: my-nginx    namespace: nginx-test  overridePolicy: ApplyLater  overrides:    - name: update-image-version      type: JSONPatch      value: |-              - path: "/spec/template/spec/containers/0/image"                value: "nginx:1.14.2"                 op: replace

其中,spec.feed 字段描述该差异化策略所关联的应用资源。spec.overridePolicy 字段指定 Override 策略是 ApplyLater 还是 ApplyNow。spec.overrides 定义要处理的差异化配置,支持 MergePatchJSONPatch 两种格式,在 value 字段处填写 Patch。上面差异化策略 YAML 配置,表示为 Deployment bb 应用资源进行差异化配置,使用 JSONPatch 格式补丁,将该应用的 /spec/replicas 副本数设置为1。该差异化策略的优先级为300,如果有优先级更高的策略同样修改了该应用 /spec/replicas 配置,当前策略修改将会被覆盖。说明spec.overrides.value 字段内容遵循 MergePatchJSONPatch 标准,用户可利用相应工具帮助生成补丁内容,例如 JSON Patch Builder Online。

方式2: 使用控制台

使用控制台可视化页面配置差异化策略,将在后续版本推出,敬请期待。

相关资源

差异化策略基于开源多集群应用治理 Clusternet 项目实现,更多信息请访问开源项目网站。
官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/146847.html

(0)
上一篇 2023年12月9日 下午12:16
下一篇 2023年12月9日 下午12:16
详情页2

相关推荐

  • 腾讯云容器服务预留券使用说明同尘科技

    使用说明 预留券在生效时间内,尽量匹配并抵扣每个容器(Serverless 集群 Pod 或容器实例)结算周期产生的容器计算费用。 生效时间 预留券购买即时生效,并会抵扣当前结算周期账单。购买月数个自然月之后日期的23点59分59秒到期,到期后停止抵扣行为。n例如,在4月15日16点购买一个月预留券,则在5月15日23点59分59秒到期。 容器结算周期 容器…

    2023年12月9日
  • 腾讯云对象存储文档转码

    简介 本文档提供关于文档预览的相关的 API 概览以及 SDK 示例代码。 API 操作名 操作描述 CreateDocProcessJobs 提交文档预览任务 用于提交一个文档预览任务 DescribeDocProcessJob 查询文档预览任务 查询指定的文档预览任务 DescribeDocProcessJobs 拉取文档预览任务 拉取符合条…

    腾讯云 2023年12月9日
  • 腾讯云对象存储Ranger 介绍说明

    背景 COS Ranger Service 是腾讯云存算分离推出的大数据权限管控方案,具有细粒度、兼容 Hadoop Ranger 以及可插拔的优势,便于用户统一管理大数据组件和云端托管存储权限,具体架构方案及说明可查看 COS Ranger 权限体系解决方案。COS Ranger Service 一经推出后便得到广泛使用,然而由于客户业务众多,背景复杂,产…

    2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云对象存储提交任务

    功能描述 提交一个截帧任务。说明:支持的视频编码格式:H264、H265、VP8、VP9、AV1等。支持的视频封装格式:avi、mp4、mkv、mov、webm、flv、hls、ts、dash、3GP等。视频截帧任务并发任务默认限制为10QPS。 授权说明 授权策略中 action 设置为 ci:CreateMediaJobs 。查看所有 action。 …

    腾讯云 2023年12月9日
  • 腾讯云对象存储开通 AI 内容识别(异步)服务

    功能描述 本接口用于开通AI 内容识别(异步)服务并生成队列。 授权说明 授权策略中 action 设置为 ci:CreateAiProcessBucket 。查看所有 action。 服务开通 使用该功能需提前开通数据万象,并绑定存储桶。详情请参见 绑定存储桶。 使用限制 使用该接口时,请先确认相关限制条件。详情请参见 使用限制。 请求 请求示例 POS…

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。