膜拜,阿里内部都在强推的K8S(kubernetes)学习指南,不能再详细了

前言

过去几年,以 docker、kubernetes 为代表的容器技术已发展为一项通用技术,BAT、滴滴、京东、头条等大厂,都争相把容器和 k8s 项目作为技术重心,试图“放长线钓大鱼”。

就说阿里吧,目前基本所有业务都跑在云上,其中有一半已迁移到自己定制 kubernetes 集群上。据说,今年计划完成 100% 基于 k8s 集群的业务部署。而服务网格这块儿,在阿里的一些部门(比如蚂蚁金服),已经有线上业务在用了。

这充分说明了容器在当今软件研发领域的地位。所以,掌握容器技术自然成为很多公司在招聘时的重要选项。

但是,容器技术本身偏向运维,namespace 资源隔离、cgroups 资源限制等概念,对开发者来说,理解起来比较困难。这几年,在跟朋友探讨 k8s 落地时,也有一些问题被反反复复地提及,比如:

  • 为什么容器里只能跑“一个进程”?
  • 原先一直用的某个 JVM 参数,在容器里就不好使了?
  • 为什么 kubernetes 不能固定 IP 地址?容器网络连不通,该如何 debug?
  • k8s 中 statefulSet 和 operator 到底什么区别?pv 和 pvc 又该怎么用?

这些问题的答案和原理并不复杂。但对初学者来说,很难用一两句话就解释清楚。因为容器技术涉及操作系统、网络、存储、调度、分布式原理等等方方面面的知识,是个名副其实的全栈技术。

而其技术体系里那些“牵一发而动全身”的主线,比如 Linux 进程模型对容器本身的重要意义,“控制器”模式对整个 k8s 项目提纲挈领的作用等等,并不会详细展现在 docker 或 kubernetes 官方文档中,但偏偏就是它们,才是掌握容器技术体系的精髓所在

在这里分享我偶然间得到的一份文档,该文档将K8S分为理论和实践两个部分进行讲解,双管齐下,事半功倍,让我们来看看文档内容(文末有获取完整版资料的方法!

理论模块

理解集群控制器

基本上来说,K8S集群的控制器,其实扮演着集群大脑的角色。有了控制器,K8S集群才有机会摆脱机械和被动,变成一个自动、智能、有大用的系统。

  • 控制器原理
  • 统一入口
  • 控制器
  • 控制器管理器
  • SharedInformer
  • ListWatcher
  • 服务控制器
  • 路由控制器
5cb28907d207f319da4f3424bff245bf.jpeg

集群网络详解

我们主要通过网络搭建和通信两个角度去分析K8S集群网络。其中网络搭建包括初始阶段,集群阶段,节点阶段以及Pod阶段,这么分类有助于我们理解这些复杂的配置。而理解了各个配置,集群通信原理就比较容易理解了。

  • 集群网络搭建
  • 通信
1c255c98f0d0325210f1c89af0664532.jpeg

集群伸缩原理

总体上来说,K8S集群节点的增加与减少,主要涉及四个组件,分别是Cluster Autoscaler,ESS, 管控以及节点本身(准备或清理)。根据场景不同,我们需要排查不同的组件。其中Cluster Autoscaler是一个普通的Pod,其日志的获取和其他Pod无异;ESS弹性伸缩有其专门的控制台,我们可以在控制台排查其伸缩配置、伸缩规则等相关子实例日志和状态;而管控的日志,可以通过查看日志功能来查看;最后,对于节点的准备与清理,其实就是排查对应的脚本的执行过程。

  • 节点增加原理
  • 手动添加已有节点
  • 自动添加已有节点
  • 集群扩容
  • 自动伸缩
  • 节点减少原理
8e175ba0e80f71ad75a819e0475d2fca.jpeg

认证与调度

在这节中,我们以一个简单的容器化web程序为例,着重分析了客户端怎么样通过Kubernetes集群API Server认证,以及容器应用怎么样被分派到合适节点这两件事情。

  • “关在笼子里”的程序
  • 双向数字证书验证
  • KubeConfig文件
  • Pod配置
3423037fbf1e5951a5ffff7d031de478.jpeg

集群服务的三个要点和一种实现

  • K8S集群服务的本质是什么
  • 自带通信员
  • 把服务照进现实
  • 过滤器框架
  • 节点网络
  • 升级过滤器框架
  • 用自定义链实现服务的反向代理
e2e2afa75b5007d17763f6884ba175fd.jpeg

镜像拉取

  • 理解OAuth2.0协议
  • Docker扮演的角色
  • K8s实现的私有镜像自动拉取
  • 阿里云实现的Acr credential helper
7111460968891244a07592638b9a2f3d.jpeg

实践

读懂这一篇,集群节点不下线

  • 需要知道的Kubernetes知识
  • 什么是PLEG
  • 容器runtime
  • Docker Daemon调用栈分析
  • Containerd调用栈分析
  • 什么是Dbus
  • RunC请求Dbus
  • Systemd
  • Live Debugging
  • 问题修复
45174665846571a20eeff16150b0ef93.jpeg

节点下线姊妹篇

  • 问题现象
  • 止步不前的 PLEG
  • 无响应的 Terwayd
df01cab3099c0c2efff62058abdf8bce.jpeg

我们为什么会删除不了集群的命名空间?

  • 从集群入口开始
  • Controller 在做什么?
  • API、Group、Version
  • Controller 为什么不能删除命名空间里的资源
  • 节点与 Pod 之间的通信
  • Route Controller 为什么不工作?
  • 集群节点访问云资源
0a95ac5bdf8abfa5fa6e498b3202c1de.jpeg

阿里云ACK产品安全组配置管理

  • 安全组在 ACK 产品中扮演的角色
  • 安全组与 ACK 集群网络
  • 怎么样管理 ACK 集群的安全组规则
  • 限制集群访问外网
  • IDC 与集群互访
  • 使用新的安全组管理节点
  • 典型问题与解决方案
  • 使用多个安全组管理集群节点
  • 限制集群访问公网或者运营级 NAT 保留地址
  • 容器组跨节点通信异常
ee6c760e942a3d193011af320df43ce4.jpeg

二分之一活的微服务

  • 代理与代理的生命周期管理
  • 就绪检查的实现
  • 控制面和数据面
43e4f2065c4ac07ea6e15e3909d6ea39.jpeg

半夜两点Ca证书过期问题处理惨况总结

  • 不断重启的 Citadel
  • 一般意义上的证书验证
  • Citadel 证书体系
aa6724d920aa59c9d4f009d76870600f.jpeg

以上就是这份文档的概况,一次搞懂6个核心原理吃透基础理论,学会6个典型问题的华丽操作,不管是架构师还是开发者,又或是运维,都能够从中学到不少。

上面的文档已整理成册,感兴趣的朋友可以点击文末下方传送门,即可获得免费领取方式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您可以通过说出赞美的话,或者向他表示您的敬意来向他膜拜。例如:“gzn真是太厉害了,我真的很佩服你。”或者“gzn,你真的很优秀,我想向你学习。”但是,膜拜他人可能会让您看起来很不自信,所以我建议您可以尝试学习他的优秀之处,并努力成为一个更优秀的人。 ### 回答2: 如果你觉得一个叫gzn的人很强,想要膜拜他,以下是一些建议: 1. 尊重他:向gzn表达你对他的尊敬和赞赏,对他的成就和才能表示钦佩。遇到他时,礼貌地与他交谈,并注意言行举止的得体和尊重。 2. 学习他的优点:了解gzn的优秀之处,并从中学习。看看他取得成功的原因,是否是他的刻苦努力、智慧决策或者他在某个领域的专业知识。尝试模仿他的行为和思考方式,研究并学习他的成功之道。 3. 向他请教:如果有机会,向gzn提出问题,寻求他的建议和指导。尊重地向他表达你的兴趣,并请教他在某个领域中的经验和见解。展示你对他的学习态度和对他智慧的崇拜。 4. 支持他的事业:如果gzn有自己的事业或项目,你可以尽力支持和关注他的努力和成果。参与他的项目,分享他的成就,为他的事业助力。这样,你不仅可以表达你的钦佩之情,还能够与他建立更紧密的联系。 5. 自我成长:尽管你想向gzn学习,但也要保持自己的独立思考和个性。不要完全模仿他,而是将他的优点和经验与你自己的才能和兴趣结合起来。追求自己的成长,并为自己设定目标,努力成为一个强大而有原创力的个体。 最重要的是,膜拜他不仅仅是以身体力行,更是通过行动向他证明你是一个值得尊敬和关注的人。承担起积极向上的行为和责任,以自己的努力和成就来回报他的关注和期待。 ### 回答3: 如果你觉得一个叫gzn的人很强,想要向他膜拜,你可以考虑以下几点: 1. 尊重与赞美:向gzn表示对他所取得成就的钦佩和赞美,这是最基本的表达方式之一。尊敬他的才华和技能,并且以谦逊和真诚的态度向他表达你的敬意。 2. 学习与模仿:观察gzn的行为和习惯,尝试学习他的成功之道。了解他取得成就的原因,从他的经验中汲取灵感,将其运用到自己的生活中。努力追求自己的目标,并向gzn学习如何提升自己的能力和技巧。 3. 合作与交流:如果你有机会与gzn进行交流或合作,抓住这个机会。分享自己的观点和想法,与他探讨各种话题,寻求他的建议和指导。与gzn建立良好的合作关系,有助于你从他的经验中获益。 4. 成为他人的榜样:通过向身边的人展示你对gzn的尊敬和模仿,成为他人的榜样。在自己的生活和工作中发挥积极的影响力,传递正能量,鼓励他人追求自己的目标和理想。这样的行为也能够向gzn表达你对他的敬意。 不管你选择了哪种方式,保持真诚和谦虚的态度非常重要。膜拜并不意味着盲目崇拜,而是对别人的才华和成就表示敬意,并从中获得启发与动力。记住要相信自己的潜力,努力发展自己的实力,成为更好的自己。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值