Kubernetes设置污点以及容忍

K8S集群内有一台212专门用来做数据库服务器,磁盘是基于SSD。

1.设置212污点

kubectl taint node 172.17.10.212 disk=ssd:NoSchedule

2.数据库的deployment

    spec:
      tolerations:
      - key: "disk"
        operator: "Equal"
        value: "ssd"
        effect: "NoSchedule"
      nodeSelector:
        kubernetes.io/hostname: 172.17.10.212

这样子数据库就只会在212这台机器上跑,同时其他服务不会调度在这台。

kubectl taint node [node] key=value[effect]
其中[effect] 可取值: [ NoSchedule | PreferNoSchedule | NoExecute ]
NoSchedule :一定不能被调度。
PreferNoSchedule:尽量不要调度。
NoExecute:不仅不会调度,还会驱逐Node上已有的Pod。

查看节点的污点:
kubectl describe node/node_name |grep Taint

如何取消污点:
去除指定key及其effect:
kubectl taint nodes node_name key:[effect]- #(这里的key不用指定value)

去除指定key所有的effect:
kubectl taint nodes node_name key-

deploy容忍污点:
tolerations:

  • key: "disk"
    operator: "Equal" #Equal意味着这个值等于value,如果是Exists,则不需要填写value,只要有这个key就容忍
    value: "ssd"
    effect: "NoSchedule"

原文地址:https://blog.51cto.com/fengwan/2419357

时间: 2024-10-09 10:41:26

Kubernetes设置污点以及容忍的相关文章

Kubernetes的污点和容忍(下篇)

背景 继上一篇<Kubernetes的污点和容忍(上篇)>,这是https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ 译文的下半部分. 经常看外文文档或书籍多了,会产生一个问题:“不方便沟通.”不太会用大家习惯的表述方式来阐述一个问题.所以需要定期看一些中文书籍来学习「行话」. 译文 使用场景 污点和容忍是一种让Pod不被调度到指定node或者是把不该在某个node上运行的Pod踢掉的灵活方法.下面列举一

009.kubernets的调度系统之污点和容忍

Taints和Tolerations(污点和容忍) Taint需要与Toleration配合使用,让pod避开那些不合适的node.在node上设置一个或多个Taint后,除非pod明确声明能够容忍这些“污点”,否则无法在这些node上运行.Toleration是pod的属性,让pod能够(注意,只是能够,而非必须)运行在标注了Taint的node上. 默认情况下,所有的应用pod都不会运行在有污点的节点上 [[email protected] deployment]# kubectl get

kubernetes设置阿里云私有仓库

要设置secret不然,docker可以拉取到镜像,kubernetes不能摘取镜像 kubectl create secret docker-registry registry-secret --docker-server=registry-vpc.cn-shenzhen.aliyuncs.com --docker-username=xxx@xxx.com --docker-password=xxxxx --docker-email=xxx@xxx.com -n default 原文地址:ht

Kubernetes污点(taints)与容忍(tolerations)

一.概述 Taint(污点)和 Toleration(容忍)可以作用于 node 和 pod 上,其目的是优化 pod 在集群间的调度,这跟节点亲和性类似,只不过它们作用的方式相反,具有 taint 的 node 和 pod 是互斥关系,而具有节点亲和性关系的 node 和 pod 是相吸的.另外还有可以给 node 节点设置 label,通过给 pod 设置 nodeSelector 将 pod 调度到具有匹配标签的节点上. Taint 和 toleration 相互配合,可以用来避免 pod

kubernetes 的调度

kubernetes 的调度 标签(空格分隔): kubernetes系列 一: kubernetes的调度 二: kubernetes的节点的亲和性 三: kubernetes的污点与容忍 四: kubernetes的固定节点 一:kubernetes的调度 1.1 scheduler 的介绍 Scheduler 是 kubernetes 的调度器,主要的任务是把定义的 pod 分配到集群的节点上.听起来非常简单,但有很多要考虑的问题: 1.公平:如何保证每个节点都能被分配资源 2. 资源高效

关于kubernetes我们还有什么可做的?

kubernetes在容器编排大战中由于应用的可移植性以及支持混合云/多云部署方式上的灵活性.加上开放可扩展的理念,使得周边社区非常活跃.从既有调研结果看,kubernetes已成为容器编排领域的标准.但是它并不成熟,很多方面都大有可为,下面就是列举了一些方面: 1.集群联邦 kubernetes是一个集中式容器管理工具.横向上来说,集群管理工具还有分布式和共享式等.代表性的分布式容器管理工具如yarn与kubernetes的区别是yarn的一台宿主机作为一个master来进行容器管理.分配速度

kubernetes Pod 资源调度

1 概述 1 总述 API server 接受客户端提交的POD对象创建请求操作过程中,需要kube-scheduler 从当前集群中选择一个可用的最佳节点接受并运行,通常是默认调度器复制此类任务,对于每个待创建的POD来说,需要经过三个步骤.1 预选(predicate)节点预选: 基于一系列预选规则(podfitsresources 和 matchnode-selector等)对每个节点进行检查,将那些不符合条件的节点过滤.如果需要某些特殊服务,则需要通过组合节点标签,以及POD标签或标签选

[转帖]新手必读,16个概念入门 Kubernetes

新手必读,16个概念入门 Kubernetes https://www.kubernetes.org.cn/5906.html 2019-09-29 22:13 中文社区 分类:Kubernetes教程/入门教程 阅读(333) 作者:汉科云团队 评论(0) Kubernetes是Google开源的容?集群管理系统,是Google多年?规模容?管理技术Borg的开源版本,主要功能包括: 基于容器的应用部署.维护和滚动升级 负载均衡和服务发现 跨机器和跨地区的集群调度 自动伸缩 无状态服务和有状态

CentOS上安装Kubernetes集群(四)使用Traefi暴露Kubernetes服务

k8s的集群大多数情况需要对外服务,而服务暴露的方式有很多,这里选取traefik来讲解,其它就暂时不详细介绍,包括Istio,代后续更新后再补充上来.一句话,来不及解释,赶紧上车. Traefkik简介 Traefik是开源边缘路由器,类似 nginx.apache 那样的反向代理服务器.网关,代表系统接收请求,并找出负责处理这些请求的组件.Traefik自动发现适合您服务的配置,同时热更新支持多种负载均衡算法断路器,重试提供监控.管理 UI 界面用 go 语言开发,天然的拥抱 k8s Tra