apiVersion: apps.kubeone.alibaba-inc.com/v1kind: TolerationInjectormetadata: annotations: kubeone.ali/workload-api-version: apps.kruise.io/v1alpha1 # 应用数据 kubeone.ali/workload-kind: StatefulSet # 应用数据 ...#用户数据spec: parameters: sigma.ali/is-ecs: "true" sigma.ali/resource-pool: "example"
该CR表示用户希望将pod布置在打上污点标sigma.ali/is-ecs: "true"和sigma.ali/resource-pool: "example"的node上。
toleration trait产生的YAML片段
toleration trait根据trait CR中用户输入转化成YAML片段,然后将该YAML片段直接patch到workload上,完成该运维操作。
# YAML片段apiVersion: apps.kruise.io/v1alpha1kind: StatefulSetmetadata:name: sts-examplenamespace: ns-examplespec:template:spec:tolerations:- effect: NoSchedulekey: sigma.ali/resource-pooloperator: Equalvalue: example- effect: NoSchedulekey: sigma.ali/is-ecsoperator: Equalvalue: 'true'
apiVersion: core.oam.dev/v1alpha1kind: TraitDefinitionmetadata: name: etcd-secret-injector namespace: ns-examplespec: ... params: - name: END_POINT type: "string" description: "this is a description" default: "https://127.0.0.1" required: false tasks: - name: etcd-http kind: http # shell / job / http / func spec: script: '{{.Params.END_POINT}}/etcd' outputs: - name: TOKEN default: "default token" - name: KEY default: "default key" template: | apiVersion: v1 kind: secret metadata: name: {{ .AppName }} namespace: {{ .Namespace }} data: token: {{ .Outputs.TOKEN | b64dec }} key: {{ .Outputs.KEY | b64dec}}
| 对比开发 | Operator开发 | 配置化开发 |
|---|---|---|
开发成本 |
需掌握Operator开发知识 |
仅需知道YAML编写知识 |
开发周期 |
前后需几天时间 |
去Operator,仅编写YAML,半个小时左右 |
运维成本 |
每个trait需单独部署与稳定性保障 |
当成功地将大部分trait收敛成YAML配置,仅需部署维护一个Universal trait Operator,大大节省了运维成本 |
资源配置 |
每个trait都是单独的Operator应用,最低配置1核1G,且需多副本部署 |
无资源消耗 |
标准化 |
仅输入输出标准化 |
不仅输入输出标准化,而且使开发过程标准化,能很好的避免因代码不规范引起的bug |
拓展性 |
无 |
多类型task支持用户自定义逻辑,有很好的切面拓展能力 |
稳定性 |
一次部署容易引发多次pod重建 |
避免多次重建 |
资源配置化开发去Operator,提供了通用trait的开发输入输出标准化管理,开发者仅需配置YAML,极大缩短了开发周期,同时将trait 应用收敛,降低运维成本和资源消耗,同时避免了多次重建保障了生产的稳定性。
本次课程涵盖最新版本的Spring Cloud 微服务架构体系, 微服务架构模式、算法与典型场景、框架、优缺点,Spring Cloud 2020的重大变化、扩展Netflix、Spring Cloud Alibaba阿里巴巴体系,Dubbo等架构选型对比,淘宝微服务架构案例。
重点讲解:服务治理、注册发现、熔断限流、网关代理、链路追踪、安全监控等核心问题,循序渐进,概念为辅、实战为主,涵盖经典面试题。让您成为合格的微服务架构师。点击阅读原文查看详情!