【K8s源码分析(三)】-K8s调度器调度周期介绍 本次分析参考的K8s版本是v1.27.0。 K8s的整体调度框架如下图所示。 调度框架顶层函数K8s调度器调度的核心函数schedulerone在pkg/scheduler/schedule_one.go:62,如下,这里将一些解释写在了注释里 1234567891011121314151617181920212223242526272829303132333435363738394041424 2024-05-10 k8s > 源码分析 #k8s #源码分析
【K8s源码分析(二)】-K8s调度队列介绍 本次分析参考的K8s版本是v1.27.0。 调度队列简介这里是官方对于K8s中调度队列的介绍,很值得一看:Scheduling queue in kube-scheduler。整体的架构如下图所示。 简单来说K8s中的调度队列主要有3种: ActiveQ(heap结构):在每个调度周期开始时都会从这里取出一个Pod尝试调度。一开始提交的所有没有指定.spec.nodeName的Pod都会发送到 2024-05-10 k8s > 源码分析 #k8s #源码分析
【K8s源码分析(一)】-K8s调度框架及调度器初始化介绍 本次分析参考的K8s版本是v1.27.0。 调度框架介绍这是官方对于v1.27调度框架的介绍文档:https://v1-27.docs.kubernetes.io/docs/concepts/scheduling-eviction/scheduling-framework/ 将调度器的实现转化为插件的形式有助于加强调度器的拓展性、灵活性,同时也使得调度核心的实现更加的轻量、可维护。 下图展示了Po 2024-05-10 k8s > 源码分析 #k8s #源码分析
【论文阅读】Gödel:Unified Large-Scale Resource Management and Scheduling at ByteDance 论文基础信息论文地址: Gödel: Unified Large-Scale Resource Management and Scheduling at ByteDance 收录会议: 云计算顶会-ACM Symposium on Cloud Computing(SoCC2023) 作者机构: 字节跳动基础架构团队 背景资源大规模: 字节跳动在全球范围内运营着数十个大规模集群,每个集群包含有数十万 2024-05-01 论文阅读 #论文阅读 #集群调度
Docker 面试题汇总(附答案) 建议和这篇一起观看,更加全面一些:万字总结!Docker简介及底层关键技术剖析 Docker 底层原理、概念类问题1. Docker 和 LXC 有什么区别?LXC是在Linux上相关技术实现的容器,docker则在如下的几个方面进行了改进: 1、移植性:通过抽象容器配置,容器可以实现一个平台移植到另一个平台。 2、镜像系统:基于AUFS的镜像系统为容器的分发带来了很多的便利,通是共同的镜像层只需 2024-04-18 Docker #Docker #面试题
万字总结!Docker简介及底层关键技术剖析 Docker 简介Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是 2024-04-18 Docker #Docker
【MIT6.824】lab3 Fault-tolerant Key/Value Service 实现笔记 引言lab3A的实验要求如下: Your first task is to implement a solution that works when there are no dropped messages, and no failed servers. You’ll need to add RPC-sending code to the Clerk Put/Append/G 2024-04-08 MIT6.824 > Lab #分布式 #MIT6.824 #Go
【MIT6.824】lab2C-persistence, lab2D-log compaction 实现笔记 引言lab2C的实验要求如下 Complete the functions persist() and readPersist() in raft.go by adding code to save and restore persistent state. You will need to encode (or “serialize”) the state as an array of byte 2024-04-08 MIT6.824 > Lab #分布式 #MIT6.824 #Go
Kubernetes 架构及部署、调度、状态管理流程简介 Kubernetes简称k8s,是用于自动部署、扩展和管理“容器化应用程序”的开源系统。该系统由Google设计并捐赠给Cloud Native Computing Foundation来使用。 它旨在提供“跨主机集群的自动部署、扩展以及运行应用程序容器的平台”。 它支持一系列容器工具,包括Docker等。它是当前绝对主流的容器管理平台。目前阿里(ACK)、字节( Gödel )、美团(LAR)内 2024-04-02 k8s > 基础知识 #k8s
分布式系统中的线性一致性 前言分布式一致性指的是在同一个系统中,不同客户端操作看到的数据之间的关系。这里重点关注的是网络键值存储系统中的一致性模型。 首先为什么这有可能出现问题呢?主要是来源于分布式系统中特有的问题,包括: 并发读/写 副本 缓存 故障、恢复 重传 … 这些问题就有可能导致系统出现意想不到的场景,比如如下是一个简单的生产者代码: 12put("result", 27)put 2024-03-28 MIT6.824 > 其他 #分布式 #MIT6.824