详解 Kubernetes 垃圾收集器的实现原理

垃圾收集器在 Kubernetes 中的作用就是删除之前有所有者但是现在所有者已经不存在的对象,例如删除 ReplicaSet 时会删除它依赖的 Pod,虽然它的名字是垃圾收集器,但是它在 Kubernetes 中还是以控制器的形式进行设计和实现的。在 Kubernetes 引入垃圾收集器之前,所有的级联删除逻辑都是在客户端完成的,kubectl 会先删除 ReplicaSet 持有的 Pod 再删除 ReplicaSet,但是垃圾收集器的引入就让级联删除的实现移到了服务端,我们在这里就会介绍垃圾收集器的设计和实现原理。 »

详解 Kubernetes ReplicaSet 的实现原理

Kubernetes 中的 ReplicaSet 主要的作用是维持一组 Pod 副本的运行,它的主要作用就是保证一定数量的 Pod 能够在集群中正常运行,它会持续监听这些 Pod 的运行状态,在 Pod 发生故障重启数量减少时重新运行新的 Pod 副本。这篇文章会介绍 ReplicaSet 的工作原理,其中包括在 Kubernetes 中是如何被创建的、如何创建并持有 Pod 并在出现问题时重启它们。 »

详解 Kubernetes Volume 的实现原理

在 Kubernetes 集群中,虽然无状态的服务非常常见,但是在实际的生产中仍然会需要在集群中部署一些有状态的节点,比如一些存储中间件、消息队列等等。作为 Kubernetes 集群中除了 Pod 和 Service 之外最常见的基本对象,Volume 不仅能够解决 Container 中文件的临时性问题,也能够让同一个 Pod 中的多个 Container 共享文件。这篇文章并不会介绍 Kubernetes 中 Volume 的使用方法和 API,而是会着重介绍 Volume 的工作原理,包含其创建过程、多种 Volume 实现的异同以及如何与云服务提供商进行适配。 »

详解 Kubernetes Service 的实现原理

每一个 Kubernetes 的 Service 都是一组 Pod 的逻辑集合和访问方式的抽象,我也可以把 Service 加上的一组 Pod 称作是一个微服务。在这篇文章中,我们将分两个部分介绍 Kubernetes 中 Service 的实现原理,在第一部分我们将介绍 Kubernetes 如何处理服务的创建,第二部分会介绍它是如何转发来自节点内部和外部的流量。 »

详解 Kubernetes Pod 的实现原理

Pod 是 Kubernetes 集群中能够被创建和管理的最小部署单元,想要彻底和完整的了解 Kubernetes 的实现原理,我们必须要清楚 Pod 的实现原理以及最佳实践。在这里,我们将分两个部分对 Pod 进行解析,第一部分主要会从概念入手介绍 Pod 中必须了解的特性,而第二部分会介绍 Pod 从创建到删除的整个生命周期内的重要事件在源码层面是如何实现的。 »

从 Kubernetes 中的对象谈起

上一篇文章中,我们其实介绍了 Kubernetes 的对象其实就是系统中持久化的实体,Kubernetes 用这些实体来表示集群中的状态,它们描述了集群中运行的容器化应用以及这些对象占用的资源和行为。当我们想要了解 Kubernetes 的实现原理时,绕不开的其实就是 Kubernetes 中的对象,而在 Kubernetes 中,规格(Spec)和状态(Status)是用于描述 Kubernetes 对象的两个最重要的嵌套对象,在这篇文章中会重点介绍对象的规格和状态的使用方式和实现原理。 »

谈 Kubernetes 的架构设计与实现原理

Kubernetes 基本上是这两年最热门、最被人熟知的技术了,它为软件工程师提供了强大的容器编排能力,模糊了开发和运维之间的边界,让我们开发、管理和维护一个大型的分布式系统和项目变得更加容易。这篇文章是整个 Kuberentes 架构设计与实现原理的开篇,文章会先简单介绍 Kuberentes 的背景、依赖的技术,它的架构以及设计理念,最后会提及一些关键概念和实现原理。 »