当前位置: 首页 > news >正文

karmada-descheduler

descheduler规则

 `karmada-descheduler` 定期检测所有部署,通常是每2分钟一次,并确定目标调度集群中无法调度的副本数量。它通过调用  `karmada-scheduler-estimator` 来完成这个过程。如果发现无法调度的副本,它将通过减少  `spec.clusters`  的配置来将它们驱逐出去。这个操作会触发  `karmada-scheduler`  基于当前情况进行“规模调度”。
需要注意的是,只有在将副本调度策略设置为动态划分时,这个驱逐和重新调度的过程才会生效。这种策略允许根据可用资源将副本动态分配到不同的集群中。通过定期检查集群的状态和资源可用性,Karmada可以调整副本的放置位置,以确保资源利用的高效性和系统稳定性。

前提条件

确保所有k8s成员加入到karmada当中且karmada-descheduler加入到karmada-host中如图所示

测试

模拟缺乏资源而导致调度失败,创建俩个nginx副本将他们放到俩个成员集群中

```
root@karmada-cluster01:/home/karmada-teaching/descheduler# cat pp-deploy-nginx-descheduler.yaml 
apiVersion: policy.karmada.io/v1alpha1
kind: PropagationPolicy
metadata:
  name: nginx-descheduler-propagation
spec:
  resourceSelectors:
    - apiVersion: apps/v1
      kind: Deployment
      name: nginx-descheduler
  placement:
    clusterAffinity:
      clusterNames:
        - cluster1
        - cluster2
    replicaScheduling:
      replicaDivisionPreference: Weighted
      replicaSchedulingType: Divided
      weightPreference:
        dynamicWeight: AvailableReplicas
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-descheduler
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - image: 10.250.2.118:18000/library/nginx:latest
        name: nginx
```

kubectl apply -f pp-deploy-nginx-descheduler.yaml -n karmada --kubeconfig ~/kube-karmada
propagationpolicy.policy.karmada.io/nginx-descheduler-propagation configured
deployment.apps/nginx-descheduler configured

此时都在cluster01上 现在将cluster集群停止调度

root@karmada-cluster01:/home/karmada-teaching/descheduler# kubectl --kubeconfig ~/.kube/21config cordon k8s-cluster1-node2
node/k8s-cluster1-node2 cordoned
root@karmada-cluster01:/home/karmada-teaching/descheduler# kubectl --kubeconfig ~/.kube/21config cordon k8s-cluster1-node1
node/k8s-cluster1-node1 cordoned
root@karmada-cluster01:/home/karmada-teaching/descheduler# kubectl --kubeconfig ~/.kube/21config cordon k8s-cluster01 
node/k8s-cluster01 cordoned

删除nginx pod

root@karmada-cluster01:/home/karmada-teaching/descheduler# kubectl --kubeconfig ~/.kube/21config delete pod -l app=nginx -n karmada
pod "nginx-descheduler-7864466765-fgqsc" deleted
pod "nginx-descheduler-7864466765-lhvnr" deleted
pod "nginx-descheduler-7864466765-mbh4n" deleted


```

此时集群1的po状态

```
root@k8s-cluster1-master:/home/k8s# kubectl get po -n karmada  -owide 
NAME                                 READY   STATUS    RESTARTS   AGE   IP       NODE     NOMINATED NODE   READINESS GATES
nginx-descheduler-7864466765-b4h4l   0/1     Pending   0          18s   <none>   <none>   <none>           <none>
nginx-descheduler-7864466765-cvx4k   0/1     Pending   0          18s   <none>   <none>   <none>           <none>
nginx-descheduler-7864466765-xr22g   0/1     Pending   0          18s   <none>   <none>   <none>           <none>
```

大概等5-7分钟就会从cluster1到cluster2当当中


已经调度到另外集群当中

相关文章:

karmada-descheduler

descheduler规则 karmada-descheduler 定期检测所有部署&#xff0c;通常是每2分钟一次&#xff0c;并确定目标调度集群中无法调度的副本数量。它通过调用 karmada-scheduler-estimator 来完成这个过程。如果发现无法调度的副本&#xff0c;它将通过减少 spec.clusters 的配…...

【热门主题】000075 探索嵌入式硬件设计的奥秘

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 【热…...

Android okhttp请求

下面是一个用 OkHttp 封装的 GET 请求方法&#xff0c;适用于 Android 项目。该方法包括基本的网络请求、错误处理&#xff0c;并支持通过回调返回结果。 封装 GET 请求的工具类 添加依赖 在你的 build.gradle 文件中&#xff0c;确保添加了 OkHttp 的依赖&#xff1a; imple…...

嵌入式蓝桥杯学习4 lcd移植

cubemx配置 复制前面配置过的文件 打开cubemx&#xff0c;将PB8,PB9配置为GPIO-Output。 点击GENERATE CODE. 文件移植 1.打开比赛提供的文件包&#xff0c;点击Inc文件夹 2.点击Inc文件夹。复制fonts.h和lcd.h&#xff0c;粘贴到我们自己的工程文件夹的bsp中&#xff08…...

电子应用设计方案-38:智能语音系统方案设计

智能语音系统方案设计 一、引言 智能语音系统作为一种便捷、自然的人机交互方式&#xff0c;正逐渐在各个领域得到广泛应用。本方案旨在设计一个高效、准确、功能丰富的智能语音系统。 二、系统概述 1. 系统目标 - 实现高准确率的语音识别和自然流畅的语音合成。 - 支持多种语…...

渗透测试:网络安全的深度探索

一、引言 在当今数字化时代&#xff0c;网络安全问题日益凸显。企业和组织面临着来自各种恶意攻击者的威胁&#xff0c;他们试图窃取敏感信息、破坏系统或进行其他恶意活动。渗透测试作为一种主动的安全评估方法&#xff0c;能够帮助企业发现潜在的安全漏洞&#xff0c;提高网…...

基于SpringBoot的“小区物业管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“小区物业管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 个人信息界面图 费用信息管理…...

调试android 指纹遇到的坑

Android8以后版本 一、指纹服务不能自动 指纹服务fingerprintd(biometrics fingerprintservice)&#xff0c;可以手动起来&#xff0c;但是在init.rc中无法启动。 解决办法&#xff1a; 1.抓取开机时kernel log &#xff0c;确认我们的启动指纹服务的init.rc 文件有被init.c…...

剑指offer(专项突破)---字符串

总目录&#xff1a;剑指offer&#xff08;专项突破&#xff09;---目录-CSDN博客 1.字符串的基本知识 C语言中&#xff1a; 函数名功能描述strcpy(s1, s2)将字符串s2复制到字符串s1中&#xff0c;包括结束符\0&#xff0c;要求s1有足够空间容纳s2的内容。strncpy(s1, s2, n)…...

【springboot】 多数据源实现

文章目录 1. 引言&#xff1a;多数据源的必要性和应用场景**为什么需要多数据源&#xff1f;****应用场景** 2. Spring Boot中的数据源配置2.1 默认数据源配置简介2.2 如何在Spring Boot中配置多个数据源 3. 整合MyBatis与多数据源**配置MyBatis使用多数据源****Mapper接口的数…...

多模态COGMEN详解

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…...

django 实战(python 3.x/django 3/sqlite)

要在 Python 3.x 环境中使用 Django 3.2 和 SQLite 创建一个新的 Django 项目&#xff0c;你可以按照以下步骤进行操作。这些步骤假设你已经安装了 Python 3.x 和 pip。 1. 设置虚拟环境 首先&#xff0c;建议为你的 Django 项目创建一个虚拟环境&#xff0c;以便隔离项目的依…...

图数据库 | 12、图数据库架构设计——高性能计算架构

在传统类型的数据库架构设计中&#xff0c;通常不会单独介绍计算架构&#xff0c;一切都围绕存储引擎展开&#xff0c;毕竟存储架构是基础&#xff0c;尤其是在传统的基于磁盘存储的数据库架构设计中。 类似地&#xff0c;在图数据库架构设计中&#xff0c;项目就围绕存储的方…...

Unity 利用Button 组件辅助Scroll View 滚动

实现 创建枚举类ScrollDir 以区分滚动方向。每组两个按钮负责同方向上左右/上下滚动。 Update 中实时获取Scroll View 滚动条当前位置。 if (dir.Equals(ScrollDir.vertical)) {posCurrent scroll.verticalNormalizedPosition; } else if (dir.Equals(ScrollDir.horizontal)…...

Ubuntu 安装Ansible ansible.cfg配置文件生成

安装后的ansible.cfg后的默认内容如下&#xff1a; rootlocalhost:/etc/ansible# cat ansible.cfg # Since Ansible 2.12 (core): # To generate an example config file (a "disabled" one with all default settings, commented out): # $ ansible-…...

使用PaddlePaddle实现线性回归模型

目录 ​编辑 引言 PaddlePaddle简介 线性回归模型的构建 1. 准备数据 2. 定义模型 3. 准备数据加载器 4. 定义损失函数和优化器 5. 训练模型 6. 评估模型 7. 预测 结论 引言 线性回归是统计学和机器学习中一个经典的算法&#xff0c;用于预测一个因变量&#xff0…...

MongoDB集群的介绍与搭建

MongoDB集群的介绍与搭建 一.MongoDB集群的介绍 注意&#xff1a;Mongodb是一个比较流行的NoSQL数据库&#xff0c;它的存储方式是文档式存储&#xff0c;并不是Key-Value形式&#xff1b; 1.1集群的优势和特性 MongoDB集群的优势主要体现在以下几个方面&#xff1a; (1)高…...

PhpStorm配置Laravel

本文是2024最新的通过phpstorm创建laravel项目 1.下载phpstorm 2.检查本电脑的环境phpcomposer 显示图标就是安装成功了&#xff0c;不会安装的百度自行安装 3.安装完后&#xff0c;自行创建一个空目录不要有中文&#xff0c;然后运行cmd 输入以下命令&#xff0c;即可创建…...

Solving the Makefile Missing Separator Stop Error in VSCode

1. 打开 Makefile 并转换缩进 步骤 1: 在 VSCode 中打开 Makefile 打开 VSCode。使用文件浏览器或 Ctrl O&#xff08;在 Mac 上是 Cmd O&#xff09;打开你的 Makefile。 步骤 2: 打开命令面板 按 Ctrl Shift P&#xff08;在 Mac 上是 Cmd Shift P&#xff09;&…...

MySQL大小写敏感、MySQL设置字段大小写敏感

文章目录 一、MySQL大小写敏感规则二、设置数据库及表名大小写敏感 2.1、查询库名及表名是否大小写敏感2.2、修改库名及表名大小写敏感 三、MySQL列名大小写不敏感四、lower_case_table_name与校对规则 4.1、验证校对规则影响大小写敏感4.1、验证校对规则影响排序 五、设置字段…...

OFA-VQA镜像可解释性增强:Grad-CAM热力图可视化答案依据区域

OFA-VQA镜像可解释性增强&#xff1a;Grad-CAM热力图可视化答案依据区域 1. 引言&#xff1a;为什么需要可视化VQA模型的决策依据&#xff1f; 当我们使用视觉问答&#xff08;VQA&#xff09;模型时&#xff0c;经常会遇到一个关键问题&#xff1a;模型给出的答案真的可靠吗…...

bert-base-chinese新手必看:完形填空与语义相似度功能实测教程

bert-base-chinese新手必看&#xff1a;完形填空与语义相似度功能实测教程 1. 快速了解bert-base-chinese bert-base-chinese是Google发布的经典中文预训练模型&#xff0c;作为NLP领域的基础模型&#xff0c;它已经成为中文自然语言处理任务的标准选择之一。这个模型特别适合…...

weibo-rss:让微博内容主动找到你的高效订阅工具

weibo-rss&#xff1a;让微博内容主动找到你的高效订阅工具 【免费下载链接】weibo-rss &#x1f370; 把喜欢的微博转为 RSS 订阅源 项目地址: https://gitcode.com/gh_mirrors/we/weibo-rss 在信息爆炸的时代&#xff0c;我们每天要处理大量碎片化内容。微博作为主流社…...

word简历模板(含范文),免费下载

word简历模板导言 在竞争激烈的求职市场中&#xff0c;一份专业、个性化的简历是叩开理想企业大门的关键。简历不仅是个人经历的罗列&#xff0c;更是能力、潜力与职业规划的集中体现。然而&#xff0c;许多求职者因缺乏经验或模板参考&#xff0c;难以突出自身优势&#xff0…...

Elasticsearch-PHP异步搜索终极指南:如何实现高性能搜索应用

Elasticsearch-PHP异步搜索终极指南&#xff1a;如何实现高性能搜索应用 【免费下载链接】elasticsearch-php Official PHP client for Elasticsearch. 项目地址: https://gitcode.com/gh_mirrors/el/elasticsearch-php Elasticsearch-PHP是官方PHP客户端&#xff0c;为…...

程序员副业指南:从技术到变现全攻略

CSDN程序员副业图谱技术文章大纲副业图谱概述副业图谱的定义与背景CSDN平台在程序员副业中的作用副业图谱的核心价值&#xff08;技能变现、职业发展等&#xff09;常见程序员副业类型技术博客与内容创作&#xff08;如CSDN专栏、公众号&#xff09;在线教育与课程开发&#xf…...

【花雕学编程】Claude 泄密事件对嵌入式 mimiclaw 迷你小龙虾的启示、帮助与重要借鉴

2026年3月31日&#xff0c;Anthropic旗下Claude Code CLI客户端源码因打包失误意外泄露&#xff0c;51.2万行TypeScript代码、1906个源文件被全网扩散&#xff0c;这场看似偶然的安全事故&#xff0c;不仅重塑了AI编程行业格局&#xff0c;更对嵌入式领域的轻量AI助手——mimic…...

BLE HID库:嵌入式设备实现HID-over-GATT的轻量级方案

1. BLE_HID 库概述&#xff1a;面向嵌入式设备的 HID-over-GATT 实现BLE_HID 是一个专为资源受限嵌入式平台设计的轻量级开源库&#xff0c;其核心目标是将传统 USB HID&#xff08;Human Interface Device&#xff09;协议栈无缝迁移至 Bluetooth Low Energy&#xff08;BLE&a…...

GESP到底有没有必要考?说说我的真实看法

“老师&#xff0c;GESP要不要考&#xff1f;考了能免考CSP初赛&#xff0c;值不值&#xff1f;” 每次信奥赛家长群里一聊到这个&#xff0c;就会吵起来。 有人说"CCF官方的&#xff0c;含金量高&#xff0c;必须考"。也有人说"证书没用&#xff0c;浪费钱浪费…...

上市公司数字化转型指数(2007-2024)Word2Vec扩充+TF-IDF

上市公司数字化转型指数&#xff08;2007-2024&#xff09;Word2Vec扩充TF-IDF数据名称&#xff1a;A股上市公司数字化转型指数 时间跨度&#xff1a;2007年-2024年 数据格式&#xff1a;Excel表格&#xff08;dta可直接导入&#xff09; 包含指标&#xff1a;股票代码、年份、…...