k8s调度之标签选择器(代码片段)

运维者说 运维者说     2022-11-18     615

关键词:

Kubernetes 调度简介

除了让 kubernetes 集群调度器自动为 pod 资源选择某个节点(默认调度考虑的是资源足够,并且 load 尽量平均),有些情况我们希望能更多地控制 pod 应该如何调度。比如,集群中有些机器的配置更好( SSD,更好的内存等),我们希望比较核心的服务(比如说数据库)运行在上面;或者某两个服务的网络传输很频繁,我们希望它们最好在同一台机器上,或者同一个机房。有一些特殊的应用,我们就希望它们能运行在我们指定的节点上,还有些情况下,我们希望某个应用在所有的节点上都能运行一份。

针对不同的应用场景,kubernetes内置了多种调度方式可供选择。包括标签选择器,daemonsets,节点亲和性,pod亲和性,污点与容忍等。

本篇文档,我们先从最简单的标签选择器开始。

标签选择器

这种方式其实就是我们最常用的使用label的方式,给某一个node打上特定的标签,然后在启动pod的时候,通过nodeSelector指定要调度到的node节点的标签。

给node打标签:

kubectl label nodes <node-name> <label-key>=<label-value>

示例:

kubectl label nodes k8s-node1 envir=live
apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    env: test
spec:
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
  nodeSelector:
    envir: live

需要说明的是,nodeSelector的方式比较简单直观,但是不够灵活,后面,它会被Node Affinity替代。

k8s调度,访问控制(代码片段)

目录一.kubernetes调度1.简介2.nodeName节点选择约束3.nodeSelector节点选择约束亲和与反亲和(NodeSeletor)3.1节点亲和4.2.1pod亲和4.2.2pod反亲和5taint污点5.1Nodename可以无视任何污点5.2标签方式选择node5.3tolerations容忍标签5.3.1NoSchedule5.... 查看详情

k8s调度,访问控制(代码片段)

目录一.kubernetes调度1.简介2.nodeName节点选择约束3.nodeSelector节点选择约束亲和与反亲和(NodeSeletor)3.1节点亲和4.2.1pod亲和4.2.2pod反亲和5taint污点5.1Nodename可以无视任何污点5.2标签方式选择node5.3tolerations容忍标签5.3.1NoSchedule5.... 查看详情

k8s调度之pod亲和性(代码片段)

[toc]PodAffinity通过《K8S调度之节点亲和性》,我们知道怎么在调度的时候让pod灵活的选择node,但有些时候我们希望调度能够考虑pod之间的关系,而不只是pod与node的关系。于是在kubernetes1.4的时候引入了podaffinity。为什么有这样的需... 查看详情

kubernetes云原生k8s标签选择器使用详解(代码片段)

目录一、标签选择器来源二、什么是标签选择器2.1 标签选择器概述2.2 标签选择器概述属性三、标签使用场景四、标签选择器特点4.1基本特点4.2核心标签选择器4.3补充说明五、标签选择器常用操作命令5.1前置准备5.2常用操作命... 查看详情

k8s调度之节点亲和性(代码片段)

...优点:匹配有更多的逻辑组合,不只是字符串的完全相等调度分成软策略(soft)和硬策略(hard),在软策略下,如 查看详情

关于k8s中pod调度[选择器,指定节点,主机亲和性]方式和节点[coedon,drain,taint]标记的demo(代码片段)

写在前面嗯,整理K8s中pod调度相关笔记,这里分享给小伙伴博文内容涉及:kube-scheduler组件的简述Pod的调度(选择器、指定节点、主机亲和性)方式节点的coedon与drain标记节点的taint(污点)标记及pod的容忍污点(tolerations)定... 查看详情

k8s调度之taintsandtolerations(代码片段)

K8S调度之TaintsandTolerations一、污点和容忍概述1、概念2、基本用法3、effect说明4、配置5、示例二、节点亲和1、概念2、官网案例一、污点和容忍概述1、概念K8S官方关于TaintsandTolerations概述Taints和Tolerations和搭配使用的,Taints定... 查看详情

kubernetes调度使用介绍(亲和反亲和污点容忍)(代码片段)

Kubernetes调度使用介绍一、基本介绍1.Scheduler调度过程2.K8s调度策略二、使用介绍1.亲和2.反亲和3.污点4.容忍一、基本介绍在Kubernetes中Pod的调度都是由Scheduler组件来完成的,整个调度过程都是自动完成的,也就是说我们并不... 查看详情

kubernetes的亲和性污点与容忍(代码片段)

...态硬盘的机器等;而这些需求,就是我们今天要讲的k8s的调度:在Kubernetes中,调度是指将Pod部署到合适的节点(node)上。k8s的默认调度器是kube-scheduler,它执行的是一个类似平均分配的原则,让同一个service管控下的pod尽量分散在... 查看详情

无标题html第三话之选择器(代码片段)

html第三话1.选择器:根据不同的需求将不同的标签选择出来。简单来说就暗示选择标签用的。示例如下:通过选择器来改变标签属性。<!DOCTYPEhtml><!--通过改变选择器改变标签属性--><htmllang="en"xmlns=&#... 查看详情

jquery之基本选择器(代码片段)

...器-#id:id选择器-element:元素选择器-.class:属性选择器-*:任意标签-selector1,selector2,selectorN:取多个选择器的并集(组合选择器)-selector1selector2selectorN:取多个选择器的交集(相交选择器)现有如下需求:/*需求:1.选择id为div1的元素 查看详情

k8s-集群调度(代码片段)

k8s-集群调度一调度器简介1.1介绍Scheduler是kubernetes的调度器,主要的任务是把定义的pod分配到集群的节点上。听起来非常简单,但有很多要考虑的问题: 公平:如何保证每个节点都能被分配资源资源高效利用:集群所有资源... 查看详情

k8s之节点亲和性调度

参考技术Arequired(硬亲和性,不能商量,必须执行)、preferred(软亲和性,可以商量,选择执行)。1)硬亲和性规则不满足时,Pod会置于Pending状态,软亲和性规则不满足时,会选择一个不匹配的节点2)当节点标签改变而不再符合此... 查看详情

k8s基本概念-配置调度策略之(taints-and-tolerations)(代码片段)

k8s基本概念-配置调度策略之(Taints-and-Tolerations)2018/4/12通过定义TaintsandTolerations来达到node排斥pod的目的通过一个典型实例来描述taint和toleration之间的关联测试前的集群状态部署appwhoami-t1测试taint的用法测试结果测试使用toleration测... 查看详情

前端基础之jquery(代码片段)

目录jQuery查找标签筛选器方法操作标签事件jQuery基础语法$(selector).action()查找标签基本选择器id选择器$("#id")标签选择器$("tagName")class选择器$(".className")配合使用$("div.c1")//找到有c1class类的div标签所有... 查看详情

go语言调度器之主动调度(20)(代码片段)

本文是《Go语言调度器源代码情景分析》系列的第20篇,也是第五章《主动调度》的第1小节。 Goroutine的主动调度是指当前正在运行的goroutine通过直接调用runtime.Gosched()函数暂时放弃运行而发生的调度。主动调度完全是用户代... 查看详情

工作常用之yarn详解资源调度与隔离(代码片段)

文章目录1.资源调度与隔离1.1Memory资源1.2CPU资源2.资源调度器2.1概述2.2FIFOScheduler(先进先出调度器)2.3CapacityScheduler(容量调度器)2.3.1什么是CapacityScheduler2.3.2调度器特性2.3.3调度器配置2.3.3.1一、开启调度器2.3.3.2... 查看详情

jquery之选择器(代码片段)

jQuery使用指南http://jquery.cuishifeng.cn/查找完素-选择器1.id<dviid="i1"></div>$(“#i1”)#找出id为i1的元素2.class<divclass=‘c1’></div>$(“.c1”)#找出类名为c1的元素3.标签<divclass=‘c1’></div><a 查看详情