京东基础架构部吕江昭:我如何在京东运营JDOS

2020-02-27 1046浏览

  • 1.我如何在京东运营JDOS 聊聊开源落地的那些事儿 吕江昭 京东基础架构部 软件开发工程师
  • 2.JDOS:京东数据中心基础设 施资源调度和应用管理一站式 平台
  • 3.我如何在京东运营JDOS——JDOS是什么? 资源调度:多种优化调度算法保障不同类型任务 合理使用资源,显著提升资源利用率 应用管理:提供一系列工具保障应用发布、高效 完成
  • 4.我如何在京东运营JDOS——JDOS是什么? 承载京东所有线上业务,容器数量达到百万级别
  • 5.也聊聊京东Kubernetes开源 落地的那些事儿
  • 6.我如何在京东运营JDOS——开源落地 选型 容器编排管理:Kubernetes 网络:neutron、ovs、自研BGP网络服务(skynet) 存储:LVM、自研容器分布式存储(ContainerFS) DNS:自研高性能DNS(ContainerDNS) LB:自研高性能LB(ContainerLB) 镜像中心:Harbor 日志:自研日志系统 监控:cAdvisor、Prometheus
  • 7.我如何在京东运营JDOS——开源落地 Kubernetes定制与优化 u Pod IP保持不变 u Group-controller(支持灰度发布、本地rebuild Pod) u Scheduler调度算法和性能优化 u Node-controller/endpoint-controller功能裁剪 u configMap支持静态挂载 u service支持更为灵活的set-based selector u 支持 reuse容器策略 u 支持 request 和 limit 的修改 u ……
  • 8.我如何在京东运营JDOS——开源落地 不仅仅是k8s
  • 9.大规模k8s集群的运营哲学
  • 10.我如何在京东运营JDOS—大规模k8s集群运营 大规模集群下的参数调优和配置 u 宿主机资源保留 u 心跳上报时间优化 u QPS限制 u max-request u Etcd配置自动压缩和较大的空间配额、定期去碎片化
  • 11.我如何在京东运营JDOS—大规模k8s集群运营 组件部署 u apiserver前加负载均衡 u controller和scheduler通过选举 u etcd存储拆分
  • 12.我如何在京东运营JDOS—大规模k8s集群运营 Node管理 通过一系列label管理node生命周期、属性和用途等 u jdos.jd.com/net.status u jdos.jd.com/image.status u jdos.jd.com/net.pod u jdos.jd.com/rack u jdos.jd.com/status u jdos.jd.com/zone u jdos.jd.com/disk.type u jdos.jd.com/cpu.model
  • 13.我如何在京东运营JDOS—大规模k8s集群运营 JDOS运营平台 信息展示中心 历史数据 应用数据 智能告警系统 配置中心 巡检系统 操作中心 数据库 Redis MySql TSDB 告警 中心 Cluster A Cluster B Cluster C
  • 14.我如何在京东运营JDOS—大规模k8s集群运营 JDOS运营平台
  • 15.我如何在京东运营JDOS—大规模k8s集群运营 JDOS运营平台
  • 16.我如何在京东运营JDOS—大规模k8s集群运营 JDOS运营平台
  • 17.我如何在京东运营JDOS—大规模k8s集群运营 JDOS知识图谱
  • 18.我如何在京东运营JDOS—大规模k8s集群运营 智能告警系统 NodeMonitor Agent NodeMonitor Agent NodeMonitor Agent NodeMonitor Agent 监控数据 机房关联分 析 kafka 机架关联分 析 应用关联分 析 服务器关联 分析 数据预处理 告警合并 TSDB 决策系统 实时计算 监控告警 告警通知
  • 19.我如何在京东运营JDOS—大规模k8s集群运营 巡检系统
  • 20.我如何在京东运营JDOS—大规模k8s集群运营 运维工具 u Ansible u serf u Kubernetes Connection Plugin(自研)
  • 21.我如何在京东运营JDOS—大规模k8s集群运营 其他小工具 u API日志分析工具:python+spark分析统计api请求的各维度信息 u Kubesql:将k8s中各种资源处理成关系数据库的表,通过sql语句 查询 u Event事件监听和告警
  • 22.经验分享:遇到的问题和解决 方法
  • 23.我如何在京东运营JDOS—经验分享 Etcd相关 uEtcd磁盘繁忙、tcp连接数过多 uEtcd后端存储经常满 u故障恢复(一台或多台节点不可用) u强制数据恢复、灾备 uEtcd raft bug(v3.0.17)->v3.2.13
  • 24.我如何在京东运营JDOS—经验分享 apiserver相关 ugrpc bug问题:同一资源的请求并发较高时触发,升级grpc 包和 etcd client包解决 u连接不均衡问题:kubelet上报心跳是tcp长连接
  • 25.我如何在京东运营JDOS—经验分享 Controller-manager相关 uEndpoint controller默认情况下会将NotReady节点上的所有Pod 从对应service endpoint中摘除,可能会导致严重故障 uNode controller由于各种原因判断节点NotReady,易误判,一旦 误判会导致节点上Pod被驱逐,引发故障
  • 26.我如何在京东运营JDOS—经验分享 Scheduler相关 u优化调度算法、性能,支持高并发创建Pod,大数据混部等特殊场 景 u通过调度算法优化计算资源配置和共享,实现数据中心整体资源利 用率大幅提升
  • 27.我如何在京东运营JDOS—经验分享 驱逐相关 u是否需要驱逐,根据实际情况 uHard evict
  • 28.我如何在京东运营JDOS—经验分享 内存超卖? u长尾效应 u可以尝试,密切关注,收益明显
  • 29.我如何在京东运营JDOS—经验分享 推动开源uhttps://github.com/tiglabs/
  • 30.谢谢