Operator Pattern 用 Go 扩展 Kubernetes 的最佳实践operator 的首选 Operator Pattern 是官方定义的标准扩 展机制,是 K8s Native Application; Operator = CRD + control loop, i.e, Declaretive API + Automation; kubebuilder + controller-runtime + helm Operator Capability Controller-runtime 的 Reconcile 过程是一个 EDA 模型,当该 stale 对象的更新到达 cache 时,controller-runtime 会发送一个事件(Event)给到 owner controller(也就是我们的 cluster controller)。这时该对象处于 latest 状态, 根据表格,Plan Action执行后符合预期。对于其它已经处于 Watches(object client.Object, eventhandler handler.EventHandler, opts ...WatchesOption) *Builder Reconcile Loop(Objects Generation) // SetControllerReference sets owner as a Controller OwnerReference on controlled0 码力 | 21 页 | 3.06 MB | 9 月前3
全球架构师峰会2019北京/云原生/阿里巴巴 Kubernetes 应用管理实践中的经验与教训&mdashZookeeper 该用 哪种K8s Workload 接入? 你恐怕得写个 Operator…… Operator是啥? CRD Controller Informer Reflector Event Handler Loop … 我们业务压力大. 一定要学这些么…… 那好吧, 我们帮你写…. 业务方运维 K8s 团队 运维如何上手K8s的扩展能力? 举例:CronHPA • 运维同学怎么知道这个扩展能力怎么用?0 码力 | 26 页 | 6.91 MB | 1 年前3
绕过conntrack,使用eBPF增强 IPVS优化K8s网络性能from eBPF • No loop support in eBPF verifier (Linux 4.14) • #param unroll • Size limitation of BPF program <= 4096 • Move SNAT allocate port loop into IPVS kernel module • Bounded loop support in Linux Srcport=x Udp for AAAA Srcport=x Udp for A Srcport=x DROP • Solution • In eBPF code, add a loop to wrap port alloc and insert. • If insert fails, it will retry alloc.0 码力 | 24 页 | 1.90 MB | 1 年前3
Model and Operate Datacenter by Kubernetes at eBay (提交版)Database Frontend VM Kubernetes plays magic api etcd kind: metadata: spec: control loop control loop control loop container VIP volume W I S B : W h a t i t s h o u l d b e Converge &0 码力 | 25 页 | 3.60 MB | 1 年前3
Kubernetes日志平台建设最佳实践-元乙•���� •��� • ������� • ����� • ���� • ������ • �� • ���� • ��� • ���/� • ������ �� �� Stdout �� Event Journal IoT ��� 100W * 1M = 1TB 100W * 1% = 10000� SAAS ������ ����� LogReduce �������� •���: Service / Analytics �� Flink Storm ����������� Audit Ingress Mesh Event HPA Kubernetes������ ��� ���� Mesh ���� Stdout �� Event … DaemonSet Sidecar Appender Journal ������� �� ���� ��� ���� ����0 码力 | 30 页 | 53.00 MB | 1 年前3
在大规模Kubernetes集群上实现高SLO的方法ContainerCrashLoopBackOff, FailedPostStartHook, Unhealthy… Trace system Increase of SLO Data Collect Audit log Event The unhealthy node Monitoring Isolation Recover Degrade Data Analysis Failures/Machine Failures/Reason node: Detect the unhealthy machines timely and fix problems automatically。 The infrastructure Log Event End User Storage Analysis Platform Trace Report Weakness The trace system Data Collect: Collect alert cluster admins to process dirty data manually. Unhealthy node SLO Trace NPD Metrics Event Source …… runtimeErrorCo ntoller failedPodContr oller Detector Strategy Unhealthy node list0 码力 | 11 页 | 4.01 MB | 1 年前3
Go Programming Pattern in Kubernetes PhilosophyObject Oriented Programming Core of API “OO” 1.API objects stores in etcd 2.Control loops (Sync Loop) to reconcile API objects Example kubelet SyncLoop kubelet SyncLoop proxy proxy 1 Pod created0 码力 | 29 页 | 2.12 MB | 1 年前3
Kubernetes Native DevOps Practicepayload CI/CD Examples - Gitlab/Harbor/Jira Integration Event payload can be passed to build task if needed gitlab new merge request event git log --pretty=oneline c5eff7ea..3211901e 3211901e9b0 码力 | 21 页 | 6.39 MB | 1 年前3
⾸云容器产品Kubernetes操作指南和停⽌前处理。具体参⻅ https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle- event/。 启动执⾏:为容器设置预启动命令和参数。 启动后处理:为容器设置启动后的命令。 停⽌前处理:为容器设置预结束命令。 数据卷:⽀持配置本地存储和云存储。 本地存储:⽀持主机⽬录(hos 和停⽌前处理。具体参⻅ https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle- event/。 启动执⾏:为容器设置预启动命令和参数。 启动后处理:为容器设置启动后的命令。 停⽌前处理:为容器设置预结束命令。 数据卷:⽀持配置本地存储和云存储。 本地存储:⽀持主机⽬录(hos0 码力 | 94 页 | 9.98 MB | 1 年前3
从Mesos到Kubernetes故障自愈 StackStorm 监控 系统 发布 系统 日志 系统 访问 质量 其他 弹性 调度 域名 管理 主机 管理 发布 系统 其他 event trigger 小米运维公众号 THANKS 感谢观看0 码力 | 30 页 | 2.12 MB | 1 年前3
共 20 条
- 1
- 2













