K8S pod 调度失败

  • 问题
  • 解决问题

问题

  这个问题其实很简单,因为deployment(或其他控制器)或Pod的yaml文件中使用了nodeSelector,例如:下面的这个yaml文件:

apiVersion: apps/v1
kind: Deployment
metadata:labels:app.kubernetes.io/name: kube-state-metricsapp.kubernetes.io/version: v1.8.0name: kube-state-metricsnamespace: monitoring
spec:replicas: 1selector:matchLabels:app.kubernetes.io/name: kube-state-metricstemplate:metadata:labels:app.kubernetes.io/name: kube-state-metricsapp.kubernetes.io/version: v1.8.0spec:containers:- image: quay.io/coreos/kube-state-metrics:v1.8.0livenessProbe:httpGet:path: /healthzport: 8080initialDelaySeconds: 5timeoutSeconds: 5name: kube-state-metricsports:- containerPort: 8080name: http-metrics- containerPort: 8081name: telemetryreadinessProbe:httpGet:path: /port: 8081initialDelaySeconds: 5timeoutSeconds: 5nodeSelector:kubernetes.io/os: linuxserviceAccountName: kube-state-metrics

倒数第三行指定了nodeSelector,如果当前集群中没有一个node的label符合这个nodeSelector,则在describepod资源时显示:

Warning  FailedScheduling  18s (x2 over 18s)  default-scheduler  0/2 nodes are available: 2 node(s) didn't match node selector

解决问题

  1. 给需要调度的node加上对应标签
# 相对上面这个Yaml文件的例子
kubectl label nodes node_name kubernetes.io/os=linux
  1. 删除Yaml文件中的nodeSelector,如果对节点没有要求的话,直接删除节点选择器即可

Kubernetes default-scheduler 0/2 nodes are available: 2 node(s相关推荐

  1. 缩放节点池 0/1 nodes are available: 1 node(s) didn‘t match Pod‘s node affinity.

    今天程序出问题了,某个namespace下的所有的Pods, 全部出于pending状态, 0/1 nodes are available: 1 node(s) didn't match Pod's ...

  2. default-scheduler 0/1 nodes are available: 1 node(s) had taint {node.kubernetes.io/disk-pressure: }

    基于污点的驱逐 FEATURE STATE: Kubernetes v1.18 [stable] 前文提到过污点的 effect 值 NoExecute会影响已经在节点上运行的 Pod 如果 Pod ...

  3. 『已解决』0/1 nodes are available: 1 node(s) had taints that the pod didn‘t tolerate.

  4. Kubernetes 1.15.0 ubuntu16.04 高可用安装步骤

    1. 服务器说明 使用的是3台ubuntu16.04的虚拟机,具体信息如下: 172.16.100.238 master 172.16.100.239 master1 172.16.100.240 m ...

  5. Warning FailedScheduling 30s (x2 over 108s) default-scheduler 0/3 nodes are available

    具体错误信息如下: Warning FailedScheduling 30s (x2 over 108s) default-scheduler 0/3 nodes are available: 1 n ...

  6. Kubadem方式安装Kubernetes(1.10.0)集群

    背景 kubernetes已经是现有的docker容器管理工具中必学的一个架构了,相对与swarm来说,它的架构更重,组件和配置也更复杂,当然了,提供的功能也更加强大.在这里,k8s的基本概念和架构就 ...

  7. kubespray v2.21.0 在线定制部署升级 kubernetes v1.24.0 集群【2】

    文章目录 简介 创建 虚拟机模板 虚拟机名称 配置静态地址 配置代理 yum 配置 配置主机名 安装 git 安装 docker 安装 ansible 配置内核参数 安装 k8s 定制安装 kuber ...

  8. 我的k8s随笔:Kubernetes 1.17.0 部署

    k8s集群部署过程实践笔记共两种版本:一为专注部署操作,一为涉及部署操作讲解.本文为前者. 本文介绍了如何在两台 ubuntu 16.04 64 bit 双核 CPU 虚拟机上使用 kubeadm 部 ...

  9. Kubernetes 生产环境安装部署 基于 Kubernetes v1.14.0 之 etcd集群

    说明:没有明确注明在某台服务器,都是在k8s-operation 工作服务器完成 K8S node 节点数大于2000 节点 k8s-operation 目录规划,工作目录/apps/work/k8s ...

最新文章

  1. php post请求后端拿不到值_[精选] uniapp实现多端开发,与PHP是如何结合的
  2. 2020-11-28 Latex相关小工具
  3. LeetCode两数相加
  4. stm32f103r6最小系统原理图_STM32的最小系统板卡
  5. 以数据为核心的SOC3.0时代到来
  6. 排序与查找 详细分析
  7. 12种NumpyPandas高效技巧
  8. java 单例 生命周期_Rhythmk 一步一步学 JAVA (13) Spring-2 之Ben懒加载以及生命周期,单例...
  9. Docker安装RabbitMQ教程
  10. Linux上快速安装软RAID详细步骤
  11. windows程序设设计(2) SDK贴图
  12. MySQL Replication 常用架构
  13. 自定义bt服务器,[教程]Aria2自动更新BT Tracker服务器列表的方法
  14. 进行maya特效的学习
  15. yolov5检测限定长宽比检测范围的目标
  16. [关于决策单调性DP]
  17. 小心肝队-冲刺日志(第五天)
  18. 新物联网!新电商平台!
  19. 建立桌面文件管理格子_告别混乱!5分钟get电脑桌面整理术!
  20. win10笔记本右键磁盘无响应,鼠标一直转圈圈,或卡死

热门文章

  1. loj #6070. 「2017 山东一轮集训 Day4」基因
  2. educoder web程序设计基础知识点 期末总结
  3. 从入门到放弃?CRM选型困局怎么破
  4. Java工程师成长之路:讲师介绍
  5. 中国电子商务面临信用危机
  6. 为什么现在手机期货软件做得都那么烂 没人愿意开发?
  7. 樱桃键盘驱动在哪下_想买键盘有什么好的推荐,打字舒服,不会太大,易便携。?...
  8. android人事管理系统,基于Android系统的人事管理系统设计与实现.doc
  9. Java与C、C++的10大区别-总结
  10. 介绍一个闲散资金的理财方式:逆回购