知乎K8S稳定性建设实践_第1页
知乎K8S稳定性建设实践_第2页
知乎K8S稳定性建设实践_第3页
知乎K8S稳定性建设实践_第4页
知乎K8S稳定性建设实践_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

・e•检CONFERENCECHINA云原生架构©2023年06月30・07月01日|切北京维景国际大酒店C2014.••第16届中国系统架构师大会§VSTEM"ARCHITECT数字转型架构演进ChinaUnix.区块链架构.-s>accsacc20-15.2隽-第十六届中国系架构师大会SYSTEMARCHITECTCONFERENCECHINA202S知乎K8S稳定性建设实践知乎-核心架构平台工程师-赵禹架构演进ChinaUntx个人介绍•知乎核心架构平台工程师,知乎k8s负责人。ARCHITECTCONFERENCECHINA2323•曾任职于好未来基础架构和融资自主创业。目前知乎负责k8s,及云原生建设相关工作。•多年Devops和云原生领域工作经历。理架构演进沙B2023:f168^

®ChinwUnocJJ目录2.K8S稳定性建设的背景和遇到的问题介绍知乎K8S稳定性建设的背景和遇到哪些需要解决的问题4.展望和收益III3.K8S稳定性建设阶段和案例介绍知乎K8S稳定性建设都经历了哪些阶段,做了哪些事?列举了部分1.发展历程与现状介绍知乎云原生的发展历程和云原生架构现状数字转型架构演进第十六届中国系统架构师大会SYSTEMARCHITECTCONFERENCECHINA202S数字转型架构演进第+六届中国系统架构师大会SYSTEMARCHITECTCONFERENCECHINA202SParti发展历程与现状知乎云原生的发展历程数字转型架构演进第+六届中国系统架构师大会SYSTEMARCHITECTCONFERENCECHINA202SHAProxy2016中Mesos2018—o—中HAProxyKubernetesHAProxyServiceMeshik2020中Kubernetes现在OI中KubernetesServiceMesh知乎云原生整体架构灰度/蓝绿发布分支联调配置管理应用层动态超卖CI/CD资源画像组件层基础组件任务计算ServiceMesh混部调度器混部agent二次调度多集群管理基础组件层OS层OS(openEuler)onUbuntuschedSACC数字转型架构演进AIstioClusterCronHPA节点伸缩调度、上;中国系统架构师大会ARCHITECTCONFERENCECHINA202S1^168.^

的ChinaUn或/\ApacheAPISIXGateway路由重写协议转换负載均衡限流熔断流量调度恢复发布KafkaPulsarTiDBRedisNodeManagerFlinkuniffleAlluxio服务发现故障注入负载均衡限流熔断流量镜像服务预热©事件中心vmagent监控组件Joba自愈组件RegistrySyncer镜像多活组件Dockerdocker知乎Kubernetes集群现状数字转型架构演进第十六届中国系统架构师大会SYSTEMARCHITECTCONFERENCECHINA202S总集群数:10+,主要分为基础组件集群、业务集群及训练、推理服务专用集群。业务集群负载:CPU全天利用率均值在40%左右。白天基本都在60%+资源概况:CPU核心40w+数字转型架构演进第+六届中国系统架构师大会SYSTEMARCHITECTCONFERENCECHINA202SPart2K8S稳定性建设的背景和遇到的问题k8s相关故障数字转型架构演进第+六届中国系统架构师大会SYSTEMARCHITECTCONFERENCECHINA202S第一次雪崩,是由于节点过大,当时节点在4500+,机器kube-proxywatch请求过多。挂掉一个节点后流量不均衡,不断打满apiserver内存,导致apiserver雪崩现象。第二次雪崩,由于某位同学所在机器有集群密钥。这位同学通过helm安装CNI,误导致集群雪朋。镜像仓库挂掉,恢复时长较长。影响部分生产业务。由故障暴露出知乎Kubernetes的问题第十六届中国系架构师大会SYSTEMARCHITECTCONFERENCECHINA202S集群没有兜底、容灾能力权限管理混乱无审计操作无法追溯紧急增加机器时、装机太慢k8s出现问题排查困难告警过多、形成轰炸资源碎片过多调度不均衡、资源干扰过大机器故障处理人肉解决一切出发点,为了业务稳定高效.架构演进ChinaUntx数字转型架构演进第+六届中国系统架构师大会SYSTEMARCHITECTCONFERENCECHINA202SPart3K8S稳定性建设阶段和案例改造历程数字转型架构演避苕+雷中国系统架构师大会SYSTEMARCHITECTCONFERENCECHINA202S第一阶段Kubernetes集群改造第二阶段系统能力改造第三阶段资源兜底能力改造第四阶段基础组件改造SACC数字转型架构演进------------------------.(一)Kubernetes集群改造■第一阶段ApiServer(保证现有稳定性)ARCHITECTCONFERENCECHINA2323LB调整成最小连接负载均衡单集群节点量4500+节点ApiServer不稳定因素:版本问题:版本低无法endpointSlice、kube-proxy拉取流量过大;配置问题:限流配置问题;硬件层:LB设备带宽限制;LB负载:流量不均衡;架构演进(一)Kubernetes集群改造-第一阶段DNS(保证现有稳定性)3T1-4SYSTEMARCHITECTCONFERENCECHINA航字转型架构演进弋届中国系统架构师大会原DNS访问链路,全部要从CoreDNS过,没有兜底。ApiServer挂掉时会影响CoreDNS稳定性,然后影响生产使用改造内容•改造CoreDNS代码,ApiServer挂掉时,CoredDNS能够缓存2小时数据-使用IocalDNS组件,走本地DNS,本地其实是走权威DNS架构演进沙BfT68yChinciUntxaA___2023(一)Kubernetes集群改造inClusterendpoints走应用LBK8SApiServer新架构Pod请求ApiServer应用LBApiServer组件LBEnginx(gateway)IApiSeverTj|ApiSeverTj|ApiSeverTj...IApiSeverTj|ApiSeverTjinCluster走应用LBvinCluster-第二阶段(新集群架构)组件LB相关组件:•kubelet•kube-contorller-manager•CCM•kube-proxy•kube-scheduler•kube-flannel&CNI•coredns•cluster-autoscaler数字转型架枸演进莒+六届中国系统架构师大会SYSTEMARCHITECTCONFERENCECHINA202S拆分注意事项:•保证节点在3000以下•签发证书用泛域名•选项选择v1.2x以上版本,支持APF流量接入层服务层组件层架构演进(一)Kubernetes集群改造-第二阶段(去除kube-proxy)数字转型架构演漫第十六届中国系统架构师大会SYSTEMARCHITECTCONFERENCECHINA202S去除应用clusterip访问ServiceLoadbalancer使用直连podinCluster使用env配置LBip(二)系统化能力改造-多云管控平台知云容器平台数字转型架构演进第十六届中国系统架构师大会SYSTEMARCHITECTCONFERENCECHINA202S事件中心事件总览告警规则告警密钥事件列表节点管理节点管理应用IP列表集群管理镜像多活K8S权限权限资源资源管理开放平台控制器管理添加授权存储管理服务管理发布管理授权列表调度管理权限管理节点池管理操作日志角色管理权限管理伸缩调度多集群管理自研多云管控平台:收敛权限,提升人效,审计架构演进沙B数字转型(二)系统化能力改造■多集群可观测性第十广;中国系统架构师大会SYSTEMARCHITECTCONFERENCECHINA202S事件中,|J\V重要事件?出?凶?"?凶Pod启动失败。Pod创建成功①磁盘空间已满。驱逐①(SQ事件总览事件告警配置通知方式配置事件明细分析052日同比0日同比45▲4?k9获取数据拉取镜像失败。调度失败。可用磁盘空间失败①镜像回收失败①(5分析事件Pod杀死。内存条报警①网络不可用©节点没有足够磁盘①CQ,®Q.06221日同比0日同比-860日同比1-网络不可用配首通知.趋势写入各集群占比时间范围客户群体O1.93%-*路由/通知用尸--->I△按集群分析业务方Pa勇平台业务SRE,’晚集',收集98.07%V网络不可用IDC集群云上集群趋势各空间占比当日时间范围次数namespacef圆320302按应用分析目恵>48...一—51...Kubernetes分析报表控制面(iaas系统)124,030日同比-51297▼51,121日同比-14104▼74,756日同比-37025▼50,546日同比-18376▼架枸演地大盘:会分为重要事件、节点、组件、应用?凶?k?*?*?匠?此24,522日同比-2878▼744,375日同比-2988815,613日同比1544▲q9数据面板-----读取-1--A数仓提供APt与组件交互11■冰&、尸基础WeventMesh<__________________>•组件■土■,■»Nodel/Node2Qnpd粗件0rip睡件■■■■■■9

Nod91Nods2Q叩日组件ompd组件■■■■■■(三)资源兜底能力改造-多云弹扩能力混合云改造:自研弹性调度组件,支持弹性多公有云、支持弹扩非k8s节点、直接自愈API数字转型架构演避苕+雷中国系统架构师大会SYSTEMARCHITECTCONFERENCECHINA202SKubenetesClusterClusterCronHPA______MachineDeploymentScaleupClusterAutoscalerCAPodPodPodPodPodScaleup在线业务利用率过高,需要伸缩节点兜底PodPodPodPodPod丿丿卧■大甲uM零0.8140.6110.8870.593E内侦WWfmdrb^)MM.砸j*134IB-跡T・WK■5T*Ti□僅*KIMW*|J.:1E3WK、睥34已事时KHMflLB■ElWmmwn—■enn架构演进(三)资源兜底能力改造-镜像多活自研镜像多活组件:就近拉取、镜像同步、vpccname切流数字转型架构演进第+六届中国系统架构师大会SYSTEMARCHITECTCONFERENCECHINA202S架构演进ChinaUmx2023(四)四基础组件能力改造-调度器数字转型架构演进第+六届中国系统架构师大会SYSTEMARCHITECTCONFERENCECHINA202SColoSystem:资源调度节点管控cololetcololet:存储管理系统隔离够OnlinePod0--INodeManger(offlineJob)OnlineIPod0--INodeManger(offlineJob)基础组件勁---------------------------------ApiServer1Colo-Manager^TColo-ScheulerColo-IDescheuler$©OS(openEuler)onPrometheusubuntu最初目标为了解决应用调度的均衡问题、降低告警。随着业务发展开始承担在离线混部工作。kube机站CPU使用率上线后上线前心虹亀机器内存使用率02/2302/25^ed.vaEue02/2302/2502/1302/15(ryi702/19DI/2601/28e购02/17㈣

1901/2601/2801/300?/D1Q2/03W0502/0702/0902/11(四)四基础组件能力改造-自愈组件数字转型架构演漫第+六届中国系统架构师大会SYSTEMARCHITECTCONFERENCECHINA202SApiServerjoba-manager--------event-meshI检测自愈规则处理自愈

vrepairK•生成自愈一repairrule上报故障事件I—上报节点级自愈joba-agentjoba-agentjoba-agent节点级自愈收集故障自研自愈组件(Joba),通过NPD(Node-Problem-Detector)组件二次开发、实现自愈规则SOP与故障SOP。并实现joba-manager对故障进行自愈,自愈形式有6种:(1)停止调度Node(2)驱逐Node(3)驱逐Node+弹扩Node(4)删除pod(5)强制删除pod(6)单机自愈记录自愈范围自愈原因①描述①集群信息①节点时间nodeOrphanedPod孤儿Podt1-七20岛5-4?:FiRnodeMemoryReadError内存条故障-停止调度t!-■Mi■MM■)5-2j■■nodeOrphanedPod孤儿Pod■■门72...kt>■■■12-woPart4展望和收益数字转型架构演进第+六届中国系统架构师大会SYSTEMARCHITECTCONFERENCECHIN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论