b2b贸易网站/互联网培训机构排名前十

b2b贸易网站,互联网培训机构排名前十,微信开发公司是哪个,南平如何做百度的网站作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 我们上一章介绍了Docker基本情况,目前在规模较大的容器集群基本都是Kubernetes,但是K…

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

图片

我们上一章介绍了Docker基本情况,目前在规模较大的容器集群基本都是Kubernetes,但是Kubernetes涉及的东西和概念确实是太多了,而且随着版本迭代功能在还增加,笔者有些功能也确实没用过,所以只能按照我自己的理解来讲解。

我们上小节介绍了Node亲和性(Affinity)和反亲和性(Anti-affinity)本质上还是属于Node和Pod的之间的调度规则。如果我们有一个需求要求同一个Deployment下的Pod不能调度到同一个节点,避免将同一个应用全部调度到某台服务器。避免出现服务器宕机导致某一应用高可用失效的情况(虽然Kubernetes会在把Pod调度到其他节点,但是这个中间是有时间差的)。我在生产环境也是遇到过类似的故障。或者相反的要求一个控制器下的Pod必须和某个Pod在一起,则可以通过Pod亲和性(Affinity)和反亲和性(Anti-affinity)来解决。

Pod 亲和性

Pod 亲和性用于将新 Pod 安排到与现有 Pod 相近的位置,这些现有 Pod 可能是同一个应用的不同实例或者是相互协作的服务。以下是一个 Pod 亲和性的示例:

apiVersion: apps/v1
kind: Deployment
metadata:name: myapp-deployment
spec:replicas: 3selector:matchLabels:app: myapptemplate:metadata:labels:app: myappspec:affinity:podAffinity:# 强制性(硬性)亲和性规则requiredDuringSchedulingIgnoredDuringExecution:- labelSelector:matchExpressions:- key: appoperator: Invalues:- myapptopologyKey: "kubernetes.io/hostname"# 不强制性(软性)亲和性规则preferredDuringSchedulingIgnoredDuringExecution:- weight: 1podAffinityTerm:labelSelector:matchExpressions:- key: appoperator: Invalues:- myapptopologyKey: "kubernetes.io/hostname"containers:- name: myapp-containerimage: myapp-image:latest

强制亲和性:要求必须匹配标签:app:myapp的Pod,如果已经有一个带有标签 app: myapp 的 Pod 调度到了节点 A,那么当前的 Deployment 中的 Pod 副本也会尝试调度到节点 A。适合哪些强相关的应用,他们必须(尽量)要在一个节点,如果没有合适的标签Pod可能会导致导读失败。

Pod 反亲和性

Pod 反亲和性用于将新 Pod 安排到与具有特定标签的现有 Pod 不同的节点上,这有助于实现高可用性和故障隔离。以下是一个 Pod 反亲和性的示例:

apiVersion: apps/v1
kind: Deployment
metadata:name: myapp-deployment
spec:replicas: 3selector:matchLabels:app: myapptemplate:metadata:labels:app: myappspec:affinity:podAntiAffinity:requiredDuringSchedulingIgnoredDuringExecution:- labelSelector:matchExpressions:- key: appoperator: Invalues:- myapptopologyKey: "kubernetes.io/hostname"

首次调度:当第一个app=myapp Pod被调度时,由于没有其他app=myapp Pod存在,它可以被自由地分配到任何节点上。

后续调度:当你尝试创建第二个app=myapp Pod时,Kubernetes调度器会根据podAntiAffinity规则检查各个节点。如果某个节点上已经存在一个app=myapp Pod,则新的Pod不会被调度到该节点上。相反,它会被调度到另一个没有app=myapp Pod的节点上。从而就实现了一个Deployment被调度到不同的节点。

拓扑域topologyKey 代表 Kubernetes 集群中的拓扑域,如节点、机架、区域、可用区等。它通常是一个节点标签的键,用于定义 Pod 亲和性和反亲和性规则的上下文,如果上面的拓扑域是Zone,则可以把Pod调度到不同的Zone,从而提供集群的可用性。

这里实际上一共有4个配置,我们可以根据自己的需求选择其中一个或者多个进行组合配置,以满足自己的特殊的需求。

Node的亲和性主要满足的是Pod和Node匹配关系,而Pod的亲和性主要满足的是Pod和Pod的之间的关系,虽然最后选择的也是用来选择Node。

到这里我们用了5个小节来讲解调度相关的内容,这些都是Kubernetes默认的自带的调度功能,如果不满足要求还可以自带定义调度器功能。

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/73256.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ESP32-C3物联网方案,智能设备创新升级,无线交互控制通信应用

在物联网技术迅猛发展的今天,各类智能设备如雨后春笋般涌现,深度融入我们生活与工作的各个角落,物联网正以一种前所未有的速度改变着我们的世界。 想象一下,清晨,当第一缕阳光洒进房间,智能窗帘自动缓缓拉…

Python自动化测试 之 DrissionPage 的下载、安装、基本使用详解

Python自动化测试 之 DrissionPage 使用详解 🏡前言:一、☀️DrissionPage的基本概述二、 🗺️环境安装2.1 ✅️️运行环境2.2 ✅️️一键安装 三、🗺️快速入门3.1 页面类🛰️ChromiumPage🛫 SessionPage&…

【操作系统安全】任务3:Linux 网络安全实战命令手册

目录 一、基础网络信息获取 1. 网络接口配置 2. 路由表管理 3. 服务端口监控 二、网络监控与分析 1. 实时流量监控 2. 数据包捕获 3. 网络协议分析 三、渗透测试工具集 1. 端口扫描 2. 漏洞利用 3. 密码破解 四、日志审计与分析 1. 系统日志处理 2. 入侵检测 3…

社群经济4.0时代:开源链动模式与AI技术驱动的电商生态重构

摘要:在Web3.0技术浪潮与私域流量红利的双重驱动下,电商行业正经历从"流量收割"到"用户深耕"的范式转变。本文基于社群经济理论框架,结合"开源链动21模式"、AI智能名片、S2B2C商城小程序源码等创新工具&#x…

从技术架构和生态考虑,不是单纯的配置优化,还有哪些方式可以提高spark的计算性能

从技术架构和生态系统层面提升Spark的计算性能,可采取以下核心策略: 一、计算模型重构与执行引擎升级 1. 弹性分布式数据集(RDD)的血统优化 通过RDD的Lineage(血统)机制实现容错时,采用增量式…

AI对软件工程(software engineering)的影响在哪些方面?

AI对软件工程(software engineering)的影响是全方位且深远的,它不仅改变了传统开发流程,还重新定义了工程师的角色和软件系统的构建方式。以下是AI影响软件工程的核心维度: 一、开发流程的智能化重构 需求工程革命 • …

数据库取证分析

目录 一.多表关联 1.一对多联结 2.子查询 二.数据库示例分析 1.多表关联 三.选择SQL分析的原因 四.数据库概述 五.SQL语言 一.多表关联 1.一对多联结 2.子查询 二.数据库示例分析 1.多表关联 三.选择SQL分析的原因 四.数据库概述 五.SQL语言 1.select 字段

Docker 部署 Graylog 日志管理系统

Docker 部署 Graylog 日志管理系统 前言一、准备工作二、Docker Compose 配置三、启动 Graylog 服务四、访问 Graylog Web 界面总结 前言 Graylog 是一个开源的日志管理平台,专为实时日志收集、分析和可视化设计。它支持强大的搜索功能,并且与 Elastics…

Matlab2024a免费版下载教程

Matlab是一个高性能的数学计算与仿真软件,广泛应用于科学计算、数据分析、算法开发以及工程绘图等多个领域。它提供了强大的矩阵运算能力、丰富的内置函数库以及灵活的编程环境,使得用户能够高效地解决复杂的数学问题。本文,我将为大家详细介…

网络运维学习笔记(DeepSeek优化版) 022 HCIP-Datacom路由概念、BFD协议详解与OSPF第一课

文章目录 路由概念、BFD协议详解与OSPF第一课一、路由协议优先级与选路原则1.1 路由协议优先级对照表1.2 路由选路核心原则 二、BFD(Bidirectional Forwarding Detection,双向转发检测)的配置与应用2.1 双向心跳探测(双端配置&…

【基础】Windows 中通过 VSCode 使用 GCC 编译调试 C++

准备 安装 VSCode 及 C 插件。通过 MSYS2 安装 MinGW-w64 工具链,为您提供必要的工具来编译代码、调试代码并配置它以使用IntelliSense。参考:Windows 中的 Linux 开发工具链 验证安装: gcc --version g --version gdb --version三个核心配…

python机器学习——新手入门学习笔记

一,概论 1.什么是机器学习 定义: 机器学习是从数据中自动分析获得模型,并利用模型对未知数据进行预测。 其实就是通过问题和数据,发现规律,并进行预测,与人脑相似。目的就是从历史数据当中获得规律&#x…

Packaging Process

Packaging Process 软包装流程,在我们自动化设备的情况下,最后实现自动化工具 一小盒2袋,一大盒3小盒,一大盒6袋

地理信息系统(GIS)在智慧城市中的40个应用场景案例

在智慧城市发展进程中,地理信息系统(GIS)作为关键技术之一,正扮演着不可或缺的角色,堪称智慧城市的神经中枢。通过空间数据分析优化城市管理,GIS技术为智慧城市的构建提供了强大的支持。 本文分享了GIS在智…

【蓝桥杯】每日练习 Day11 逆序对问题和多路归并

目录 前言 超快速排序 分析 代码 小朋友排队 分析 代码 鱼塘钓鱼 分析 代码 前言 本来计划今天写五道题的,结果计划赶不上变化,谁能告诉我我的时间都去哪了。。。 今天给大家带来三道题目,两道逆序对问题,分别用归并排…

酷淘商场项目【从零到一详解】Web端

✨博客主页: https://blog.csdn.net/m0_63815035?typeblog 💗《博客内容》:.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 📢博客专栏: https://blog.csdn.net/m0_63815035/cat…

Gemini 2.0 Flash 图片去水印测试

Gemini 2.0 Flash 模型不仅会生成包含名人和受版权保护角色的图像,还会去除现有照片中的水印。 据 X 和 Reddit 上的多位用户指出,Gemini 2.0 Flash 模型不仅会去除水印,还会尝试填补因水印删除而产生的空白区域。其他基于人工智能的工具也能…

STM32学习笔记之keil使用记录

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

MQTT消息服务器新玩法:EMQX结合内网穿透的实战配置指南

文章目录 前言1. 查看EMQX本地WS端口2. Linux安装Cpolar工具3. 配置WS公网连接地址4. WS公网地址连接测试5. 配置WSS公网连接地址6. WSS公网地址连接测试 前言 随着物联网技术的不断发展,MQTT作为一种轻量级的消息发布/订阅协议,在物联网通信中扮演着越…

编程题记录3

九宫幻方 题目链接:https://www.lanqiao.cn/problems/100/learning/?page1&first_category_id1&second_category_id3&tags%E7%9C%81%E8%B5%9B&tag_relationintersection 先旋转、镜像得到所有的情况,可以发现情况是可以暴力得出的。…