- 博客(3)
- 收藏
- 关注
原创 kube-scheduler的SchedulingQueue解析
前言到今天为止,笔者从事集群调度领域大约有7年多。突然想看看kubernetes的调度器是如何实现的,主要还是抱着学习的态度,看看kubernetes的调度实现在自己的工作中是否有可借鉴的地方。调度设计一般缺少不了队列的设计,好的队列设计会让调度事半功倍。所以本文以调度队列为突破口,研究调度队列的设计与实现,为后续深入理解调度器的实现做准备。理解调度队列的设计,多半都能推导出调度器的实现,因为调度器的本质就是从队列中取出、决策(放置)然后再送到另一个队列的过程。有一点读者需要知道,虽然kuber
2020-12-29 18:19:52 16010 2
原创 konfig:采用ConfigMap实现线上配置热更新
前言利用kubernetes部署应用越来越流行,而运行在kubernetes中的服务需要的各种各样的配置如何才能实现热更新?难道需要在kubernetes中再部署zookeeper或者etcd之类的服务么?本文采用的方案是利用ConfigMap作为服务配置的持久化方案,并利用kubernetes提供的watch能力主动发现ConfigMap更新并及时更新到服务的配置中。这样运维人员只需要利用kubernetes的控制台(cli或者web)修改线上服务的配置,比如修改日志等级、降级、调整阈值等等。本文
2020-12-05 08:50:30 15644
原创 NestedMap:一个可以无限嵌套的Map
1.概述NestedMap是在sync.Map基础上实现的无限嵌套(递归)的Map,由于sync.Map天生的协程安全,使用NestedMap时不用考虑锁的问题。NestedMap应用面还是比较广泛的,比如对大量的对象进行分类管理。以笔者从事的集群调度领域为例,一个综合性的scheduler管理多个类型的大量worker,一般两层(根节点除外)的Map:第一层是按照worker类型分类,第二层是每个分类的worker集群。笔者在介绍concurrent.Map的文章中专门剖析过sync.Map,其中
2020-12-01 20:07:32 15044
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人