K8S调度之标签选择器

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替代。

原文地址:https://www.cnblogs.com/breezey/p/9101662.html

时间: 2024-08-04 15:06:46

K8S调度之标签选择器的相关文章

008.kubernets的调度系统之标签选择器

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

K8S调度之pod亲和性

[toc] Pod Affinity 通过<K8S调度之节点亲和性>,我们知道怎么在调度的时候让pod灵活的选择node,但有些时候我们希望调度能够考虑pod之间的关系,而不只是pod与node的关系.于是在kubernetes 1.4的时候引入了pod affinity. 为什么有这样的需求呢?举个例子,我们系统服务 A 和服务 B 尽量部署在同个主机.机房.城市,因为它们网络沟通比较多:再比如,我们系统数据服务 C 和数据服务 D 尽量分开,因为如果它们分配到一起,然后主机或者机房出了问题

7.k8s.调度器scheduler 亲和性、污点

#k8s. 调度器scheduler 亲和性.污点 默认调度过程:预选 Predicates (过滤节点) --> 优选 Priorities(优先级排序) --> 优先级最高节点 实际使用,根据需求控制Pod调度,需要用到如下: 指定节点.nodeAffinity(节点亲和性).podAffinity(pod 亲和性). podAntiAffinity(pod 反亲和性) #指定调度节点 # Pod.spec.nodeName 强制匹配,直接指定Node 节点,跳过 Scheduler 调度

k8s基础整理-标签/注解/命名空间

参考整理于<kubernetes in Action> 本章内容涵盖 创建. 启动和停止 pod 使用标签组织 pod 和其他资源 使用特定标签对所有 pod 执行操作 使用命名空间将多个 pod 分到不重叠的组中 调度 pod 到指定类型的工作节点 标签 标签配置 查看标签 kubectl get pods 命令默认不会列出任何标签,但我们可以使用 --show-labels 选项来查看 : kubectl get po --show-labels 如果你只对某些标签感兴趣,可以使用 L 选

css标签选择器

<!doctype html><html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus?"> <meta name="Author" content=""> <meta name="K

jQuery easyUI id选择器 类选择器 标签选择器 属性选择器 及DOM对象和jQuery相互之间的转换

首先导入js文件 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"

H5 标签选择器

08-标签选择器 p { color: red } h1 { color: blue } 我是段落 我是段落 我是段落 我是段落 我是段落 我是标题 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>08-标签选择器</title> <style> p{ color: red; } h1{ co

jQuery标签选择器

$(function() { //alert("hello jquery"); //选择器 //id选择器 $("#bt1").click( function() { alert("点击了按钮 文字="+$(this).text()); } ); //标签选择器 //属性过滤器 //类选择器 $(".cl[type=text]").click( function() { alert("通过类选择器选中");

CSS标签选择器(二)

一.CSS选择器概述 1.1.CSS功能 CSS语言具有两个基本功能:匹配和渲染 当浏览器在解析CSS样式时,首先应该确定哪些元素需要渲染,即匹配哪些HTML元素,这个操作由CSS样式中的选择器负责标识. 只有匹配到具体的对象之后,浏览器才能根据CSS样式声明,决定渲染的效果,并及时呈现在页面中. 1.2.CSS选择类型 标签选择器 ID选择器 类选择器 特殊选择器 1.3.CSS基本语法 二.标签选择器 2.1标签选择器概述 以文档对象类型的元素作为选择器,如p.div,span等. 最常用的