kubernetes中的锁机制设计与实现
资源锁是通过一个资源的CRUD操作,然后配合分布式锁的一些机制来完成,分布式环境中Leader节点的选举,今天我们来看下k8s里面是如何基于configMap来实现的吧 1. 面向终态的锁基础篇 在分布式系统中通常由各种各样的锁,我们先来看...
资源锁是通过一个资源的CRUD操作,然后配合分布式锁的一些机制来完成,分布式环境中Leader节点的选举,今天我们来看下k8s里面是如何基于configMap来实现的吧 1. 面向终态的锁基础篇 在分布式系统中通常由各种各样的锁,我们先来看...
随着kubernetes的兴起,很多公司都有了Paas平台建设的能力,但是应用Paas平台建设上基本上都是形态各异,百花齐放,而OAM在笔者看来就是应用Paas平台建设的kubernetes,未来的事实标准,今天让我们一起来聊下OAM吧。 ...
最近闲下来,打算把Knative的核心组件Serving给学习下,会继续采用k8s源码学习的方式,管中窥豹以小击大,学习serving的主要目标: 可观测性基础设施、自动伸缩、流量管理等核心组件的设计与实现,今天先简单臆测下,感兴趣的同学,...
基于K8s的容器云Paas平台应该是每个使用k8s的公司必须要做的一件事,今天我们尝试以应用为中心,采用搭积木的方式完成一个最小版本的容器云Paas平台的设计,Let’s Go 1. 基础功能 我们期望是实现一个尽可能自助的服务...
1. 前言 在k8s的面试中Pod的创建流程是一个常问的问题,而kubelet则无疑重中之重,之前也写过一篇Pod的运行,不过没有涉及到具体的代码,本文尝试用代码的方式,来复数整个核心的流程,同时为了方便记忆,又将整个过程分为:准备、配置、...
K8s中的命令执行由apiserver、kubelet、cri、docker等组件共同完成, 其中最复杂的就是协议切换以及各种流拷贝相关,让我们一起来看下关键实现,虽然代码比较多,但是不会开发应该也能看懂,祝你好运 1. 基础概念 K8s中...
HPA是k8s中Pod横向伸缩的实现,里面有很多可以借鉴的思想,比如延迟队列、时间序列窗口、变更事件机制、稳定性考量等关键机制, 让我们一起来学习下大佬们的关键实现 1. 基础概念 HorizontalPodAutoscaler(后面简称H...
Deployment是k8s中部署更新的关键实现,今天我们一起初探下其关键机制包括: 暂停、回滚、扩缩容、更新策略的实现 1. 基础概念 Deployment本质上其实只是一种部署策略,在了解其实现之前,先简单介绍一下部署系统里面常见的概念...
K8s中的批处理任务模块主要是由Job控制器完成,今天我们就来关注下其底层的关键设计,包括完成状态、并行模式、并行策略等关键机制 1. 基础概念 在聊k8s的任务模块的实现的时候,我们先看一下传统的任务系统的设计与实现,然后聊下基于k8s的...
StatefulSet是k8s中有状态应用管理的标准实现,今天就一起来了解下其背后设计的场景与原理,从而了解其适用范围与场景 1. 基础概念 首先介绍有状态应用里面的需要考虑的一些基础的事情,然后在下一章我们再去看statefulSet的关...
今天我们来聊聊一种Pod保护的方式PDB(PodDisruptionBudget)这是一个被介绍的很复杂的概念, 本文希望以一种更简单的方式去聊聊其内部的具体实现 1. 基础概念 PDB跟其他类型的资源并无本质的差别,本身也并没有复杂的设计...
node其实就对应着kubernetes中的工作组件,今天我们来看下kubernetes中针对node的生命周期的管理包括心跳检测/污点/容忍/中断等机制的实现 1. 基础概念 1.1 心跳机制 心跳机制是分布式调度系统中常见的设计, ku...