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

20-k8s中pod的调度-nodeSelector节点选择器

 一、概念

        我们先创建一个普通的deploy资源,设置为10个副本

[root@k8s231 dns]# cat deploy.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: dm01
spec:
  replicas: 10
  selector:
    matchLabels:
      k8s: k8s
  template:
    metadata:
      labels:
        k8s: k8s
    spec:
      containers:
      - name: c
        image: nginx:1.20.1-alpine
        ports:
        - name: p
          containerPort: 80

[root@k8s231 dns]# kubectl apply -f deploy.yaml

我们查看一下创建的pod

[root@k8s231 dns]# kubectl get pods -o wide

        我们发现,其是随机创建在,k8s232和k8s233节点上的;

        那么我们有没有方法,让pod根据我们自己的想法,创建在我们想要的节点上呐?

        接下来,我们就学习,关于pod调度的节点选择器,nodeSelector

二、接单选择器nodeSelector的使用

        目的就是让pod创建在我们想要的节点上;

1,使用步骤

1,给节点(k8s231、k8s232、k8s233)打标签

2,pod中编辑节点选择(选择节点的标签)

3,创建资源

2,查看节点的标签

[root@k8s231 dns]# kubectl get nodes --show-labels

3,给节点打标签

· k8s231节点打标签

[root@k8s231 dns]# kubectl label node k8s231 k8s=xinjizhiwa-01
node/k8s231 labeled

· k8s232节点打标签

[root@k8s231 dns]# kubectl label node k8s232 k8s=xinjizhiwa-02
node/k8s232 labeled

· k8s233节点打标签

[root@k8s231 dns]# kubectl label node k8s233 k8s=xinjizhiwa-03
node/k8s233 labeled

4,编辑deploy资源清单

[root@k8s231 dns]# vim deploy.yaml 

apiVersion: apps/v1
kind: Deployment
metadata:
  name: dm01
spec:
  replicas: 10
  selector:
    matchLabels:
      k8s: k8s
  template:
    metadata:
      labels:
        k8s: k8s
    spec:
      #基于节点标签调度pod
      nodeSelector:
        #调度到哪个标签的节点上?
        k8s: xinjizhiwa-03
      containers:
      - name: c
        image: nginx:1.20.1-alpine
        ports:
        - name: p
          containerPort: 80

5,创建资源

[root@k8s231 dns]# kubectl apply -f deploy.yaml 

没有指定节点选择器的时候

编辑了节点选择器之后

至此,节点选择器nodeSelector学习完毕;

http://www.lryc.cn/news/303225.html

相关文章:

  • win10下wsl2使用记录(系统迁移到D盘、配置国内源、安装conda环境、配置pip源、安装pytorch-gpu环境、安装paddle-gpu环境)
  • 数据结构与算法:栈
  • Newtonsoft.Json设置忽略某些字段
  • 【c++每天一题】跳跃游戏
  • 【C# 中抓取包含多个屏幕内容的整个桌面】
  • 数据库管理-第152期 Oracle Vector DB AI-04(20240220)
  • uniapp app端水印组件封装 一次引入版
  • 最新Unity游戏主程进阶学习大纲(2个月)
  • NoSQL 数据库管理工具,搭载强大支持:Redis、Memcached、SSDB、LevelDB、RocksDB,为您的数据存储提供无与伦比的灵活性与性能!
  • 基于Spring Boot的多级缓存系统设计
  • k8s-配置与存储-配置管理
  • c语言实现bellman-ford算法
  • socket与rpc的区别
  • 10、内网安全-横向移动域控提权NetLogonADCSPACKDC永恒之蓝
  • 代码随想录算法训练营第三八天 | 动态规划
  • 【ubuntu2004安装N卡驱动】
  • 使用 Docker 安装 Kibana 8.4.3
  • 基于python社交网络大数据分析系统的设计与实现
  • 【设计模式】23种设计模式笔记
  • 编程笔记 Golang基础 009 标识符和关键字
  • vue3中mockjs模拟获取数据
  • element ui 添加自定义方法
  • Hive UDF
  • python Opencv 中绘制图
  • imazing软件安全吗?2024中文永久免费许可证
  • JavaScript:防抖与节流
  • 在Win系统部署WampServer并实现公网访问本地服务【内网穿透】
  • 面试经典150题——单词规律
  • RK3568平台开发系列讲解(Linux系统篇)container_of
  • 回显服务器