误删50节点K8s集群为何3小时才能复原?Spotify揭自家事故幕后经验

误删50节点K8s集群为何3小时才能复原?Spotify揭自家事故幕后经验


线上音乐串流服务Spotify一位基础架构工程师David Xia,在今年欧洲KubeCon大会上分享了自家Kubernetes集群一次意外事件。拥有上亿用户的Spotify,旗下开发者高达1千人,经常要在上万台VM上部署程序码。Spotify主要使用了GCP云端服务,在云端容器服务GKE上拥有3套生产集群,分别负责欧洲、亚洲和美国,每小时会自动备份一次。


2018年11月时,有一次工程师为了测试GKE的新功能,新增了一个测试用的集群,完成测试后,工程师要删除这个测试集群来节省资源,却不小心删除了负责美国区用户的一个50节点的集群。David眼看着删除指令关闭了一个又一个节点,问遍同事如何紧急停止这个删除指令,「完全没办法阻止,只能重建集群。」他坦言,后来Spotify足足花了3.25小时才重建了这个集群。


为何这么久?重建过程中,他才发现,集群建立Scrips有臭虫,参考文件的内容不完整也不尽正确,导致他们设计的集群建立程序,无法反覆使用。一个月,Spotify试图将防止误删集群的做法,列入自家的开发管理规范中,并采用了基础架构管理工具Terraform来避免集群部署的意外,但是,这又引发了另一起事故。这次是要将两个现成集群合并成一个新的集群时,建立新集群时因为权限不够而失败,工程师后来扩充了权限后才能执行。儘管合并工作顺利完成后,却导致Terraform误判集群需要异动,而删除了整个亚洲区集群,甚至连美国区集群也一起删除。


David表示,出错难免,但失败也要有因应计画。后来,Spotify采取了3个因应对策,第一是执行K8s服务合并时,分批进行。第二是改变在K8s上登录服务的作法,第三是建立K8s实例出错时,可以快速由非K8s实例接手的备援机制。


SRE注意,要小心Kubernetes常见十大类问题


监控工具服务商Datadog两位工程师Laurent Bernaille和Robert Boll在今年欧洲KubeCon分享了自家经验中,管理Kubernetes常遇到的十种问题。Datadog投入Kubernetes项目超过2年多,自家服务也大力拥抱,最大规模的一个K8s集群高达2千个节点,平均K8s集群节点数也多有1,000~1,500之多。第一类问题是DNS管理问题,而且最常造成K8s事故的问题也多半是DNS问题。第二类常见问题则是任务启动失败而导致映像档抓取失效。第三是kubectl命令列工具操作出错。再者,应用程序Pod排程没有考虑到新节点,Log档10倍速度暴增塞满储存空间、大量副本和重製导致Pod失踪、Cassandra集群内有鬼(未预期的操作)、部署程序越来越慢、容器化过程出包、关超慢的Pod关闭过程(Termination)。他们提醒,要避免出错得特别留意4件事,使用管理Pod的DaemonSet要小心,认清DNS管理向来很难,云端基础架构不见得很透明,最后则是容器不一定真的顺利容器化了。


Google正式推出云端排程工作服务,GKE也能自动派工


Google正式推出其云端託管的排程工作(Cron Job)服务Cloud Scheduler,使用者可以用Cloud Scheduler来触发任何批次、大资料或是云端基础设施操作,而且这个功能不只可以在GCP上使用,还能从用户本地端或是第三方资料中心来触发目标工作。包括GCP容器服务GKE、Compute Engine、Cloud Run以及Cloud Functions等多项GCP服务,甚至可以是在本机端应用程序,都可以透过Cloud Scheduler来自动派工。


Pulumi开源基础架构即程序码框架Crosswalk,能简化AWS各类部署工作


基础架构即程序码供应商Pulumi开源了一个可用于部署AWS工作负载的框架Pulumi Crosswalk for AWS,提供基础架构即程序码元件,并内建AWS最佳实践,帮助用户根据需求,将应用程序部署到AWS上。可支援多种AWS服务,包括无伺服器服务Lambda和API Gateway,还有容器服务ECS以及Fargate,以及像是热门的Kubernetes服务EKS、跨网路的VPC和SecurityGroups,而监控服务Cloudwatch Dashboards与Alarms等都有支援。由于Crosswalk的模块建构在AWS的塬生功能模组之上,用户可以自由地使用高阶元件,或是使用低阶平台塬语,也能根据需求混合使用。


强化Azure DevOps程序码提交机制,微软释出Multi-Cherry-Pick扩充套件


为了让Azure DevOps开发者,可以更简单地同时对多分支的应用提交,微软释出了PR Multi-Cherry-Pick扩充套件,该套件是使用git Cherry-Pick指令,能够自动应用程序码变更到多个分支上。扩充套件Multi-Cherry-Pick的名称来自git指令Cherry-Pick,这是用来接受一个或多个现有的提交(Commit),并将每个提交的更改当作新的提交,应用到不同的分支上的操作。



IBM花2年改用K8s重新打造自家云端平台,部署上万内部应用的现代化IT新架构首度公开


2年前,IBM展开了旗下云端平台产品的大整顿,不光只是重整品牌,还找来了20年前开发出IBM第一代SOA和Web产品的IBM Watson和云端平台首席架构师Andrew Hately,大力采用Docker、Kubernetes、Linux和Cloud Foundry,设计出全新的现代化IT架构。3年前,IBM开始研究跨云管理架构,决定大力投入Kubernetes开源项目,2年前,IBM悄悄地展开了自家内部平台的架构改造任务,甚至不惜重构自家云端平台,要将大部分的IBM软体和云端平台,都搬上Kubernetes。IBM先从资料库平台开始着手改造,例如将天气预测应用改部署到IBM云上的Kubernetes环境中,后来更进一步扩大到所有的分析和AI产品,都转而部署到Kubernetes环境上。Andrew Hately表示,去年终于完成了这个庞大的平台重构计画,除了用来管理基础架构上运算、储存和网路的控制台程序,以及基础架构的虚拟机器(VM)不是采用Kubernetes,IBM其余的云端服务,甚至内部所用的上万支应用程序,几乎全都搬上了Kubernetes。


—完—


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/315409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Codeforces Round #610 (Div. 2) D. Enchanted Artifact 交互 + 思维

传送门 文章目录题意:思路:题意: 思路: 首先我们发现如果知道了字符串的长度,我们就可以O(n1)O(n1)O(n1)次询问求解出来。比如当前长度为nnn,那么我们就可以构造出一个长度为nnn的全′a′a′a′字符串&…

P1005 矩阵取数游戏(__int128模板/简单dp)

转跳P1005 题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的 n \times mnm 的矩阵,矩阵中的每个元素 a_{i,j}a i,j ​ 均为非负整数。游戏规则如下: 每次取数时须从每行各取走一个元素,共 nn 个。经过 mm 次后取完矩…

Docker+ Kubernetes已成为云计算的主流(二十六)

前言 最近正在抽时间编写k8s的相关教程,很是费时,等相关内容初步完成后,再和大家分享。对于k8s,还是上云更为简单、稳定并且节省成本,因此我们需要对主流云服务的容器服务进行了解,以便更好地…

P1020 导弹拦截(n*log n时间的最长上升子序列思想)

题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还…

P4137 Rmq Problem / mex 主席树求mex

传送门 文章目录题意:思路:题意: 思路: 按照值建线段树,每个位置维护值出现的最后位置,让后可持久化一下,当查询[l,r][l,r][l,r]的时候,我们只需要在[1,r][1,r][1,r]中找最后出现位…

《刷新》:拥抱同理心,建立成长型思维

“ 不刷新即死亡”2018年,很多朋友包括博客园里的很多园友都在阅读微软第三任CEO萨提亚纳德拉的这本《刷新》并且发布了很多读后感,但我却一直没有来得及阅读。刚好最近订阅了喜马拉雅的VIP会员,每天上下班时间开始了听书之旅,这里…

P1833 樱花——混合背包 二进制优化成01背包

P1833樱花 题目大意:有n颗樱花树,你的总时间为T,现在n课树,每次观看要花费w时间,能获取v点价值,最多能参观s次,如果s等于0,则可以观看无限次,问你在T时间内 获得的最大价…

ICPC Trainings Moscow2020 K. King and Zeroing 树直径 + 思维

传送门 文章目录题意:思路:题意: 给你一颗树,但是这棵树的边是双向的,且花费为1。对于每个点,可以在连向他的边中选择一条,使由这个点到边的另一个点的有向边花费变成1,对于每个点都…

Consul初探-集成ocelot

前言由于 Consul 的高可用性、丰富的API、友好的 Web 控制台界面等特点,Consul 的发展非常迅猛,得益于 .NETCore 社区的快速发展和社区成员的贡献,我们现在可以非常方便快速的将 Consul 集成到 .NETCore 中,在 Ocelot 的集成方面也…

Codeforces Round #682 (Div. 2)D Powerful Ksenia ///思维

cf地址 题目大意:Ksenia has an array a consisting of n positive integers a1,a2,…,an. In one operation she can do the following: choose three distinct indices i, j, k, and then change all of ai,aj,ak to ai⊕aj⊕ak simultaneously, where ⊕ denot…

2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛) H.有多短 思维

传送门 文章目录题意:思路:题意: 思路: 可以发现树的直径起点和终点一定是两个度数为111的点,所以我们可以把kkk平均的分给所有度数为111的点,这样答案就为2∗kcnt\frac{2*k}{cnt}cnt2∗k​。 证如果分配给…

Identity和IdentityServer的区别及联系

关于Identity和IdentityServer初学的时候可能会有一些疑惑(虽然我也不是很精深吧),但是,这里说一下自己关于这两者的一些理解,如有错误,欢迎指正总体上,ASP.NET Core Identity提供了一个用来管理和存储用户账户的框架.IdentitySer…

Educational Codeforces Round 96 (Rated for Div. 2) C. Numbers on Whiteboard///思维

cf地址 题目大意:给一个数n,有1~n的数,每次现在两个数a,b,将这两个数去掉,然后添加一个(ab)/2的数(向上取整),进行n-1次操作后,问你最…

2016中国大学生程序设计竞赛(长春)Sequence II HDU - 5919 主席树

传送门 文章目录题意:思路:题意: 给一个长度为nnn的序列,每次一个询问[l,r][l,r][l,r],求其中数第一次出现的位置的中位数。 思路: 先考虑一下如何求区间内不同数的个数。 因为要求位置的中位数&#xf…

C#规范整理·集合和Linq

LINQ(Language Integrated Query,语言集成查询)提供了类似于SQL的语法,能对集合进行遍历、筛选和投影。一旦掌握了LINQ,你就会发现在开发中再也离不开它。  开始!前言C#中的集合表现为数组和若干集合类。不管是数组还…

UVA - 11361 Investigating Div-Sum Property(数位dp/记忆化搜索板子)

题目:https://vjudge.net/problem/UVA-11361 思路:数位dp,用记忆化搜索写,dp[pos][i][j][limit] 代表剩余有pos位,每位上的数字和模k 等于i, 当前总数值模k等于j,limit代表限制位。 本题还要注意…

CodeCraft-21 and Codeforces Round #711 (Div. 2) D. Bananas in a Microwave 优化暴力

传送门 文章目录题意:思路:题意: 有nnn个时间,每个时间给你两个操作,第一个是kkxkkxkkx,第二个是kk∗xkk*xkk∗x,且可以执行[0,y][0,y][0,y]次,kkk初始状态为000,求[1,m…

C#并发编程之异步编程(三)

写在前面本篇是异步编程系列的第三篇,本来计划第三篇的内容是介绍异步编程中常用的几个方法,但是前两篇写出来后,身边的朋友总是会有其他问题,所以决定再续写一篇,作为异步编程(一)和异步编程(二)的补充。本篇内容主要…

UVA - 10253 Series-Parallel Networks(递推式、记忆化搜索写法)

题目:UVA-10253 题目翻译(来自蓝书): 串并联网络有两个端点,一个叫源,一个叫汇,递归定义如下: (1) 一条单独的边是串并联网络。 (2)…

Codeforces Round #163 (Div. 2) C. Below the Diagonal 分治

传送门 文章目录题意:思路:题意: 给你一个n∗nn*nn∗n的矩阵,给你n−1n-1n−1个位置,这些位置为111,其他位置为000,操作定义为交换两行或者交换两列,让你通过不超过1e51e51e5次操作…