在Kubernetes中,调度是指将Pod放置到合适的Node上,然后对应的Node上的Kubelet才能够运行这些pod.调度器通过Kubernetes的监测机制来发现集群中新创建且尚未被调度的Node上的Pod.K8s中默认的调度器是kube-scheduler, 当然,也可以自行实现一个自定义的调度器. 配合之前针对Node的静态超卖与动态超卖,需要更符合项目实际的调度器.在开始之前,先来看几个相关的概念: 驱逐: kubelet监控集群节点的CPU, 内存,磁盘空间和文件系统的inode…
读书笔记:<重来REWORK> <重来Rework--更为简单有效的商业思维>这本书是看了别人的书单而购买的,初 拿到这本书翻看时,感觉有两点与平常的书不同,一是每个小节非常短,通常是一页,最多二页,二是附有大量的插图,原以为这些插图可能是用来凑页数的,但细 看一些插图,虽然都是用手工画的,但却能用形象的办法表示出一小节的观点,很象是出自做软件原型的人员之手. 这本书包含了80多个观点,特别适合指导小型软件公司的创业,感觉对我做的软件项目也有帮助. 卸负篇TAKEDOWNS 忘了“…
一. 解决pod间依赖性 1.手动的采用不同顺序启动不同pod 2.定义restart policy(默认为alway,我们可以定义当某条件不满足时就一直重启,当满足条件是才启动容器) 3.如果对于强依赖的场景我们可以定义initContainers,必须满足条件才启动相应pod 4.stateFulset 二. 如果某个SVC被重启了,那么相应的依赖他的对应app也要重启,或则会导致服务不可用, 以下场景: 我们有两个app,nginx和php-fpm,两个pod独立部署,nginx依赖php…
目录 0. Ingress 解决了什么问题 1. Ingress Controller 2. 指定 Ingress Class 使用多个 Ingress Controller 3. 使用 YAML 描述 Ingress / Ingress Class 3.1 Ingress 3.2 Ingress Class 4. 使用 Ingress / Ingress Class 5. 使用 Ingress Controller 0. Ingress 解决了什么问题 上一篇笔记中讲解了 Service 的功…
K8S 集群结构图 一些名词: etcd etcd保存了整个集群的状态:用于持久化存储集群中所有的资源对象,如Node.Service.Pod.RC.Namespace等:API Server提供了操作etcd的封装接口API,这些API基本上都是集群中资源对象的增删改查及监听资源变化的接口. API Server 提供了资源对象的唯一操作入口,其他所有组件都必须通过它提供的API来操作资源数据,通过对相关的资源数据“全量查询”+“变化监听”,这些组件可以很“实时”地完成相关的业务功能.提供了资…
1. 例题引入:BZOJ3551 用一道例题引入:BZOJ3551 题目大意:有 \(N\) 座山峰,每座山峰有他的高度 \(h_i\).有些山峰之间有双向道路相连,共 \(M\) 条路径,每条路径有一个困难值,这个值越大表示越难走,现在有 \(Q\) 组询问,每组询问询问从点 \(v\) 开始只经过困难值小于等于 \(x\) 的路径所能到达的山峰中第 \(k\) 高的山峰的高度,如果无解输出 \(-1\).强制在线. 这道题的离线做法可以是线段树合并,可以参照我之前写过的一篇文章,里面有提到:…
简介 Quartz是什么? Quartz是一个特性丰富的.开源的作业调度框架.它可以集成到任何Java应用. 使用它,你可以非常轻松的实现定时任务的调度执行. Quartz的应用场景 场景1:提醒和告警 场景2:监听事务 场景3:定时作业 Quartz的安装 安装 1.可以直接在官网:http://www.quartz-scheduler.org/ 下载jar包. 2.如果使用maven,可以在pom.xml中添加以下依赖jar包: <dependency> <groupId>or…
<Go语言编程>一书介绍了libtask库,可以认为这个库等同于go的底层goroutine实现. libtask库的channel的数据结构如下: struct Alt { Channel *c; void *v; unsigned int op; Task *task; Alt *xalt; }; struct Altarray { Alt **a; unsigned int n; unsigned int m; }; struct Channel { unsigned int bufsi…
  UNIT 8  Processes and the Scheduler 进程与调度 学习目标 A. CPU cache 与Service time之间的关系 B. 分析应用程序使用CPU cache时的情况(CPU使用率与CPU cache命中率) C. 抢占 (根据优先级抢占) D 根据进程优先级顺序进行调度与排序 E. 监控内核和进程的性能   8.1    Characterizing prosess states 进程状态  查看进程状态: ps axo pid,comm,stat…
Schedulers, threading and testing 本文的主题为调度器,多线程以及测试. RxJava操作符(六)Utility SubscribeOn / ObserveOn SubscribeOn / ObserveOn 用来指定数据流和观察者所运行的线程. 这里数据流的运行是指数据流创建,转化,发送数据以及最后销毁的全过程. 这里观察者的运行是指数据流发送数据和观察者观察数据的过程. SubscribeOn / ObserveOn 指定线程是通过指定调度器来完成的. Sub…