Kubernetes已然崛起,Kubernetes实战手册帮你轻松拿下

本文深入探讨Kubernetes(K8s)的集群控制器、网络、伸缩原理、认证调度、服务负载均衡和镜像拉取等关键概念。通过理论与实践相结合,揭示K8s如何实现自动化、智能管理,并提供了节点不下线、命名空间删除问题等实战案例分析,帮助企业更好地理解和运用K8s。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一直关注云计算领域的人,必定知道Kubernetes的崛起。

如今,世界范围内的公有云巨头(谷歌、亚马逊、微软、华为云、阿里云等等)都在其传统的公共云服务之上提供托管的Kubernetes服务。而且云服务龙头AWS也终于落地,进入企业商用K8s软件市场,这让它成了可以通吃主流公私有云的唯一基础架构平台。

可以看出,不少年薪30w及以上的运维岗位,都要求会K8s技术了。K8s 凭借在扩展性、管理、大数据分析、网络场景、兼容性、负载均衡、灰度升级、失败冗余、容灾恢复、 DevOps 等方面的优势,受到不少企业的青睐。

今天给大家分享一份阿里内部流传的《Kubernetes实战手册》 ,该文档将K8S分为理论和实践两个部分进行讲解,双管齐下,事半功倍,让你能够迅速搞懂核心原理,吃透基础理论,一次学会并开始使用K8s!

这份资料分为理论篇和实战篇

理论篇

这么理解集群控制器,能行!

基本上来说,K8S 集群的控制器,其实扮演着集群大脑的角色。有了控制器,

K8S 集群才有机会摆脱机械和被动,变成一个自动、智能、有大用的系统。

集群网络详解

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

集群伸缩原理

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

认证与调度

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

在分析过程中,我们弃用了一些便利的工具,比如 kubectl,或者控制台。我们用了一些更接近底层的小实验,比如拆解 KubeConfig 文件,再比如分析调度器日志来分析认证和调度算法的运作原理。希望这些对大家进一步理解 Kubernetes 集群有所帮助。

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

我们基本上需要把握三个要点。一、服务本质上是负载均衡;二、服务负载均衡的实现采用了与服务网格类似的 Sidecar 的模式,而不是 LVS 类型的独占模式;三、kube-proxy 本质上是一个集群控制器。除此之外,我们思考了过滤器框架的设计,并在此基础上,理解使用 iptables 实现的服务负载均衡的原理。

镜像拉取这件小事

理解私有镜像自动拉取的实现,有一个难点和一个重点。难点是 OAuth 2.0 安全协议的原理,上文主要分析了为什么 OAuth 会这么设计;重点是集群控制器原理,因为整个自动化的过程,实际上是包括 Admission control 和 Acr credential helper 在内的多个控制器协作的结果。

实践篇

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

这个问题根本原因肯定在 systemd,但是 runC 的函数 UseSystemd 使用不那

么美丽的方法,去测试 systemd 的功能,而这个函数在整个容器生命周期管理过程

中,被频繁的触发,让这个低概率问题的发生成为了可能。systemd 的修复已经被

红帽接受,预期不久的将来,我们可以通过升级 systemd,从根本上解决这个问题。

 

节点下线姊妹篇

在节点就绪状态这种场景下,kubelet 实际上实现了节点的心跳机制。kubelet 会定期把节点相关的各种状态,包括内存,PID,磁盘,当然包括这个文章中关注的就绪状态等,同步到集群管控。kubelet 在监控或者管理集群节点的过程中,使用了各种插件来直接操作节点资源。这包括网络,磁盘,甚至容器运行时等插件,这些插件的状况,会直接应用 kubelet 甚至节点的状态。

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

K8S 集群命名空间删除不掉的问题,是线上比较常见的一个问题。这个问题看起来无关痛痒,但实际上不仅复杂,而且意味着集群重要功能的缺失。这篇文章全面分析了一个这样的问题,其中的排查方法和原理,希望对大家排查类似问题有一定的帮助。

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

从三个方面,深入讨论了阿里云 ACK 产品安全组配置管理。这三个方面分别安全组在集群中扮演的角色,安全组与集群网络,以及常见问题和解决方案。同时通过分析,可以看到 ACK 产品安全组配置管理的三个重点,分别是集群的外网访问控制,集群容器组之间跨节点访问,以及集群使用多个安全组管理。与这三个重点对于的,就是三类常见的问题。

二分之一活的微服务

这其实是一个比较简单的问题,排查过程其实也就几分钟。但是写这篇文章,有点感觉是在看长安十二时辰,短短几分钟的排查过程,写完整背后的原理,前因后果,却花了几个小时。这是 Istio 文章的第一篇,希望在大家排查问题的时候,有所帮助。

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

在 Istio 比较早期的版本中,自签名 Ca 证书有效期只有一年时间,如果使用老版本 Istio 超过一年,就会遇到这个问题。当证书过期之后,我们创建新的虚拟服务或者 pod,都会因为 CA 证书过期而失败。而这时如果 Citadel 重启,它会读取过期证书并验证其有效性,就会出现以上 Cidatel 不能启动的问题。

这个 Ca 证书在 K8s 集群中,是以 istio-ca-secret 命名的 secret,我们可以使用 openssl 解码证书来查看有效期。这个问题比较简单的处理方法,就是删除这个Secret,并重启 Citadel,这时 Citadel 会走向新建和验证自签名 Ca 证书的逻辑并刷新 Ca 证书。或者参考以下官网处理方式。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值