Kubernete kube-Scheduler
文章平均质量分 90
k8sssssssss
富士康质检员张全蛋
人生实难,唯有自渡。只有接受了真实现的现状和真实的自己,调整好心态,才能脚踏实地的活着,然后去发现角落处的那些惊喜和美好,去相信一切苦难困境都会过去!“即使身处阴沟,也要记得仰望星空”。
展开
-
Kubernetes inotify watch 耗尽
文件句柄:在 Linux 环境中,任何事物都是用文件来表示,设备是文件,目录是文件,socket 也是文件。用来表示所处理对象的接口和唯一接口就是文件。应用程序在读/写一个文件时,首先需要打开这个文件,打开的过程其实质就是在进程与文件之间建立起连接,句柄的作用就是唯一标识此连接。fs.inotify.max_queued_events:表示调用inotify_init时分配给inotify instance中可排队的event的数目的最大值,超出这个值的事件被丢弃,但会触发IN_Q_OVERFLOW事件。.原创 2022-08-30 10:07:59 · 1938 阅读 · 0 评论 -
Kubernetes APIServer,Etcd,controller manager,scheduler 高可用原理
这两个月和博云合作的项目是要用于客户生产环境的,这个和我以前做的东西有很大的不同,所有基础架构必须给出高可用的解决方案。在这之前我只做过一些流量较小的用户产品或者一些原型项目,一开始基础架构都只给出了单节点的解决方案,结果被大师兄喷这个在生产环境根本不可用。不过事实确实是在一个真实的分布式系统中硬件损坏、进程崩溃、网络不通都可能直接导致系统不可用。...原创 2022-07-20 21:28:27 · 2044 阅读 · 0 评论 -
Kubernetes kube-scheduler调度器
APIServer职责主要是认证,鉴权,准入,它判断一个请求是谁发起的,发起人有没有相应的权限,这个请求是不是合法的,以及从apiserver这端觉得要对原始请求变更一些属性,那么它就可以在这里面去做。apserver经过这些环节之后,这些检查都通过了,请求也合法,那么它会将请求存在etcd里面。apiserver本身是k8s集群当中唯一和etcd数据库通信的这样一个组件,其他所有组件都需要和apiserver去通信,去获取数据的变更信息。............原创 2022-07-19 21:57:15 · 653 阅读 · 0 评论 -
Pod 一直处于 Pending 状态
Pending 状态说明 Pod 还没有被调度到某个节点上,需要看下 Pod 事件进一步判断原因,比如:下面列举下可能原因和解决方法。 节点资源不够 节点资源不够有以下几种情况: CPU 负载过高 剩余可以被分配的内存不够 剩余可用 GPU 数量不够 (通常在机器学习场景,GPU 集群环境) 如果判断某个 Node 资源是否足够? 通过 kubectl describe node <node-name> 查看 node 资源情况,关注以下信息:..原创 2022-03-15 12:21:56 · 4482 阅读 · 0 评论 -
Kubernetes 的资源模型与资源管理
而作为 Kubernetes 的资源管理与调度部分的基础,我们要从它的资源模型开始说起。在 Kubernetes 里,Pod 是最小的原子调度单位。这也就意味着,所有跟调度和资源管理相关的属性都应该是属于 Pod 对象的字段。而这其中最重要的部分,就是 Pod 的 CPU 和内存配置,如下所示:apiVersion: v1kind: Podmetadata: name: frontendspec: containers: - name: db image: mysql转载 2021-11-01 23:26:40 · 1002 阅读 · 0 评论 -
Kubernetes 基础调度能力(资源调度、关系调度)
这节课主要讲三部分的内容:Kubernetes 的调度过程; Kubernetes 的基础调度能力(资源调度、关系调度); Kubernetes 高级调度能力(优先级、抢占)。Kubernetes 基础调度力下面为大家介绍一下 Kubernetes 的基础调度能力,Kubernetes 的基础调度能力会用两部分来展开介绍:第一部分是资源调度——介绍一下 Kubernetes 基本的一些 Resources 的配置方式,还有 Qos 的概念,以及 Resource Quota 的概念和.转载 2021-04-20 11:26:27 · 737 阅读 · 0 评论 -
Kubernetes 默认调度器简介
在 Kubernetes 项目中,默认调度器的主要职责,就是为一个新创建出来的 Pod,寻找一个最合适的节点(Node)。而这里“最合适”的含义,包括两层:从集群所有的节点中,根据调度算法挑选出所有可以运行该 Pod 的节点 从第一步的结果中,再根据调度算法挑选一个最符合条件的节点作为最终结果。所以在具体的调度流程中,默认调度器会首先调用一组叫作 Predicate 的调度算法,来检查每个 Node。然后,再调用一组叫作 Priority 的调度算法,来给上一步得到的结果里的每个 Node...转载 2021-11-06 12:18:23 · 643 阅读 · 0 评论 -
Kubernetes 调度过程
主要讲三部分的内容:Kubernetes 的调度过程; Kubernetes 的基础调度能力(资源调度、关系调度); Kubernetes 高级调度能力(优先级、抢占)。Kubernetes 调度过程首先来看第一部分 - Kubernetes 的调度过程。如下图所示,画了一个很简单的 Kubernetes 集群架构,它包括了一个 kube-ApiServer,一组 webhooks 的 Controller,以及一个默认的调度器 kube-Scheduler,还有两台物理机节点 Node.转载 2021-04-19 11:42:58 · 522 阅读 · 0 评论 -
Kubernetes 默认调度器调度策略解析 Predicates 预选 Priorities 优选
在上一篇文章中,我主要为你讲解了 Kubernetes 默认调度器的设计原理和架构。在今天这篇文章中,我们就专注在调度过程中 Predicates 和 Priorities 这两个调度策略主要发生作用的阶段。首先,我们一起看看 Predicates。Predicates 在调度过程中的作用,可以理解为 Filter,即:它按照调度策略,从当前集群的所有节点中,“过滤”出一系列符合条件的节点。这些节点,都是可以运行待调度 Pod 的宿主机。而在 Kubernetes 中,默认的调度策略有如下三种。转载 2021-11-08 22:15:15 · 1237 阅读 · 0 评论 -
Kubernetes 调度 Pod 亲和调度
Pod 亲和调度首先我们来看 Pod 亲和调度,假如我想把一个 Pod 和另一个 Pod 放在一起,这时我们可以看上图中的实例写法,填写上 podAffinity,然后填上 required 要求。在这个例子中,必须要调度到带了 key: k1 的 Pod 所在的节点,并且打散粒度是按照节点粒度去打散索引的。这种情况下,假如能找到带 key: k1 的 Pod 所在节点,就会调度成功。假如这个集群不存在这样的 Pod 节点,或者是资源不够的时候,那就会调度失败。这是一个严格的亲和调度,我们叫做.原创 2021-04-27 17:15:44 · 455 阅读 · 0 评论 -
Kubernetes Pod调度 Node亲和调度
Kubernetes Pod调度说明简介Scheduler 是 Kubernetes 的调度器,主要任务是把定义的Pod分配到集群的节点上,听起来非常简单,但要考虑需要方面的问题: 公平:如何保证每个节点都能被分配到资源 资源高效利用:集群所有资源最大化被使用 效率:调度性能要好,能够尽快的对大批量的Pod完成调度工作 灵活:允许用户根据自己的需求控制调度的流程 Scheduler 是作为单独的服务运行的,启动之后会一直监听API Server,获取 p...原创 2020-11-02 16:10:32 · 6706 阅读 · 2 评论 -
Kubernetes 调度 Node污点/容忍
Taint 和 Toleration节点亲和性,是pod的一种属性(偏好或硬性要求),它使pod被吸引到一类特定的节点。Taint 则相反,它使节点能够排斥一类特定的 podTaint 和 toleration 相互配合,可以用来避免 pod 被分配到不合适的节点上。每个节点上都可以应用一个或多个taint ,这表示对于那些不能容忍这些 taint 的 pod,是不会被该节点接受的。如果将 toleration 应用于 pod上,则表示这些 pod 可以(但不要求)被调度到具有匹配 taint ..原创 2020-11-03 17:05:39 · 3190 阅读 · 0 评论 -
Kubernetes 默认调度器的优先级与抢占机制 解决Pod 调度失败
在上一篇文章中,我为你详细讲解了 Kubernetes 默认调度器的主要调度算法的工作原理。在本篇文章中,我再来为你讲解一下 Kubernetes 调度器里的另一个重要机制,即:优先级(Priority )和抢占(Preemption)机制。首先需要明确的是,优先级和抢占机制,解决的是 Pod 调度失败时该怎么办的问题。正常情况下,当一个 Pod 调度失败后,它就会被暂时“搁置”起来,直到 Pod 被更新,或者集群状态发生变化,调度器才会对这个 Pod 进行重新调度。但在有时候,我们希望的是..转载 2021-11-20 13:10:30 · 680 阅读 · 0 评论 -
Kubernetes PriorityClass 高级调度能力 优先级调度/抢占调度
介绍完了基础调度能力之后,下面来了解一下高级调度能力。优先级调度优先级调度和抢占,主要概念有:Priority Preemption首先来看一下调度过程提到的四个特点,我们如何做到集群的合理利用?当集群资源足够的话,只需要通过基础调度能力就能组合出合理的使用方式。 但是假如资源不够,我们怎么做到集群的合理利用呢?通常的策略有两类:先到先得策略 (FIFO) -简单、相对公平,上手快 优先级策略 (Priority) - 符合日常公司业务特点在实际生产中,如果使用先到先得策转载 2022-03-24 18:01:34 · 1350 阅读 · 0 评论 -
How to rightsize the Kubernetes resource limits
Kubernetes resource limits are always a tricky setting to tweak, since you have to find thesweet spot between having the limits too tight or too loose.In this article, which is a continuation of theKubernetes capacity planning series, you’ll learnhow ...转载 2021-07-27 11:21:11 · 338 阅读 · 0 评论 -
云原生高可用与容灾系列: 服务高可用 Pod 打散调度
云原生高可用与容灾系列: Pod 打散调度https://mp.weixin.qq.com/s/Kb6D-4vDHdoBBTAG3h1KtQ概述将 Pod 打散调度到不同地方,可避免因软硬件故障、光纤故障、断电或自然灾害等因素导致服务不可用,以实现服务的高可用部署。Kubernetes 支持两种方式将 Pod 打散调度: Pod 反亲和 (Pod Anti-Affinity) Pod 拓扑分布约束 (Pod Topology Spread Constraints) 本文介绍两转载 2021-12-15 23:36:34 · 707 阅读 · 0 评论