Best practices for building Kubernetes Operators
Best practices for building Kubernetes Operators Patryk WasielewskiAbout me ● DevOps Consultant at Amazon Web Services (AWS) ● 6 years professional experience as DevOps / SRE / Developer ● Cloud-native json-patch/merge-patch support ○ Finalizers ○ Built-in Authz/AuthnControllers https://able8.medium.com/kubernetes-controllers-overview-b6ec086c1fbControllers ● Controller tracks at least one resource type ● backup, failover, recovery, etc.), for a software running within the Kubernetes cluster, https://www.cncf.io/blog/2022/06/15/kubernetes-operators-what-are-they-some-examples/Framework - Kubebuilder/Operator-sdkCapability0 码力 | 36 页 | 2.19 MB | 5 月前3Kubernetes容器应用基于Istio的灰度发布实践
1 Kubernetes容器应用基于Istio的灰度发布实践 张超盟 @ Huawei Cloud BU 2018.08.25 Service Mesh Meetup #3 深圳站2 Agenda • Istio & Kubernetes • Istio & Kubernetes上的灰度发布3 An open platform to connect, manage, and secure 通信基础 服务发现 负载均衡 熔断容错 动态路由 … for (封装++) { 应用侵入--; 治理位置--; }6 微服务角度看Istio: 服务网格 服务网格控制面7 从基础设施(Kubernetes)看Istio: 服务访问 Node svca svcc svcb.n s svcc.ns svcb svcd svce svce.n s svcd.n s svcd.n Backend Pod2 Labels:app=svcb Port:9379 svca8 基础设施(Kubernetes)看Istio: 能力增强 服务部署运 维 服务治理 • 调用链追踪 • 动态路由 • 熔断限流 • 负载均衡 • 服务发现 • 扩缩容 • 运维 • 部署 Kubernetes Istio9 Istio治理的不只是微服务,只要有访问的服务,都可以被治理。10 Istio关键能力0 码力 | 34 页 | 2.64 MB | 5 月前3在Kubernetes上部署高可用的Service Mesh监控
mesh Old-school monitoringPrometheus + Kubernetes ● A time series based monitoring system. ● Borgmon for mere mortals. ● Seamless integration with kubernetes at infrastructure and app level. ● Key caching is necessary.Deploy on kubernetes - Prom + Sidecar ● https://github.com/improbable-eng/thanos/tree/master/ kube/manifests ● Run as statefulset in a kubernetes cluster. ● Sidecar and prometheus ● Sidecar exposes 10900 for gossip between thanos componentsDeploy on kubernetes - Querier ● Run as deployment in a kubernetes cluster. ● Stateless, scale as you like. ● Exposes 9090 for prometheus-like0 码力 | 35 页 | 2.98 MB | 5 月前3深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统
深入 Kubernetes 的“无人区” —— 蚂蚁金服双十一的调度系统 曹寅2/19 一、蚂蚁金服的Kubernetes现状 二、双十一Kubernetes实践 三、展望未来迎接挑战 目 录 contents 目录3/19 一、蚂蚁金服的Kubernetes现状 Part 1:4/19 发展历程与落地规模 Part 1:蚂蚁金服的Kubernetes现状 平台研发 灰度验证 规模化落地 2018年下半年开始投 入 Kubernetes 及其配 套系统研发 2019年初于生产环境 开始灰度验证,对部分 应用做平台迁移 2019年4月完成云化环境 适配,蚂蚁金服云上基础 设施全部采用 Kubernetes 支撑618 2019年7月到双十一前完成 全站 Kubernetes 落地,超过 90% 的资源通过 Kubernetes 分配,核心链路100%落地支撑 大促。5/19 大促。5/19 大促规模 Part 1:蚂蚁金服的Kubernetes现状 数万台 服务器和ECS 超一万 单集群规模 90%+ 应用服务 数十万 应用 Pods业务 6/19 统一资源调度架构 Part 1:蚂蚁金服的Kubernetes现状 非云 资源 云化 资源 基础 服务 蚂蚁 k8s 核心 CRI Kubernetes API Server 极速交付 分时复用0 码力 | 19 页 | 2.18 MB | 5 月前3阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践
周 涛 (广侯) 阿里巴巴 云原生应用平台 技术专家 阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践 关注“阿里巴巴云原生”公众号 回复 1124 获取 PPT自我介绍 •嵌入式、微服务框架 •2017 年加入阿里巴巴,负责阿 里集团数十万集群节点规模化运 维管理系统的研发工作 •2019 年参与集团全面上云项目 并经历了整体架构的云原生升级 演进,稳定支撑双11峰值流量分享内容0 码力 | 21 页 | 7.81 MB | 5 月前302 TiDB Operator 架构与实现 付业成
& Implemention Presented by Yecheng Fu (@cofyc) PingCAP.com Agenda ● TiDB Operator 简介 ● 扩展 Kubernetes 的几种方式 ● TiDB Operator 实现 TiDB Operator 是什么 PingCAP.com Cloud Native Era: Portable, Scalable Operator TiDB PingCAP.com Kubernetes Pattern - Declarative Model - 用户描述自己的期望,提交给 Kubernetes API Server - Kubernetes 根据用户的期望以及当前的状态,协调各方达成用户的期望 PingCAP.com - Kubernetes has pod, deployment, statefulset statefulset, etc. - But it does not know how to operate a TiDB cluster... Kubernetes Pattern - Declarative Model PingCAP.com - Kubernetes has pod, deployment, statefulset, etc. - But it does not know how to0 码力 | 47 页 | 1.73 MB | 6 月前3蚂蚁金服Service Mesh渐进式迁移方案
Mesh(带控制平面,如Istio) • Kubernetes • 微服务 ü 现实中有很多挑战 • 还有很多应用没有实现微服务化 • 还有很多应用没有运行在kubernetes之上 • Istio目前还不够稳定,也无法原生支持我们的规模 • 现有系统中的众多应用不可能一夜之间全部迁移 ü 最重要的:平滑迁移 • 微服务 + Service Mesh + Kubernetes 是目标 • 但是如何 Service Mesh演进路线 3 2 实现平滑迁移的关键 3 4 DNS寻址方案的后续规划 5 总结 DNS寻址方案的演进DNS寻址方案的演进路线 SOFAMesh Istio Kubernetes SOASOA时代的寻址:服务发现和服务注册 Interface2 Interface1 Interface3 SOA架构:单进程多接口 服务注册中心 注册interface3 (Interface2) ctx.getBean("interface2"); interface2.doSomething(); 2. 发起调用(请求报文中包含要调用的接口名和函数名) 按接口查找Kubernetes的DNS寻址 userservice pod DNS userservice pod userservice pod 1. 服务部署 • ServiceType=ClusterIP0 码力 | 40 页 | 11.13 MB | 5 月前3王天宜 基于 TiDB 的云原生数据库实践
基于 TiDB 的云原生数据库实践 演讲人:王天宜 PingCAP 云 原 生 社 区 M e e t u p 第 四 期 成 都 站 目录 为什么云原生数据库要拥抱 Kubernetes 什么是云原生数据库 TiDB 在 AWS 上的最佳实践 1 CONTENTS 2 3 一、什么是云原生数据库 什么是云原生 2021/07/03 Cloud + Native 2021/07/03 二、为何拥抱 Kubernetes Kubernetes 发展史 2021/07/03 初探 Database × Kubernetes 2021/07/03 初探 Database × Kubernetes 2021/07/03 初探 Database × Kubernetes 2021/07/03 TiDB 要以什么样的姿态拥抱 要以什么样的姿态拥抱 Kubernetes 2021/07/03 TiDB 要以什么样的姿态拥抱 Kubernetes 2021/07/03 TiDB 要以什么样的姿态拥抱 Kubernetes 2021/07/03 TiDB 要以什么样的姿态拥抱 Kubernetes 2021/07/03 TiDB 要以什么样的姿态拥抱 Kubernetes 2021/07/030 码力 | 31 页 | 3.14 MB | 6 月前3Service Mesh结合容器云平台的思考和实践
9年的工作经验和5年的云计算领域工作经验,带领团 队完成公司第一代基于Kubernetes的云平台开发和第 二代基于Kubernetes的DevOps云平台开发 来自于浙江大学SEL实验室目录 CONTENTS Kubernetes平台下的微服务演进 Pilot核心功能解读 Pilot-Agent核心流程解读Kubernetes平台下的微服务演进当我们在讨论微服务的时候我们在讨论什么? • 解决如何微服务的问题 服务注册和发现 致富问题 • 认证和授权 • 智能路由 • 流量管理 • 服务降级 • … • 微服务拆分原则 • 业务API设计 • 数据一致性保证 • 可扩展性考虑 • …Kubernetes对于微服务的支撑 功能列表 详情 快速资源分配 容器编排和调度 服务部署&弹性伸缩 Deployment 服务注册&服务发现 Service概念和分布式DNS API网关 简单路由功能 Service 2 Ribbon 注册 业务服务 配置中心 启动获取 Monitor Turbine K8S流量 SC流量 同集群调用微服务 Spring Cloud管理平台基于Kubernetes的Spring Cloud实现 Devops: Experience Auto Scaling & Self Healing Resilience & Fault Tolerance0 码力 | 28 页 | 3.09 MB | 5 月前3SOFAMesh的通用协议扩展
…SERVICE MESH 落地中的问题常见的 MESH 落地方案 在非 KUBERNETES 环境部署 ISTIO 把 KUBERNETES 当作一个更好用的虚拟化方案 KUBERNETES NATIVE 化微服务 PLATFORM ADAPTER 自己做控制平面KUBERNETES NATIVE 微服务 • 使用 Kubernetes 作为注册中心 • Service • Endpoint • • Pod • 使用 DNS 寻址 • 使用 iptables/ebpf 透明地路由所有网络流量 • 服务治理规则,服务,实例和配置都是 Kubernetes 资源 • 使用 Controller Pattern 通过 CRD 扩展新的能力 • …MESH 落地碰到的问题 • 客户端服务发现与负载均衡无法与 ISTIO 一起工作 • ENVOY 不支持微服务使用的通信协议 • RPC 服务使用的接口,方法,参数语义无法匹配 DUBBO • 开发 DUBBO 服务的 XDS 配置下发 • 开发 DUBBO 服务的路由规则 XDS 适配 • 开发 DUBBO 协议支持SOFA MESH 的统一解决方案 • 采用 Kubernetes Native 方式落地微服务应用 • 使用 INTERFACE 作为 DNS 来寻址服务 • 开发一个通用协议处理框架 • 避免为不同的微服务框架修改 PILOT 代码 • 通过插件的方式按需支持新的协议0 码力 | 28 页 | 4.73 MB | 5 月前3
共 45 条
- 1
- 2
- 3
- 4
- 5