首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
Kubernetes-学习记录
📅 2026/10/24 1:53:08
✍️ 爱科研究院
👁 阅读 3,247
1、资源限制和亲和性工作中遇到一个问题,就是GDE环境部署微服务应用的时候,能不能做到一个节点上部署多个相同的微服务应用,或者说想在一个节点上将一个微服务实现多实例部署。根据这个要求,就去查看了一下微服务的deployment资源定义配置文件,找到了调度策略相关的配置信息如下:apiVersion: apps/v1 kind: Deployment metadata: name: resource-aware-deployment spec: replicas: 3 selector: matchLabels: app: resource-app template: metadata: labels: app: resource-app spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: labelSelector: matchExpressions: - key: app operator: In values: - resource-app topologyKey: "kubernetes.io/hostname" containers: - name: app image: my-app:1.0 resources: requests: memory: "128Mi" cpu: "100m" limits: memory: "256Mi" cpu: "200m"从上面的配置中有Kubernetes配置是Pod反亲和性调度策略,详细解释如下1.1、Pod发亲和性调度策略配置结构如下:affinity: podAntiAffinity: # Pod反亲和性(分离Pod) preferredDuringSchedulingIgnoredDuringExecution: # 调度时偏好的软性要求 - weight: 100 # 权重(0-100) podAffinityTerm: # 满足条件的定义 labelSelector: # 选择哪些Pod需要分开 matchExpressions: - key: app # 选择app标签 operator: In # 包含关系 values: - resource-app # 标签值为resource-app的Pod topologyKey: "kubernetes.io/hostname" # 基于节点拓扑域关键参数说明如下:1. podAntiAffinity(Pod反亲和性) 目的:让相同服务的Pod尽量分散部署 效果:提高高可用性,避免单点故障 对比:亲和性(affinity.podAffinity)则是让Pod聚合 2. preferredDuringSchedulingIgnoredDuringExecution 调度阶段:只在Pod调度时考虑 忽略运行时:Pod运行后即使节点上出现冲突Pod也不会迁移 软性约束:尽可能满足,但不强制 3. weight: 100 权重值:0-100,数值越大优先级越高 实际影响:100表示高度优先,调度器会尽量寻找最佳节点 4. topologyKey: "kubernetes.io/hostname" 拓扑域:定义为单个节点 作用:确保相同服务不会部署在同一物理节点上 其他拓扑域选项: kubernetes.io/zone(可用区) kubernetes.io/region(区域)1.2、Pod亲和性调度策略反亲和性调度策略,确保的微服务实例部署在不同的节点上。那么亲和性调度策略,就可以实现一个节点部署多个相同的微服务实例。配置结构示例如下spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: # 强制要求(硬性条件) nodeSelectorTerms: - matchExpressions: # 匹配条件 - key: kubernetes.io/hostname # 匹配节点标签:主机名 operator: In # 操作符:包含(在列表中) values: - node-1 # 必须是主机名为node-1的节点上面亲和性调度策略配置的作用说明如下:具体作用 key: kubernetes.io/hostname:使用Kubernetes标准标签,每个节点都自动有一个kubernetes.io/hostname标签,值为节点的主机名 operator: In:表示"包含"关系 values: [node-1:只接受主机名为node-1的节点 这个配置会确保: Pod只能被调度到名为node-1的节点上 如果node-1节点不存在或不可用,Pod会一直处于Pending状态 其他节点不会被考虑来运行这个Pod以上是管理kubenetes的调度策略中亲和性相关配置的学习记录2、hostPath卷详解hostPath 是一种将宿主机节点 上的文件或目录直接挂载到 Pod 内部的卷类型。它提供了 Pod 与宿主机之间直接文件系统交互的能力,
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/24 1:53:07
VMware vCenter6.5/6.7(windows版)升级到vcsa7.0完整步骤
2026/10/24 1:53:07
土木本科生的STM32探索之旅:用串口助手远程开关LED(0/1控制实战)
2026/10/24 1:48:07
CPU端烟火与抽烟双任务视频分析服务部署指南
2026/10/24 6:23:56
freehire Airswift 适配器设计解析:用“过期标记”把已关闭职位从“读不懂”中区分出来
2026/10/24 6:23:56
《普林斯顿微积分读本》PDF高效阅读指南:从零基础到应试全攻略
2026/10/24 6:23:56
土木本科生的 STM32 探索之旅:以物联网监测为起点(第一篇)
2026/10/24 6:23:56
简单EKF滤波算法的MATLAB软件仿真
2026/10/24 6:23:56
AXI总线详细完整介绍:AMBA AXI协议与FPGA实现
2026/10/24 6:18:55
MFC按钮不显示?深入解析CButton::Create与样式组合
2026/10/24 0:02:52
UDP协议实现局域网音量与关机控制:后台常驻与批量管理
2026/10/24 0:02:52
MATLAB缩进快捷键与批量格式化实战指南
2026/10/24 0:02:52
用Poco实现Qt风格信号与槽的跨平台C++方案
2026/10/24 4:01:50
OpenResearch实战:Claude Code、Codex、OpenCode、Cursor 工作流搭建与故障排查
2026/10/24 4:01:49
知识管理核弹:用Obsidian构建第二大脑的工程化方案(TaoToken 统一 Key 接入版)
2026/10/24 0:59:24
金融AI落地指南:从调研报告到技术选型与工程实践
2026/10/23 10:58:39
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/23 10:58:39
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/23 10:58:39
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)