k8s 配置两个deployment主机级别互斥部署
在 Kubernetes 中,要实现两个 Deployment 的 Pod 在主机级别互斥部署,可以使用 podAntiAffinity
配置。通过设置 podAntiAffinity
,可以确保两个 Deployment 的 Pod 不会被调度到同一节点上。
实现步骤
定义 Deployment:
为每个 Deployment 定义 podAntiAffinity
,指定它们不能与另一个 Deployment 的 Pod 部署在同一个节点上。
设置标签选择器:
使用 labelSelector
来匹配另一个 Deployment 的 Pod 标签。
设置拓扑键:
使用 topologyKey
设置为 kubernetes.io/hostname
,表示基于节点的互斥。
案例
假设有两个 Deployment,分别是 deployment-A
和 deployment-B
,它们的 Pod 标签分别为 app: app-a
和 app: app-b
。
Deployment A
apiVersion: apps/v1
kind: Deployment
metadata:name: deployment-a
spec:replicas: 2selector:matchLabels:app: app-atemplate:metadata:labels:app: app-aspec:affinity:podAntiAffinity:requiredDuringSchedulingIgnoredDuringExecution:- labelSelector:matchExpressions:- key: appoperator: Invalues:- app-btopologyKey: kubernetes.io/hostnamecontainers:- name: nginximage: nginx:latestports:- containerPort: 80
Deployment B
apiVersion: apps/v1
kind: Deployment
metadata:name: deployment-b
spec:replicas: 2selector:matchLabels:app: app-btemplate:metadata:labels:app: app-bspec:affinity:podAntiAffinity:requiredDuringSchedulingIgnoredDuringExecution:- labelSelector:matchExpressions:- key: appoperator: Invalues:- app-atopologyKey: kubernetes.io/hostnamecontainers:- name: nginximage: nginx:latestports:- containerPort: 80
说明
-
podAntiAffinity
:定义 Pod 之间的互斥关系。 -
requiredDuringSchedulingIgnoredDuringExecution
:硬性规则,必须满足,否则 Pod 不会被调度。 -
labelSelector
:匹配另一个 Deployment 的 Pod 标签。 -
topologyKey
:设置为kubernetes.io/hostname
,表示基于节点的互斥。
验证
部署完成后,可以使用以下命令查看 Pod 的调度情况:
kubectl get pods -o wide
这将显示每个 Pod 所在的节点,确保两个 Deployment 的 Pod 不在同一节点上。但此种部署方式需要保证节点不少于应用数,否则会出现pod无法调度的情况,比如集群只有1个节点,Deployment A成功调度到唯一节点上,那么Deployment A就无法成功调度;
通过以上配置,可以实现两个 Deployment 的 Pod 在主机级别互斥部署。
相关文章:
k8s 配置两个deployment主机级别互斥部署
在 Kubernetes 中,要实现两个 Deployment 的 Pod 在主机级别互斥部署,可以使用 podAntiAffinity 配置。通过设置 podAntiAffinity,可以确保两个 Deployment 的 Pod 不会被调度到同一节点上。 实现步骤 定义 Deployment: 为每个…...
Axure大屏可视化原型模板及素材:数据可视化的高效解决方案
数据可视化已成为企业决策、运营分析、市场洞察的重要工具。数据可视化大屏,作为数据展示和交互的直观平台,能够实时呈现关键数据,帮助企业快速做出决策。Axure作为原型设计领域的领先工具,以其丰富的组件库、强大的交互设计能力和…...
AGI大模型(2):GPT:Generative Pre-trained Transformer
1 Generative Pre-trained Transformer 1.1 Generative生成式 GPT中的“生成式”指的是该模型能够根据输入自动生成文本内容,而不仅仅是从已有的文本库中检索答案。 具体来说: 生成(Generative):GPT是一个生成式AI模型,能够根据给定的提示(Prompt)动态生成连贯、…...
Profinet转Profinet以创新网关模块为核心搭建西门子和欧姆龙PLC稳定通讯架构案例
你是否有听过PROFINET主站与PROFINET主站之间需要做数据通讯有需求? 例如西门子1500与霍尼韦尔DCS系统两个主站之间的通讯。应用于PROFINET为主站设备还有欧姆龙、基恩士、罗克韦尔、施耐德、GE、ABB等品牌的PLC或DCS、FCS等平台。在生产或智能领域有通讯需求。两头…...
函数调用汇编
目录 一、核心概念 二、函数调用过程(以 x86 cdecl 为例) 三、x86 vs x64 区别 四、示例分析(C代码 → 汇编) 五、常见问题 一、核心概念 调用约定 (Calling Convention) 规定参数传递顺序(如 cdecl 是右到左&…...
LabVIEW 线性拟合
该 LabVIEW 程序实现了 线性拟合(Linear Fit),用于计算给定一组数据点的斜率(Slope)和截距(Intercept),并将结果可视化于 XY Graph 中。本案例适用于数据拟合、实验数据分析、传感器…...
在办公电脑上本地部署 70b 的 DeepSeek 模型并实现相应功能的大致步骤
以下是为客户在办公电脑上本地部署 70b 的 DeepSeek 模型并实现相应功能的大致步骤: 硬件准备: 70b 模型对硬件要求较高,确保办公电脑有足够强大的 GPU(例如 NVIDIA A100 等高端 GPU,因为模型规模较大,普通…...
国产编辑器EverEdit - 脚本(解锁文本编辑的无限可能)
1 脚本 1.1 应用场景 脚本是一种功能扩展代码,用于提供一些编辑器通用功能提供不了的功能,帮助用户在特定工作场景下提高工作效率,几乎所有主流的编辑器、IDE都支持脚本。 EverEdit的脚本支持js(语法与javascript类似)、VBScript两种编程…...
网络安全需要学多久才能入门?
网络安全是一个复杂且不断发展的领域,想要入行该领域,我们需要付出足够多的时间和精力好好学习相关知识,才可以获得一份不错的工作,那么网络安全需要学多久才能入门?我们通过这篇文章来了解一下。 学习网络安全的入门时间因个人的…...
H5端vue3 SSR 项目报错小计
H5端vue3 SSR 项目报错小计 环境 "vue-router": "^4.1.6" "vue": "^3.2.45", "vant": "^3.4.9",报错复现 ①.页面刷新点击 RouterLink 跳转链接, 页面无法跳转 问题排查 ①.去除 van-popup 使用的 teleport“…...
【Node.js入门笔记4---fs 目录操作】
Node.js入门笔记4 Node.js---fs 目录操作一、目录操作1.fs.mkdir():创建目录。异步,非阻塞。创建单个目录创建多个目录创建目前之前需要确认是否存在: 2. fs.mkdirSync():用于创建一个新的目录。异步,非阻塞。3.fs.rmd…...
xcode 旧版本、历史版本下载
下载链接:https://developer.apple.com/download/all/ 版本发布日志:https://developer.apple.com/documentation/xcode-release-notes 需要登录开发者账号,搜索下载即可: 再贴一下网友做的版本统计macOS 版本对应的 Xcode 版本&…...
(十一) 人工智能 - Python 教程 - Python元组
更多系列教程,每天更新 更多教程关注:xxxueba.com 星星学霸 1 元组(Tuple) 元组是有序且不可更改的集合。在 Python 中,元组是用圆括号编写的。 实例 创建元组: thistuple ("apple", "b…...
【计算机视觉】工业表计读数(1)--基于关键点检测的读数识别方案
随着工业自动化和智能制造的发展,对设备状态实时监控和数据采集提出了更高要求。本文提出了一种基于YOLO的工业表计读数识别方法,通过首先利用YOLO进行表计目标检测,提取出单独的表计图像,然后分别对表针和刻度进行关键点检测&…...
Redis--Zset类型
目录 一、引言 二、介绍 三、命令 1.zadd 2.zrange,zrevrange,zrangebyscore 3.zcard,zcount 4.zpopmax,bzpopmax,zpopmin,bzpopmin 5.zrank,zrevrank,zscore 6.zrem,zremrangebyrank&a…...
Java 大视界 -- 基于 Java 的大数据机器学习模型的迁移学习应用与实践(129)
💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...
SpringBoot 第一课(Ⅲ) 配置类注解
目录 一、PropertySource 二、ImportResource ①SpringConfig (Spring框架全注解) ②ImportResource注解实现 三、Bean 四、多配置文件 多Profile文件的使用 文件命名约定: 激活Profile: YAML文件支持多文档块ÿ…...
期望最大化(EM)算法
MLE (最大似然估计)是一种非常有效的参数估计方法,但当分布中有多余参数或数据为截尾或缺失时,其 MLE 的求取是比较困难的。于是 Dempster 等人于 1977 年提出了 EM 算法,其出发点是把求 MLE 的过程分两步走࿱…...
DeepSeek与人工智能:技术演进、架构解析与未来展望
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。https://www.captainbed.cn/north 文章目录 1. DeepSeek技术全景解析1.1 DeepSeek技术定位1.2 核心技术组件 2. 人工智能发展路线2.1 技术…...
Keepalived 多主模型与 LVS 高可用
一.Keepalived多主模型 Keepalived多主模型概念 如上图,keepalived主从架构性能损耗较严重,如果业务分类明确,则可以配置keepalived多主模型降低损耗,两台keepalived互为主备,如:订单业务走keepalived1&am…...
AGI大模型(6):提示词模型进阶
1 零样本提示 如今,经过⼤量数据训练并调整指令的LLM能够执⾏零样本任务。 代码如下: from openai import OpenAI from dotenv import load_dotenv load_dotenv() # 初始化 OpenAI 服务。 client = OpenAI()prompt = """ 将⽂本分类为中性、负⾯或正⾯。 ⽂…...
群体智能优化算法-旗鱼优化算法 (Sailfish Optimizer, SFO,含Matlab源代码)
摘要 旗鱼优化算法(Sailfish Optimizer, SFO)是一种模拟旗鱼(Sailfish)和沙丁鱼(Sardine)之间捕食关系的新型元启发式算法。通过在搜索过程中模拟旗鱼对沙丁鱼的捕食行为,以及沙丁鱼群的逃逸与…...
适合企业内训的AI工具实操培训教程(37页PPT)(文末有下载方式)
详细资料请看本解读文章的最后内容。 资料解读:适合企业内训的 AI 工具实操培训教程 在当今数字化时代,人工智能(AI)技术迅速发展,深度融入到各个领域,AIGC(人工智能生成内容)更是成…...
用 Python 进行比特币数据分析:从入门到实战
用 Python 进行比特币数据分析:从入门到实战 前言 比特币,这个“数字黄金”,已经成为全球金融市场不可忽视的存在。无论是短线交易、长期投资,还是链上数据分析,都离不开数据的支撑。而 Python,作为数据分析的瑞士军刀,为我们提供了一整套强大的工具。 本篇文章将带你…...
CT重建笔记(四)——三维重建
人如果不思考不学习,天天刷短视频,跟咸鱼有什么区别? 平行的线积分数据(X射线变换) 平行光束图像重建的理论基础是中心切片定理(二维情形见我的博客https://leslielee.blog.csdn.net/article/details/134…...
蓝桥杯刷题周计划(第三周)
目录 前言题目一题目代码题解分析 题目二题目代码题解分析 题目三题目代码题解分析 题目四题目代码题解分析 题目五题目代码题解分析 题目六题目代码题解分析 题目七题目代码题解分析 题目八题目代码题解分析 题目九题目代码题解分析 题目十题目代码题解分析 前言 大家好&#…...
Qt 控件概述 QWdiget 1.1
目录 qrc机制 qrc使用 1.在项目中创建一个 qrc 文件 2.将图片导入到qrc文件中 windowOpacity: cursor 光标 cursor类型 自定义Cursor font tooltip focusPolicy styleSheet qrc机制 之前提到使用相对路径的方法来存放资源,还有一种更好的方式…...
Type_ C和锂电池自切换电路
支持Type_ C和锂电池双供电的供电方案: Type_ C插入,PMOS关断,电池切断,后级电路由Type_ C供电; 锂电池插入,Type_ C不接的时候,PMOS导通,锂电池供电; 1、没有插入USB电…...
CTP开发爬坑指北(九)
CTP API开发中有很多需要注意的小细节,稍有不慎就会出问题,不然,轻则表现与预期不符,重则程序崩溃影响策略盈利。本系列将容易遇到的坑列出来,以供开发时参考,如有疑义之处,欢迎指正。 在国内期…...
算法之双指针
移动零 题目链接:https://leetcode.cn/problems/move-zeroes 题目的要求是不能改变原数组的非零元素的顺序,也不得再额外开个空间。 算法原理:将数组划分,数组分块。 将所有的非零元素移到左边,零元素移到右边。 方…...
关于ISP Pipeline LSC(镜头阴影校正)位置的一些想法
关于LSC校正的一些基本原理可以参考如下链接: ISP之LSC 【ISP】浅析Lens Shading ISP-镜头阴影校正(LSC) 这篇博文不打算讲具体的LSC校正原理。 主要是答复一位网友关于LSC校正在ISP Pipeline的问题。 网友问题如下: Rin_Cyn…...
x012-MSP430F249智能步进电动百叶窗_proteus_光敏电阻_步进电机_仿真
https://www.dong-blog.fun/post/1997 46 、智能步进电动百叶窗 基本要求: 用一台步进电机控制百叶窗叶片的旋转(正转/反转) 用 LED 数码管显示旋转角度 设置按键: 手动/自动切换、手动正转和手动反转,停止/启动键 用一…...
WordPress调用当前文章作者头像
制作wordpress博客主题时经常会到用,需要调用wordpress当前文章作者头像的时候,用下面的这段代码即可。 <?php if (have_posts()) : the_post(); update_post_caches($posts); ?> //wodepress.com <?php echo get_avatar( get_the_author_e…...
Mysql表的查询
一:创建一个新的数据库(companydb),并查看数据库。 二:使用该数据库,并创建表worker。 mysql> use companydb;mysql> CREATE TABLE worker(-> 部门号 INT(11) NOT NULL,-> 职工号 INT(11) NOT NULL,-> 工作时间 D…...
25.单例模式实现线程池
一、线程池的概念 1.1 线程池的介绍 线程池是一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅…...
欢乐力扣:基本计算器
文章目录 1、题目描述2、思路代码括号 1、题目描述 基本计算器。 给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。 注意:不允许使用任何将字符串作为数学表达式计算的内置函数,比如 eval() 。 2、思路 本人也不太会,…...
app.config.globalProperties
目录 一:基础使用 1、简介 2、使用 3、打印结果: 二:封装 1、创建一个.ts文件(utils/msg.ts) 2、在main.ts中全局注册 3、在页面中使用 4、打印结果 一:基础使用 1、简介 app.config.globalProperties 是 Vue 3 应用实例(app)的一个配置属性&…...
Javascript BOM,DOM 知识简介
JSON 一种数据交换格式,作为数据载体,传输数据, Json比xml 更简单,可读性更高.js的对象和Json可以相互转换. //json定义格式: var varName{"key1":value1,"key2":value2};value的数据类型为数字,字符串(在双引号中),布尔值,数组(在方括号中),对象(在花括…...
记第一次跟踪seatunnel的任务运行过程四——getJobConfigParser().parse()的动作
前绪 记第一次跟踪seatunnel的任务运行过程三——解析配置的具体方法getLogicalDag 正文 书接上文 ImmutablePair<List<Action>, Set<URL>> immutablePair getJobConfigParser().parse(null);在前一篇文章中说到getLogicDag()方法的第一行(如…...
鸿蒙APP采用WebSocket实现在线实时聊天
本文配套视频: 鸿蒙APP基于websocket实时聊天功能_哔哩哔哩_bilibili 1. 案例环境: 鸿蒙APP采用ArkTS语法编写,API14环境,DevEco Studio 5.0.7.210编辑器开发后台接口基于SpringBoot,后台前端基于Vue开发核心技术采用…...
【2步解决】phpstudy开机自启(自动启动phpstudy、mysql、nignx或apache、自动打开网址)
重启执行最终效果图: 一、场景 线下部署,需要开启自动动,并打开网址http://localhost/。 二、操作步骤 ①、新建start.txt,并修改为start.bat,使用记事本编辑,粘贴上方代码如下: echo off:…...
一周学会Flask3 Python Web开发-SQLAlchemy删除数据操作-班级模块
锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 首页list.html里加上删除链接: <!DOCTYPE html> <html lang"en"> <head><meta c…...
从过拟合到强化学习:机器学习核心知识全解析
Langchain系列文章目录 01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…...
uniapp-x 之useAttrs只读
数据类型: useAttrs在web端拿到的是obj,app拿到的是map 是否可以修改内部元素: 否,只读 这意味着你想这样写代码将会无效 let attrsuseAttrs();console.log("attrs",attrs, attrs instanceof Map)//appif(attrs ins…...
MySQL 8 主从同步安装与配置
拟机,由 CentOS 换成了 Ubuntu,用 Xteminal 连接之后,为了方便改配置文件,把文件权限改成 666 了,结果因为这个调半天,一直以为是网络问题或者是配置问题。要注意为了防止配置文件被未经授权的用户修改&…...
【人工智能】人工智能安全(AI Security)
人工智能安全(AI Security) 是指保障人工智能系统免受各种攻击、滥用和错误操作的措施与技术。随着人工智能的广泛应用,AI的安全性问题变得越来越重要。AI安全不仅关注系统本身的稳定性与安全性,还涉及到如何确保AI的决策和行为是…...
Shp文件转坐标并导出到Excel和JSON(arcMap + excel)
思路总结: 准备: 一个shp文件 (单个面, 多个面建议使用Python代码, 自己弄太复杂) 使用arcMap工具, 将面通过 要素折点转点 工具转为点 Shp文件转坐标 (Python) 第一步: 这样就得到了一个点文件. 第二步: 得到x, y坐标 使用工具添加xy坐标 这样在属性表中就会多出两列 第…...
【数据结构】线性表简介
0.本篇问题 线性表,顺序表,链表什么关系?它们是逻辑结构还是存储结构?线性表的基本操作有哪些? 线性表是具有相同数据元素的有限序列。 表中元素有先后次序,每个元素占有相同大小的存储空间。 一、线性…...
基于FPGA的制冷型红外成像电路设计(论文+图纸)
1.总体设计 对于本次课题基于FPGA的制冷型红外成像电路设计,其主要包括两个功能,第一就是红外图像的显示,第二就是红外图像中各点温度的测量。首先对于红外图像的显示来说,一般根据红外探测器根据阵列的大小可以显示出不同的清…...
Spring Boot 集成 Lua 脚本:实现高效业务逻辑处理
1. 前言 1.1 什么是Lua Lua是一种轻量级、高性能的脚本语言,常用于游戏开发、嵌入式系统、配置文件解析等领域。Lua语法简洁,易于学习和使用,且具有强大的扩展性。 1.2 Spring Boot与Lua集成的意义 将Lua集成到Spring Boot应用中,可以实现动态配置业务逻辑、简化复杂业…...