k8s中,一.pod污点,二.pod容器污点容忍策略,三.pod优先级(PriorityClass类)

news/2025/2/7 15:24:33/
一.pod污点:污点是让节点与pod产生排斥的一类规则污点标签的命令1.查看污点标签kubectl describe nodes 节点名2.设置污点标签kubectl taint node 节点名 key值=value值:污点标签种类3.删除污点标签kubectl taint node 节点名 key值=value值:污点标签种类-4.污点标签种类驱逐:NoExecute		//同时影响新Pod的调度和已存在Pod的运行状态不调度:NoSchedule 		//仅影响新Pod的调度,对已存在的Pod无影响。尽量不调度:PreferNoSchedule  //对新Pod的调度有一定影响,但并非强制性的,已存在的Pod不会受到影响。二.pod容器污点容忍策略(tolerations):无视污点标签的限制1.容忍污点标签精确匹配键值对---kind: PodapiVersion: v1metadata:name: myphpspec:tolerations:- operator: Equal      # 完全匹配键值对(Equal,Exists)key: k               # 键value: v1            # 值effect: NoSchedule   # 污点标签containers:- name: phpimage: myos:php-fpmresources:requests:cpu: 1200m2.容忍污点标签模糊匹配键值对---kind: PodapiVersion: v1metadata:name: myphpspec:tolerations:- operator: Exists     # 部分匹配,存在即可key: k               # 键effect: NoSchedule   # 污点标签containers:- name: phpimage: myos:php-fpmresources:requests:cpu: 1200m3.容忍所有污点标签---kind: PodapiVersion: v1metadata:name: myphpspec:tolerations:- operator: Exists     # 模糊匹配key: k               # 键effect: ""           # 设置空或删除,代表所有污点标签containers:- name: phpimage: myos:php-fpmresources:requests:cpu: 1200m三.pod优先级(PriorityClass类):优先保证重要的pod被调度运行1.优先级策略,value值越大资源分配越优先抢占优先策略:PreemptLowerPriority(强行抢夺)(高的会马上把低的干掉,自己占用资源)非抢占优先策略(优先):Never(插队,银行的会员卡非抢占优先)(排队执行,高的等待上一个资源执行完)2.优先级类资源文件编写文件生成:kubectl create priorityclass --help查看优先级:kubectl get pc---kind: PriorityClassapiVersion: scheduling.k8s.io/v1metadata:name: high-nonpreemptionPolicy: Nevervalue: 1000---kind: PriorityClassapiVersion: scheduling.k8s.io/v1metadata:name: low-nonpreemptionPolicy: Nevervalue: 5003.pod容器使用优先级类(priorityClassName)将三个资源运行在一个节点上,模拟资源抢占# 无优先级的 Pod[root@master ~]# vim php1.yaml ---kind: PodapiVersion: v1metadata:name: php1spec:nodeSelector:kubernetes.io/hostname: node-0003containers:- name: phpimage: myos:php-fpmresources:requests:cpu: "1200m"# 低优先级 Pod[root@master ~]# vim php2.yaml ---kind: PodapiVersion: v1metadata:name: php2spec:nodeSelector:kubernetes.io/hostname: node-0003priorityClassName: low-non      # 优先级名称containers:- name: phpimage: myos:php-fpmresources:requests:cpu: "1200m"# 高优先级 Pod[root@master ~]# vim php3.yaml ---kind: PodapiVersion: v1metadata:name: php3spec:nodeSelector:kubernetes.io/hostname: node-0003priorityClassName: high-non     # 优先级名称containers:- name: phpimage: myos:php-fpmresources:requests:cpu: "1200m"

k8s

一.pod污点:污点是让节点与pod产生排斥的一类规则

    污点标签的命令
        1.查看污点标签
            kubectl describe nodes 节点名
        2.设置污点标签
            kubectl taint node 节点名 key值=value值:污点标签种类
        3.删除污点标签
            kubectl taint node 节点名 key值=value值:污点标签种类-
        4.污点标签种类
            驱逐:NoExecute        //同时影响新Pod的调度和已存在Pod的运行状态
            不调度:NoSchedule         //仅影响新Pod的调度,对已存在的Pod无影响。
            尽量不调度:PreferNoSchedule  //对新Pod的调度有一定影响,但并非强制性的,已存在的Pod不会受到影响。


二.pod容器污点容忍策略(tolerations):无视污点标签的限制

    1.容忍污点标签精确匹配键值对
        ---
        kind: Pod
        apiVersion: v1
        metadata:
          name: myphp
        spec:
          tolerations:
          - operator: Equal      # 完全匹配键值对(Equal,Exists)
            key: k               # 键
            value: v1            # 值
            effect: NoSchedule   # 污点标签
          containers:
          - name: php
            image: myos:php-fpm
            resources:
              requests:
                cpu: 1200m

    2.容忍污点标签模糊匹配键值对
        ---
        kind: Pod
        apiVersion: v1
        metadata:
          name: myphp
        spec:
          tolerations:
          - operator: Exists     # 部分匹配,存在即可
            key: k               # 键
            effect: NoSchedule   # 污点标签
          containers:
          - name: php
            image: myos:php-fpm
            resources:
              requests:
                cpu: 1200m

    3.容忍所有污点标签
        ---
        kind: Pod
        apiVersion: v1
        metadata:
          name: myphp
        spec:
          tolerations:
          - operator: Exists     # 模糊匹配
            key: k               # 键
            effect: ""           # 设置空或删除,代表所有污点标签
          containers:
          - name: php
            image: myos:php-fpm
            resources:
              requests:
                cpu: 1200m
        

三.pod优先级(PriorityClass类):优先保证重要的pod被调度运行

    1.优先级策略,value值越大资源分配越优先
        抢占优先策略:PreemptLowerPriority(强行抢夺)(高的会马上把低的干掉,自己占用资源)
        非抢占优先策略(优先):Never(插队,银行的会员卡非抢占优先)(排队执行,高的等待上一个资源执行完)
        
    
    2.优先级类资源文件编写
        文件生成:kubectl create priorityclass --help
        查看优先级:kubectl get pc
        ---
        kind: PriorityClass
        apiVersion: scheduling.k8s.io/v1
        metadata:
          name: high-non
        preemptionPolicy: Never
        value: 1000
        
        ---
        kind: PriorityClass
        apiVersion: scheduling.k8s.io/v1
        metadata:
          name: low-non
        preemptionPolicy: Never
        value: 500
    
    3.pod容器使用优先级类(priorityClassName)
        将三个资源运行在一个节点上,模拟资源抢占
        # 无优先级的 Pod
        [root@master ~]# vim php1.yaml 
        ---
        kind: Pod
        apiVersion: v1
        metadata:
          name: php1
        spec:
          nodeSelector:
            kubernetes.io/hostname: node-0003
          containers:
          - name: php
            image: myos:php-fpm
            resources:
              requests:
                cpu: "1200m"
        
        # 低优先级 Pod
        [root@master ~]# vim php2.yaml 
        ---
        kind: Pod
        apiVersion: v1
        metadata:
          name: php2
        spec:
          nodeSelector:
            kubernetes.io/hostname: node-0003
          priorityClassName: low-non      # 优先级名称
          containers:
          - name: php
            image: myos:php-fpm
            resources:
              requests:
                cpu: "1200m"
        
        # 高优先级 Pod
        [root@master ~]# vim php3.yaml 
        ---
        kind: Pod
        apiVersion: v1
        metadata:
          name: php3
        spec:
          nodeSelector:
            kubernetes.io/hostname: node-0003
          priorityClassName: high-non     # 优先级名称
          containers:
          - name: php
            image: myos:php-fpm
            resources:
              requests:
                cpu: "1200m"
    
 


http://www.ppmy.cn/news/1570090.html

相关文章

Flowmix/Docx 多模态文档编辑器春节更新!日期组件 + 一键生成区块链接,效率飞升!...

hi, 大家好, 我是徐小夕. 最近 flowmix/docx 多模态文档编辑器在春节期间又做了一波新功能的迭代,致力于帮助企业构建专业级文档知识编辑器. 接下来和大家分享一下我们最近的更新: 体验地址: https://flowmix.turntip.cn 在和大家分享更新功能之前&…

车载软件架构 --- 软件定义汽车面向服务架构的应用迁移

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活…

深入理解 Unix Shell 管道 Pipes:基础和高级用法 xargs tee awk sed等(中英双语)

深入理解 Unix Shell 管道(|) 1. 什么是管道(Pipe)? 管道(|)是 Unix/Linux Shell 中最强大的功能之一,它允许将一个命令的输出作为另一个命令的输入,从而实现数据流的处…

LPJ-GUESS模型入门(一)

一、模型简介 LPJ-GUESS是一个基于过程的动态植被陆地生态系统模型,专为区域或全球研究而设计。这种模型通常被称为动态全球植被模型(DGVM)。根据区域气候条件和大气二氧化碳浓度的数据,它可以预测地球主要气候带本土生态系统的结…

迅为RK3568开发板篇OpenHarmony实操HDF驱动控制LED-编写应用APP

在应用代码中我们实现如下功能: 当应用程序启动后会获取命令行参数。如果命令行没有参数,LED 灯将循环闪烁;如果命令行带有参数,则根据传输的参数控制 LED 灯的开启或关闭。通过 HdfIoServiceBind 绑定 LED灯的 HDF 服务&#xff…

python 从知网的期刊导航页面抓取与农业科技相关的数据

要从知网的期刊导航页面抓取与农业科技相关的数据,并提取《土壤学报》2016年06期的结果,可以使用requests库来获取网页内容,BeautifulSoup库来解析HTML。由于知网页面结构可能会发生变化,在实际使用中,需要根据页面结构…

5 计算机网络

5 计算机网络 5.1 OSI/RM七层模型 5.2 TCP/IP协议簇 5.2.1:常见协议基础 一、 TCP是可靠的,效率低的; 1.HTTP协议端口默认80,HTTPSSL之后成为HTTPS协议默认端口443。 2.对于0~1023一般是默认的公共端口不需要注册,1024以后的则需…

简单React项目从0到1

文章目录 项目搭建基于CRA创建项目调整项目目录结构 使用scss预处理器组件库antd使用配置基础路由配置别名路径路径编译配置VsCode提示配置 基本结构搭建表单校验实现获取登录表单数据封装request工具模块使用Redux管理token安装Redux相关工具包配置Redux 实现登录逻辑token持久…