一、前言

Kubernetes(简称K8s)是一款开源的容器集群管理系统,它能够实现容器集群的自动化部署、自动扩缩容以及维护等功能。作为一款容器编排工具,Kubernetes同时也是基于容器技术的分布式架构领先方案。在Docker技术的基础上,Kubernetes为容器化的应用提供了部署运行、资源调度、服务发现和动态伸缩等功能,从而提高了大规模容器集群管理的便捷性。因此,Kubernetes是容器集群管理的有力工具。

文章内容可以过多,限于文章篇幅,没办法为大家展示全部内容,有感兴趣想要获取学习的朋友可以跳转文章末尾获取

理论篇

第一部分:理解控制器

在尝试深入理解Kubernetes集群的工作原理时,我们不可避免地会遇到控制器这个难点。这是因为控制器在Kubernetes中扮演着至关重要的角色,而且种类繁多,具体实现各异,这使得理解它们的工作机制变得相当复杂。此外,控制器的实现涉及到一些较为晦涩的机制,这无疑增加了理解的难度。然而,我们又不能忽视控制器,因为它们在Kubernetes集群中扮演着“大脑”的角色,负责处理并协调各个部分的工作。

148e1a025452face65b56c0ae921d54c.jpeg 084d87b5e3cb13c1f0a0d41622197990.jpeg

第二部分:网络详解

fc1f04ea467af898ffaf539a876aaaa0.jpeg eee516c8e75032a3c5346fb59bcaf5c3.jpeg

第三部分:伸缩原理

c74d480aae623c42c70b9b709ec6558b.jpeg 4726357917f2f89a6e1be7f077a958e7.jpeg

第四部分:认证与调度

20f6827300d35bad85b6bed62aa4f44c.jpeg 2b4b9b7228e9bc84521c62b87f6ae087.jpeg

第五部分:服务原理

25e3b8bbfbda2e5869e574d5256444b3.jpeg ddb74bd261b3f9c180d27b29346c57bc.jpeg

第六部分:镜像自动拉取

a3db6a102b70e83f935a9012d4a97404.jpeg 81e21fef774ebdf7d96d542cff112eb9.jpeg

实践篇

第七部分:节点就绪的问题之一

b0ac5d14464ca31c62717f0bfb30d4b3.jpeg e2d85cf45ea5d5a58816c88ce092558b.jpeg

第八部分:节点就绪问题之二

78ca9e028fa37d46e79f578ac6d7069a.jpeg fde3a58802696bb955f6620c97d643c6.jpeg

第九部分:命名空间删除问题

82a2a4d5375f703f5ae3385fcc6c6407.jpeg ce32ed2ab7dc4e7442be50911132471d.jpeg

第十部分:集群安全组配置管理

阿里云容器产品 Kubernetes 版本,即 ACK,基于阿里云 IaaS 层云资源创建。资源包括云服务器 ECS,专有网络 VPC,弹性伸缩 ESS 等。以这些资源为基础,ACK 产品实现了 Kubernetes 集群的节点,网络,自动伸缩等组件和功能。

一般而言,用户对 ACK 产品有很大的管理权限,这包括集群扩容,创建服务等。与此同时,用户可以绕圈过去 ACK 产品,对集群底层资源进行修改。如释放 ECS,删除 SLB。如果不能理清背后的影响,这样的修改会损坏集群功能。

这部分会以 ACK 产品安全组的配置管理为核心,深入讨论安全组在集群中扮演的角色,安全组在网络链路中所处的位置,以及非法修改安全组会产生的各类问题。文章内容适用于专有集群和托管集群。

5561ceacdb0050979b132980e02661f1.jpeg 914b43cdbf6ae734182c8a98594df1ca.jpeg

第十一部分:二分之一活的微服务

Istio is the future!基本上,我相信对云原生技术趋势有些微判断的同学,都会有这个感悟。其背后的逻辑其实是比较简单的:当容器集群,特别是 Kubernetes 成为事实上的标准之后,应用必然会不断地复杂化,服务治理肯定会成为强需求

81b50c41b3a722b1c90123b80598714f.jpeg 1c38935adf73ebfc814c6ef2eb332c61.jpeg

第十二部分:服务网格证书过期问题

客户某一台 Kubernetes 集群节点重启之后,他再也无法创建 Istio 虚拟服务和 Pod 了。一来对 Istio 还不是那么熟悉,二来时间可能有点晚,脑子还在懵圈中,本来一个应该比较轻松解决掉的问题,花了几十分钟看代码,处理的惨不忍睹。最终还是在某位大神的帮助下,解决了问题。鉴于此问题,以及相关报错,在网上找不到对应的文章,所以这里分享下这个问题,避免后来的同学,在同样的地方踩坑。另外谨以此篇致敬工作中遇到过的大神!

a50d63e422630bccd1b53ac016d9a68a.jpeg 35518807fb78a8d71a2e160798cf4aa2.jpeg

总结

也许你在学习和实践上也有过这样的难点与困惑:

也许你在学习和实践过程中也遇到过类似的困扰:在网上检索大量资料,却往往一头雾水,找不到准确的切入点;而官方文档又像工具书一样晦涩难懂,让人在学习过程中不得要领。

大部分图书虽然体系化较强,但往往偏重理论而轻实践,而实践经验才是帮助你在工作中快速上手、真正将知识应用到自己项目中的关键。

当然,你可能会选择自己“硬啃”Kubernetes源码,但这无疑是一条充满挑战的道路。作为一个曾经同样走过这条路的人,我可以告诉你,这确实是一条充满艰辛的道路。

如果你在学习的过程中遇到了以上问题或无从下手,那么这份手册将是你的理想选择。它将为你提供清晰的学习路径,帮助你更好地理解和应用Kubernetes。

如果你需要完整版PDF学习资源请扫描下方名片100%获取免费下载方式!

👇👇点击下方名片👇👇

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐