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

K8S学习之基础五:k8s中node节点亲和性

pod调度具体会调度到哪个节点呢?这里就涉及到node亲和性的问题

node节点亲和性nodeAffinity

硬亲和性:requiredDuringSchedulingIgnoredDuringExecution,必须满足

软亲和性:preferredDuringSchedulingIgnoredDuringExecution,最好满足

# 硬亲和性
vi pod-nodeaffinity-demo.yaml 
kind: Pod
metadata:
  name:  pod-node-affinity-demo
  namespace: default
  labels:
    app: myapp
    tier: frontend
spec:
  affinity:
    nodeAffinity:
     requiredDuringSchedulingIgnoredDuringExecution:
       nodeSelectorTerms:
       - matchExpressions:
         - key: zone
           operator: In
           values:
           - foo
           - bar
  containers:
  - name: myapp
    image: 172.16.80.140/nginx/nginx:1.26
    imagePullPolicy: IfNotPresent
kubectl describe pod pod-node-affinity-demo

# pod处于pending状态,原因是没有符合硬亲和性条件的node节点

# 在node02上打上标签 zone=foo或者zone=bar,那先pod被调度到node02节点

# 软亲和性,如果没有符合条件的就忽略,weight是相对权重,权重越高,pod调度的几率越大
vi pod-nodeaffinity-demo-2.yaml
kind: Pod
metadata:
  name: pod-node-affinity-demo-2
  namespace: default
  labels:
    app: myapp
    tier: frontend
spec:
  containers:
  - name: myapp
    image: 172.16.80.140/nginx/nginx:1.26
    imagePullPolicy: IfNotPresent
  affinity:
    nodeAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
      - preference:
          matchExpressions:
          - key: zone1
            operator: In
            values:
            - foo1
            - bar1
        weight: 10
      - preference:
          matchExpressions:
          - key: zone2
            operator: In
            values:
            - foo2
            - bar2
        weight: 20
kubectl apply -f pod-nodeaffinity-demo-2.yaml

相关文章:

  • Nginx1.19.2不适配OPENSSL3.0问题
  • DeepSeek 助力 Vue3 开发:打造丝滑的时间选择器(Time Picker)
  • 17.9 LangSmith Tracing 深度实战:构建透明可观测的大模型应用
  • 蓝桥杯刷题(Cows in a Skyscraper G,炮兵阵营)
  • ffmpeg源码编译支持cuda
  • STM32-GPIO详解
  • 主时钟与虚拟时钟约束
  • 【UCB CS 61B SP24】Lecture 19 20: Hashing Hashing II 学习笔记
  • YOLOv11融合YOLOv12中的R-ELAN结构
  • 通过continue插件实现vscode接入本地离线部署的deepseek
  • chromadb向量数据库使用 (2)
  • DeepSeek 配合 Mermaid,自动生成甘特图
  • Linux常见命令
  • Mac远程桌面软件哪个好用?
  • 服务器和本地电脑之间如何传输文件
  • 基于SpringBoot的“数据驱动的资产管理系统站”的设计与实现(源码+数据库+文档+PPT)
  • Android视频流畅播放要素
  • 19.5、C++11新特性有哪些⑤【模板的改进】
  • 科技查新有不通过的情况吗?为什么?
  • JAVA网络协议1
  • 当老年人加入“行为艺术基础班”
  • 白云山一季度营收净利双降,此前称今年将挖掘盘活自身资源
  • 举牌超200轮!中铁建7.76亿元竞得北京通州梨园宅地
  • 在岸、离岸人民币对美元汇率双双升破7.26关口
  • A股三大股指小幅低收:电力股大幅调整,两市成交10221亿元
  • 企业取消“大小周”引热议,半月谈:不能将显性加班变为隐性加班