阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践
Kubernetes 集群运维实践 关注“阿里巴巴云原生”公众号 回复 1124 获取 PPT自我介绍 •嵌入式、微服务框架 •2017 年加入阿里巴巴,负责阿 里集团数十万集群节点规模化运 维管理系统的研发工作 •2019 年参与集团全面上云项目 并经历了整体架构的云原生升级 演进,稳定支撑双11峰值流量分享内容 • 阿里全站上云 • 神龙 (what & why) • 规模化集群运维实践 CI/CD k8s extended Service Mesh 安全容器 运维管控 在离线混部 额度管控 监控体系 多租隔离 上层业务 集 团 业 务运维挑战 • 规模大 • 集群规模大 (数十个集群),节点数量多 (数十万节点) • 业务线多、应用数量多、应用类型复杂 (有状态、无状态、多语言) • 基础环境复杂 • 大规模 在线、离线 混部 (运维打通) • 装机模板、OS版本0 码力 | 21 页 | 7.81 MB | 5 月前3Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展
26 Service Mesh Meetup #7 成都站什么是Service Mesh?- by Willian Morgan(Buoyant) A service mesh is a dedicated infrastructure layer for handling service-to-service communication. It’s responsible for the 包括:避免不同功能的网络之间的 相互影响; 网络设计冗余,增强系统网络的健壮性; 为不同的网络提供不同的 SLA ;通过网络隔离提高安全性;通过叠加多个网络增加系统带宽 上图中的Kubernets集群使用了Knitter网络插件,部署了四个网络平面产品化增强-支持多网络平面 Istio1.0中不支持多网络平面,当服务地址和Envoy地址分别位于两个网络上时,会导致转发请求时 发生死循环,导致socket耗尽,Envoy不停重启。 Service可以享受流量管理,可见性,策略控制等Istio承诺的益处 l 成本 Ø Istio不理解TCP上的应用层协议,其对TCP Service的缺省处理会影响应用层逻 辑 -例子:Envoy的LB算法不能处理应用后端集群的Sharding Ø Istio中和HTTP Service 端口冲突会的TCP Service请求会被Envoy直接丢弃 - 要求对应用进行改造,避免端口冲突 建议 Ø 将TCP纳入Service0 码力 | 27 页 | 11.99 MB | 5 月前3TiDB中文技术文档
TiDB 运维文档 软硬件环境需求 部署集群 Ansible 部署方案(强烈推荐) 离线 Ansible 部署方案 Docker 部署方案 Docker Compose 部署方案 跨机房部署方案 配置集群 参数解释 TiDB 配置项解释 开启 TLS 验证 生成自签名证书 监控集群 整体监控框架概述 重要监控指标详解 组件状态 API & 监控 扩容缩容 集群扩容缩容方案 使用 Ansible 扩容缩容 软硬件环境需求 部署集群 Ansible 部署方案(强烈推荐) 离线 Ansible 部署方案 Docker 部署方案 Docker Compose 部署方案 跨机房部署方案 配置集群 参数解释 README - 8 - 本文档使用 书栈(BookStack.CN) 构建 TiDB 配置项解释 使用 Ansible 变更组件配置 开启 TLS 验证 生成自签名证书 监控集群 整体监控框架概述 重要监控指标详解 重要监控指标详解 组件状态 API & 监控 扩容缩容 集群扩容缩容方案 使用 Ansible 扩容缩容 升级 升级组件版本 TiDB 2.0 升级操作指南 性能调优 备份与迁移 备份与恢复 数据迁移 数据迁移概述 全量导入 增量导入 故障诊断 TiDB 周边工具 Syncer Loader TiDB-Binlog PD Control TiKV Control TiDB Controller TiSpark0 码力 | 444 页 | 4.89 MB | 5 月前3Curve元数据节点高可用
MDS使用election模块的功能进行选主 4.1 Curve中MDS的选举过程 4.2 图示说明选举流程 4.2.1 正常流程 4.2.2 异常情况1:MDS1退出,可以正常处理 4.2.3 异常情况2:Etcd集群的leader发生重新选举,MDS1未受影响,可以正常处理 4.2.4 异常情况3:Etcd的leader发生重新选举,MDS1受到影响退出,不一定可以正常处理。 4.2.4.1 LeaseTIme MDS1、MDS2、MDS3的租约全部过期 4.2.4.4 总结 4.2.5 异常情况四: Etcd集群与MDS1(当前leader)出现网络分区 4.2.5.1 事件一先发生 4.2.5.2 事件二先发生 4.2.6 异常情况4:Etcd集群的follower节点异常 4.2.7 各情况汇总 1. 需求 mds是元数据节点,负责空间分配,集群状态监控,集群节点间的资源均衡等,mds故障可能会导致client端无法写入。 需要解决的问题就是:如何确定主备节点。 2. 技术选型 提供配置共享和服务发现的系统比较多,其中最为大家熟知的就是zookeeper和etcd, 考虑当前系统中mds有两个外部依赖模块,一是mysql, 用于存储集群拓扑的相关信息;二是etcd,用于存储文件的元数据信息。而etcd可以用于实现mds高可用,没必要引入其他组件。 使用etcd实现元数据节点的leader主要依赖于它的两个核心机制: TTL和CAS。TTL(time0 码力 | 30 页 | 2.42 MB | 5 月前3金融级云原生 PaaS 探索与实践
金融级云原生 PaaS 探索与实践 王成昌(晙曦)蚂蚁金服技术专家2/20 一、业务背景 二、多集群管控 三、发布运维体系 目 录 contents 目录3/20 一、业务背景 业务背景4/20 业务背景 业务架构 演进 • 容量 应用|数据库|机房 • 容灾 机房|地域5/20 业务背景 业务架构 单元化 • 高可用 • 一致性 • 可扩展 • 机房级和地域级容灾能力; 业务背景业务背景 CAFÉ API Server Aggregation Layer 异地多活架构 同城双活架构 K8S API Server 基础发布运维 跨集群应用 资源管理 IaaS层(Aliyun/OpenStack/VMWare/Bare Metal) PaaS 核心层 核 心 流 程 两地三中心架构 跨机房和地域统一应用运维 容器运行时 (SLB/ALB) 容 器 层 跨集群管理 单元化能力 容器镜像管理 批次发布 原生资源管理 Pod伸缩管理 集群伸缩管理 变更管控 配额管理 运维原子操作 精细化调度 接入层流程调拨 应用层流量调拨 跨集群状态 分发/汇聚 数据层流量调拨 压测/灰度 流量管理 单元化 元数据管理 弹性流量管理 跨集群发布策略 多集群管理 跨集群网络 跨集群镜像管理 蓝绿发布 灰度分组发布0 码力 | 20 页 | 1.71 MB | 5 月前3分布式NewSQL数据库TiDB
TiDB Serverless 计费 计费 TiDB TiDB Serverless 回收与删除 回收与删除 通知渠道 TiDB 删除 TiDB Serverless 删除 实例 实例 创建TiDB集群 查看TiDB实例列表 查看TiDB实例详情 删除TiDB实例 ⽤户 ⽤户 添加⽤⼾及权限 重置⽤⼾密码 删除⾮root⽤⼾ ⽬录 分布式NewSQL数据库 TiDB Copyright © 2012-2021 MySQL 协议,⽀持⽔平伸缩,具备强⼀致性和⾼可⽤性。 UCloud 基于PingCAP的TiDB,实现TiDB在公有云的产品化,给⽤⼾提供两种形态产品。TiDB:按⽤⼾指定节点规格⼀键部署,灵活集群管理,接⼊⽅便的⾼性能数据;TiDB Serverless: ⽆需关⼼底层资源池、按需使⽤、接⼊⽅便的 Serverless ⾼性能数据库服务。 什么是TiDB 分布式NewSQL数据库 TiDB Copyright 2012-2021 UCloud 优刻得 11/120 产品优势 产品优势 ⾼度兼容 ⾼度兼容 MySQL ⼤多数情况下,⽆需修改代码即可从 MySQL 轻松迁移⾄ TiDB,分库分表后的 MySQL 集群亦可通过 TiDB ⼯具进⾏实时迁移。 动态扩展 动态扩展 通过简单地增加新节点即可实现 TiDB 的⽔平扩展,按需扩展吞吐或存储,轻松应对⾼并发、海量数据场景。 分布式事务 分布式事务 TiDB 100%0 码力 | 120 页 | 7.42 MB | 5 月前324-云原生中间件之道-高磊
结构化/半结构化数据,支持高吞吐量实时入库及数据实时查询,实现数据资源 智慧化运营。 优势 低成本存储: 支持PB级数据存储 高并发: 千亿数据实时分析 数据源 设备监控 传感器 轨迹数据 车联网 业务集群 物联网套件写入 云原生 DB 轨迹查 询|实时 监测 MR 云原 生DB 统计 分析 物联网数据存储和查询 将车联网数据、设备监控数据、客流分析管控数据、交通数据、传感器数据实时 写入HBase中 度融合,提供适配云原生应用的各种能力。 从实现上,可以认为 Rook 是一个提供了 Ceph 集群管理能力的 Operator。其使用 CRD 方式来对 Ceph、Minio 等存储资源进 行部署和管理。 Ceph文件存储 MiniO对象存储 • Operator:实现自动启动存储集群,并监控存储守护进程,并确保存储 集群的健康; • Agent:在每个存储节点上运行,并部署一个 CSI / FlexVolume 将 Ceph 存储服务作为 Kubernetes 的 一个服务进行部署,MON、OSD、MGR 守 护进程会以 pod 的形式在 Kubernetes 进行 部署,而 rook 核心组件对 ceph 集群进行 运维管理操作。 Rook 通过 ceph 可以对外提供完备的存储 能力,支持对象、块、文件存储服务,让 你通过一套系统实现对多种存储服务的需 求。同时 rook 默认部署云原生存储接口 的实现,通过0 码力 | 22 页 | 4.39 MB | 5 月前316-Nocalhost重新定义云原生开发环境-王炜
署和运维环节。 但我们忽略了⼀个关键节点:开发阶段 微服务应⽤使⽤ Kubernetes ⼯作负载封装后,解决了开发过程应⽤的快速启动问题,开发⼈员只需要在本地 安装单节点的 Kubernetes 集群,例如 Minikube、Kind 等即可快速启动微服务应⽤。 但对于开发⼈员来说,原来单体应⽤的开发体验变得不复存在,由于应⽤很难在 Docker 容器之外运⾏,所以 每次代码修改,都需要经历以下步骤: 体应⽤原始⼜简单。 Nocalhost 重新梳理了开发过程所涉及到的⻆⾊和资源: 团队管理⼈员 Nocalhost - 重新定义云原⽣开发环境.md 2021/1/20 3 / 7 开发者 应⽤ 集群 开发空间 通过对这些⻆⾊和资源的重新整合,Nocalhost 重新定义了云原⽣开发环境,并带来了全新的云原⽣开发体 验。 为了快速理解 Nocalhost 重新定义的云原⽣开发环境,让我们⾸先站在不同的⻆⾊来看 IDE 编辑器和开发环境联动,⽀持远程调试 图形化的 IDE 插件,⽆需熟悉 kubectl 命令即可完成云原⽣环境下的开发 管理⼈员: 统⼀管理微服务应⽤包,降低应⽤的维护成本 统⼀管理开发环境和集群,提⾼集群资源的利⽤率,同时具备隔离特性 为新员⼯快速分配开发环境,分配环境后⽴刻能进⾏应⽤开发 弹性的开发环境资源,⽤完销毁,降低开发成本 以 Nocalhost 内置的 Demo:Bookinfo 为例,开发0 码力 | 7 页 | 7.20 MB | 5 月前313 Istio 流量管理原理与协议扩展 赵化冰
Layer Service 1 Istio 流量管理 – 概览 • 控制面下发流量规则: Pilot • 数据面标准协议:xDS • 集群内Pod流量出入: Sidecar Proxy • 集群外部流量入口:Ingress Gateway • 集群外部流量出口:Egress Gateway(可选,在一个集中点对外部访问进行控制) • Service discovery • Load balancing 可以绑定到端口上直接对外服务,也可以不绑 定到端口上,而是接收其他 listener 转发的请求。 • Cluster:集群是指 Envoy 连接的一组上游主机,集群中的主机是对等的,对外提供相 同的服务,组成了一个可以提供负载均衡和高可用的服务集群。Envoy 通过负载均衡 策略决定将请求路由到哪个集群成员。 xDS 协议的主要概念: • Listener Discovery Service (LDS) : 监听器发现服务。 监听器发现服务。 • Route Discovery Service(RDS) : 路由发现服务。 • Cluster Discovery Service (CDS): 集群发现服务。 • Endpoint Discovery Service (EDS) :集群中的服务实例发现服务。 • Secret Discovery Service (SDS) :证书发现服务。 • Aggregated Discovery Service(ADS):0 码力 | 20 页 | 11.31 MB | 5 月前3Curve核心组件之mds – 网易数帆
• 元数据节点 MDS 管理元数据信息 收集集群状态信息,自动调度 • 数据节点 Chunkserver 数据存储 副本一致性 • 客户端 Client 对元数据增删改查 对数据增删改查 • 快照克隆服务器MDS各个组件 MDS是中心节点,负责元数据管理、集群状态收集与调度。MDS包含以下几个部分: • Topology: 管理集群的 topo 元数据信息。 • Nameserver: 通过结合curve的用户系统,LogicalPool可以通过配置限定特定user使用的方式,实现多个租户数据物理 隔离(待开发)。TOPOLOGY Topology的实际例子,右侧是topo配置文件: 集群有一个物理pool,由3个zone组成,每个zone有1台server。 在物理pool上,还创建了一个逻辑pool,逻辑pool使用3个zone,采用 3副本,有100个copyset。 cluster 信息更新拓扑 中的信息。 • ConfGenerator: 将当前上报的 copyset 信息提交给调度模块, 获取该 copyset 上可能需要执行的任务。 • HealthyChecker: 检查集群中的 chunkserver 在当前时间点距 离上一次心跳的时间,根据这个时间差更新chunkserver状态。 Chunkserver端:chunkserver 端的心跳由两个部分组成: •0 码力 | 23 页 | 1.74 MB | 5 月前3
共 110 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11