stm32 无刷电机控制板

2023-11-04

stm32f103c8t6 做主控 自制无刷电机(bldc )控制板,支持有感和无感两种模式。可通过硬件切换。内部包含原理图和源代码及照片。

文件:url80.ctfile.com/f/25127180-745426979-e8e3fc?p=551685 (访问密码: 551685)


kube-controller-manager驱逐主要依靠NodeLifecycleController以及其中的TaintManager;

kube-controller-manager驱逐分类
(1)开启了污点驱逐:node上有NoExecute污点后,立马驱逐不能容忍污点的pod,对于能容忍该污点的pod,则等待pod上配置的污点容忍时间里的最小值后,pod会被驱逐;

(2)未开启污点驱逐:当node的ready Condition值为false或unknown且已经持续了一段时间(通过kcm启动参数–pod-eviction-timeout配置,默认5分钟)时,对该node上的pod做驱逐操作;

NodeLifecycleController
NodeLifecycleController主要负责以下工作:
(1)定期检查node的心跳上报,某个node间隔一定时间都没有心跳上报时,更新node的ready condition值为false或unknown,开启了污点驱逐的情况下,给该node添加NoExecute的污点;
(2)未开启污点驱逐时的pod驱逐工作;
(3)根据kcm启动参数配置,决定是否启动TaintManager;

TaintManager
TaintManager负责pod的污点驱逐工作,当node上有NoExecute污点后,立马驱逐不能容忍污点的pod,对于能容忍该污点的pod,则等待pod上配置的污点容忍时间里的最小值后,pod会被驱逐;

kcm驱逐相关参数配置
(1)–pod-eviction-timeout:默认值5分钟,当不开启污点驱逐时该参数起效,当node的ready condition值变为false或unknown并持续了5分钟后,将驱逐该node上的pod;
(2)–enable-taint-manager:默认值true,代表启动taintManager,当已经调度到该node上的pod不能容忍node的 NoExecute污点时,由TaintManager负责驱逐此类pod,若为false即不启动taintManager,则根据–pod-eviction-timeout来做驱逐操作;
(3)–feature-gates=TaintBasedEvictions=xxx:默认值true,配合–enable-taint-manager共同作用,两者均为true,才会开启污点驱逐;
(4)–node-monitor-grace-period:默认值40秒,代表在距离上一次上报心跳时间超过40s后,将该node的conditions值更新为unknown(kubelet通过更新node lease来上报心跳);
(5)–feature-gates=NodeLease=xxx:默认值true,使用lease对象上报node心跳信息,替换老的更新node的status的方式,能大大减轻apiserver的负担;

更多其他配置参数会在后面做源码分析时进行分析;

kcm污点驱逐
需要配置kcm相关的参数,来开启kcm污点驱逐,taint和toleration才会发挥作用;

taint
给node配置,打了taint的node节点可能会影响pod的调度和运行;

taint有三种Effect:
(1)PreferNoSchedule:不容忍该污点的pod,调度器kube-scheduler会尽量避免把pod调度到具有该污点的节点上,如果不能避免(如其他节点资源不足等),pod也能调度到具有该污点的节点上,而对于已存在于具有该污点的节点上的pod不会被驱逐;
(2)NoSchedule:不容忍该污点的pod一定不会被调度到具有该污点的节点上,而对于已存在于具有该污点的节点上的pod不会被驱逐;
(3)NoExecute:不容忍该污点的pod一定不会被调度到具有该污点的节点上,同时会将已调度到该节点上但不容忍该污点的node节点上的pod驱逐掉;

toleration
给pod配置,配置了Toleration的pod,根据匹配条件可以容忍node的taint;

Toleration配置的属性值解析如下:
(1)Key:匹配node污点的Key;
(2)Operator:表示Toleration中Key与node污点的Key相同时,其Value与node污点的Value的关系,默认值Equal,代表相等,Exists则代表Toleration中Key与node污点的Key相同即可,不用比较其Value值;
(3)Value:匹配node污点的Value;
(4)Effect:匹配node污点的Effect;
(5)TolerationSeconds:node污点容忍时间;

配置示例:

tolerations:

  • key: “key1”
    operator: “Equal”
    value: “value1”
    effect: “NoExecute”
    tolerationSeconds: 3600
    上述配置表示如果该pod正在运行,同时一个匹配的污点被添加到其所在的node节点上,那么该pod还将继续在节点上运行3600秒,然后会被驱逐(如果在此之前其匹配的node污点被删除了,则该pod不会被驱逐);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

stm32 无刷电机控制板 的相关文章

  • 大数据学习 第一篇——基础知识

    前言 在学习大数据之前 先要了解他解决了什么问题 能给我们带来什么价值 一方面 以前IT行业发展没有那么快 系统的应用也不完善 数据库足够支撑业务系统 但是随着行业的发展 系统运行的时间越来越长 搜集到的数据也越来越多 传统的数据库已经不能
  • ftp 530 login incorrect

    今天在新建虚拟账号过程中遇到的一点小问题 记录一下 新建的流程如下 vim etc vsftpd virtusers 在最底下加入账号名 ftpuser 和密码 db load T t hash f etc vsftpd virtusers

随机推荐

  • java多线程内存同步问题

    多线程内存可见性 1 volatile保证内存可见 2 sleep同步内存数据 3 System out print 方法同步线程数据 4 异常打印也会同步线程数据 1 volatile保证内存可见 volatile保证java多线程内存
  • 字符串流stringstream--<sstream>

    字符串流stringstream流详解 一 stringstream是C 提供的一个字符串流 与iostream和fstream的操作方法类似 只是功能不同 要使用字符串流必须包含其头文件
  • 小程序开发之搜索框

    日常学习之小程序开发 搜索框 为了完成搜索框 我们先在 pages 文件夹中创建 search 文件并创建相应的 page 搜索框 可以用 vant 组件中的 van search 标签来实现 需要在 miniprogram 文件夹的内建终
  • error: ‘QObject::QObject(const QObject&)’ is private within this context

    error QObject QObject const QObject is private within this context 这个错误是由于QObject类的拷贝构造函数被声明为私有 导致在某些情况下无法进行对象的拷贝操作而产生的
  • 最小费用最大流详解与模板

    最小费用最大流 在最大流有多组解时 给每条边在附上一个单位费用的量 问在满足最大流时的最小费用是多少 思想 给出一个容量网络 那他的最大流一定是一个定值 即使是有多个一样的最大值 所以我们从开始的可行流开始增广时 最终的增广量是一定的 所以
  • 你知道“$set”是什么吗?

    set 的原理是基于Vue的响应式系统和Vue的观察者机制 当使用 set 方法时 它会执行以下步骤来实现动态添加或修改响应式对象的属性 1 首先 set 会检查对象是否已经是响应式的 如果对象未被代理为响应式对象 它会将对象转换为响应式对
  • 机器学习之朴素贝叶斯算法的详解(包含高斯朴素贝特斯、多项式朴素贝叶斯、伯努利朴素贝叶斯,以及相应算法的简单实现)

    机器学习18 贝叶斯算法详解 2021 06 02 2021 06 05 一 朴素贝叶斯算法 为什么需要朴素贝叶斯算法 比如说 我们想预测一个人究竟是否能够侥幸在空难中生还 那么我们就需要建立一个分类模型来学习我们的训练集 在训练集中 其中
  • 学习cocos2d-x 之路 (1)--了解cocos2d-x

    学前感言 很久以前就听说过cocos2d的大名 知道它在手机游戏开发中处于主导地位 但是今天是真正意义上第一次接触 当前手机游戏市场十分火爆 我想对于任何一个对游戏感兴趣并且准备投身手机游戏开发的人学习这款引擎都是必要的 从百度百科上阅读了
  • Linux学习之安装vim软件

    Linux学习之安装vim软件欢迎来到陈冬冬的个人经验分享平台https www chendd cn blog article 1477573897833009153 html 在前一篇文章中初步使用到了 vi 命令去更改网络连接的参数文件
  • 【git系列】从远端仓库获取最新代码合并到本地分支里

    在日常开发中 很有可能几个开发人员都在开发同一个代码仓分支 导致本地分支里的代码 落后于 远端分支里的 我们需要做的就是从远端仓库获取最新代码合并到本地分支里 1 git pull 有风险 获取最新代码到本地 并自动合并到当前分支 首先我们
  • ORB_SLAM2 with XTION的编译问题(1)

    ORB SLAM2 with XTION的编译问题及解决 1 源链接为https github com chaizheng2157 RGBD ORB SLAM2 RT 其中里面有两个包要编译 分别是g2o with orbslam2和ORB
  • matlab做多元门限回归模型,门限自回归模型

    2014年第6期 郑晓亚 我国股权风险溢价的长期趋势与短期特征 我国股权风险溢价的长期趋势与短期特征 结合门限自回归模型与B P多重结构型断点检验的经验研究郑 Hansen 于 1996 年在 Econometrica 上发表文章 Infe
  • Vercel国内无法访问解决方案

    域名解析使用 cname vercel dns com 或 将 A 记录从 76 76 21 21 改成 76 223 126 88 官方建议将 cname 从 cname vercel dns com 修改为 cname china ve
  • python web页面增删改查_python web 增删改查教你快速入门

    1 导入需要的扩展和包from sqlalchemy import create engine Column Integer String from sqlalchemy ext declarative import declarative
  • 数据源 JNDI 作用

    数据源在JDBC中的应用简介众所周知 JDBC Java数据库连接 是Java 2企业版的重要组成部分 它是基于SQL层的API 通过把SQL语句嵌入JDBC接口的方法中 用户可以通过Java程序执行几乎所有的数据库操作 JDBC只提供了接
  • uni-app的Vue.js实现微信小程序的紧急事件登记页面功能

    主要功能实现 完成发生时间选择功能 用户可以通过日期选择器选择事件发生的时间 实现事件类型选择功能 用户可以通过下拉选择框选择事件的类型 添加子养殖场编号输入框 用户可以输入与事件相关的子养殖场编号 完成事件描述输入功能 用户可以通过文本输
  • 1、网易校招2016年《下厨房》

    题目描述 牛牛想尝试一些新的料理 每个料理需要一些不同的材料 问完成所有的料理需要准备多少种不同的材料 输入描述 每个输入包含 1 个测试用例 每个测试用例的第 i 行 表示完成第 i 件料理需要哪些材料 各个材料用空格隔开 输入只包含大写
  • 数据分析实战项目:SQL分析淘宝用户行为

    文章目录 一 项目背景及目的 1 1 项目背景 1 2 项目目的 1 3 数据集来源与介绍 二 数据导入 2 1 图形界面工具导入 2 2 以系统命令行导入 三 数据清洗 3 1 删除重复值 3 2 查看缺失值 3 3 时间格式转换 3 4
  • 赛宁网安有力保障淮安市网络安全技能竞赛决赛

    9月6日 由中共淮安市委网信办 淮安市总工会 淮安市人社局 淮安市教育局 淮安市公安局 共青团淮安市委共同主办 淮阴工学院协办 淮安市网络信息和数据安全协会 淮安市信息安全等级保护工作协调小组办公室承办 中国电信股份有限公司淮安分公司 中国
  • stm32 无刷电机控制板

    stm32f103c8t6 做主控 自制无刷电机 bldc 控制板 支持有感和无感两种模式 可通过硬件切换 内部包含原理图和源代码及照片 文件 url80 ctfile com f 25127180 745426979 e8e3fc p 5