首页 > 其他分享 >Pod 资源调度策略概念详解(十二)

Pod 资源调度策略概念详解(十二)

时间:2023-09-03 23:32:09浏览次数:38  
标签:node Kubernetes 调度 节点 详解 Pod pod

Pod 资源调度策略概念详解(十二)_资源调度

前言

在云计算时代,有效地在 Kubernetes 集群中调度 Pod 资源是至关重要的。在本文中,我们将深入探讨 Kubernetes 集群中 Pod 资源调度策略的概念,以及如何根据需求选择最佳的调度策略。

首先,我们需要了解 Kubernetes 集群中的 Pod 资源调度。在 Kubernetes 中,Pod 是最小的、可部署的单位,包含运行应用程序所需的所有资源。资源调度器是 Kubernetes 的核心组件之一,负责在节点上分配和调度 Pod。

Pod 资源调度策略是资源调度器在决定将 Pod 放置在哪个节点上时所使用的规则和准则。正确的调度策略对于实现应用程序的性能、可扩展性和容灾至关重要。

概述

在默认情况下,一个 pod 在哪个 node 节点上,是由 scheduler 组件采用响应的算法计算出来的,这个过程不受人工控制,但在实际使用中,这并不满足需求,有很多情况下,我们想控制某些 pod 到某些 node 节点上运行,这就需要使用 pod 的调度策略

调度策略

  • 自动调度: 运行在哪个node节点上完全由scheduler经过一系列算法计算得出
  • 定向调度: NodeName、NodeSelector
  • NodeName: 根据 node 的名称运行在指定的 node 节点。
  • NodeSelector: 根据 node 节点上的标签,关联标签选择器,最终决定运行在哪个 node 节点
  • 亲和性调度: NodeAffinity、PodAffinity、PodAntiAfinity。
  • pod可以亲和度选择在哪个 node 上运行,也可以通过反亲和度,不在哪个 node 上运行
  • 污点 (容忍)调度: Taints、 Toleration
  • node 节点可以定义污点策略,配置了污点,表示不允许 pod 在当前 node 上运行
  • pod 可以定义 Toleration 容忍策略,即配了容忍的 pod 可以在配了污点的node上运行


标签:node,Kubernetes,调度,节点,详解,Pod,pod
From: https://blog.51cto.com/u_15222272/7343687

相关文章

  • Jenkins详解(三)
    Jenkins详解(三)目录Jenkins详解(三)1、Jenkins介绍2、JenkinsCI/CD流程3、部署环境3.1环境准备3.2安装GitLab3.3初始化GitLab3.4GitLab中文社区版补丁包安装3.5修改GitLab配置文件/etc/gitlab/gitlab.rb3.6在宿主机输入http://192.168.200.26:88地址就可以访问了3.7创建......
  • 设计模式-原型模式详解
    文章目录前言理论基础1.原型模式定义2.原型模式角色3.原型模式工作过程4.原型模式的优缺点实战应用1.原型模式适用场景2.原型模式实现步骤3.原型模式与单例模式的区别原型模式的变体1.带有原型管理器的原型模式2.懒汉式单例模式的原型模式实现3.细粒度原型模式总结前言......
  • linux IP地址原理,分类,子网划分,VLAN,TRUNK详解
    鱼弦:全栈领域创作新星创作者、51CTO(Top红人+专家博主)、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen) LinuxIP地址原理和分类在计算机网络中,IP地址是用于唯一标识网络中的主机的一组数字,它由32位二进制数表示,通常采用点分十进制表示法。IP......
  • Java内存模型(JMM)详解
    面试官:讲讲什么是JMMJMM(Java内存模型)详解1什么是JMM?JMM就是Java内存模型(JavaMemoryModel)JMM是一个抽象的概念,他描述的是和多线程相关的一组规范,需要各个JVM的实现来遵守JMM规范,以便于开发者可以利用这些规范,更方便的开发多线程程序。这样一来,即使同一个程序在不同的虚拟......
  • 五、调度算法
    1、进程调度算法也称CPU调度算法,因为进程由CPU调度。当CPU空闲时选择某个就绪状态的进程并给其分配CPU发生CPU调度的常见情况:进程从运行状态转到等待状态进程从运行状态转到就绪状态进程从等待状态转到就绪状态进程从运行状态到终止状态1和4两种情况下的调度称为非抢占式......
  • linux教程:vm.max_map_count参数详解
    vm.max_map_count是一个与内核虚拟内存子系统相关的参数,用于控制进程可以拥有的内存映射区域的最大数量。它通常用于限制一个进程可以打开的文件数量,特别是在使用大量内存映射文件的情况下。在Linux系统上,vm.max_map_count参数的默认值通常是较小的数值,例如65530。然而,对于一些需要......
  • javaee spring配置文件bean标签详解
    <beanid="drink_01"name="drink_02"scope="singleton"lazy-init="true"init-method="init"destroy-method="destroy"class="com.test.pojo.Drink"/>scope属性bean标签中添加......
  • VueRouter使用详解(5000字通关大全)
    VueRouter是一个官方的路由管理器,它可以让我们在Vue应用中实现单页面应用(SPA)的效果,即通过改变URL而不刷新页面来显示不同的内容。VueRouter可以让我们定义多个路由,每个路由对应一个组件,当URL匹配到某个路由时,就会渲染对应的组件。VueRouter还提供了很多高级功能,如嵌套路由、动态......
  • Vue组件通信方式详解(全面版)
    在Vue应用开发中,组件通信是一个重要的话题。不同的组件可能需要在不同的情况下进行数据传递和交互。Vue提供了多种方式来实现组件通信,每种方式都有其适用的场景。本文将详细介绍Vue中实现组件通信的各种方式,并为每种方式提供通俗易懂的代码示例。公众号:Code程序人生,个人网站:https:/......
  • Java常用四大线程池用法以及ThreadPoolExecutor详解(转)
    为什么用线程池?1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处-理效率2.线程并发数量过多,抢占系统资源从而导致阻塞3.对线程进行一些简单的管理在Java中,线程池的概念是Executor这个接口,具体实现为ThreadPoolExecutor类,学习Java中的线程池,就可以......