Pod 处于挂起阶段(错误:FailedScheduling:节点与节点选择器不匹配)

2023-12-24

我的其中一个 pod 有问题。它说它处于待处理状态。

如果我描述这个 Pod,我会看到以下内容:

Events:
  Type     Reason             Age                From                Message
  ----     ------             ----               ----                -------
  Normal   NotTriggerScaleUp  1m (x58 over 11m)  cluster-autoscaler  pod didn't trigger scale-up (it wouldn't fit if a new node is added): 2 node(s) didn't match node selector
  Warning  FailedScheduling   1m (x34 over 11m)  default-scheduler   0/6 nodes are available: 6 node(s) didn't match node selector. 

如果我检查日志,那里什么也没有(它只是输出空值)。

- - 更新 - - 这是我的 pod yaml 文件

apiVersion: v1
kind: Pod
metadata:
  annotations:
    checksum/config: XXXXXXXXXXX
    checksum/dashboards-config: XXXXXXXXXXX
  creationTimestamp: 2020-02-11T10:15:15Z
  generateName: grafana-654667db5b-
  labels:
    app: grafana-grafana
    component: grafana
    pod-template-hash: "2102238616"
    release: grafana
  name: grafana-654667db5b-tnrlq
  namespace: monitoring
  ownerReferences:
  - apiVersion: apps/v1
    blockOwnerDeletion: true
    controller: true
    kind: ReplicaSet
    name: grafana-654667db5b
    uid: xxxx-xxxxx-xxxxxxxx-xxxxxxxx
  resourceVersion: "98843547"
  selfLink: /api/v1/namespaces/monitoring/pods/grafana-654667db5b-tnrlq
  uid: xxxx-xxxxx-xxxxxxxx-xxxxxxxx
spec:
  containers:
  - env:
    - name: GF_SECURITY_ADMIN_USER
      valueFrom:
        secretKeyRef:
          key: xxxx
          name: grafana
    - name: GF_SECURITY_ADMIN_PASSWORD
      valueFrom:
        secretKeyRef:
          key: xxxx
          name: grafana
    - name: GF_INSTALL_PLUGINS
      valueFrom:
        configMapKeyRef:
          key: grafana-install-plugins
          name: grafana-config
    image: grafana/grafana:5.0.4
    imagePullPolicy: Always
    name: grafana
    ports:
    - containerPort: 3000
      protocol: TCP
    readinessProbe:
      failureThreshold: 3
      httpGet:
        path: /api/health
        port: 3000
        scheme: HTTP
      initialDelaySeconds: 30
      periodSeconds: 10
      successThreshold: 1
      timeoutSeconds: 30
    resources:
      requests:
        cpu: 200m
        memory: 100Mi
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /etc/grafana
      name: config-volume
    - mountPath: /var/lib/grafana/dashboards
      name: dashboard-volume
    - mountPath: /var/lib/grafana
      name: storage-volume
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: default-token-tqb6j
      readOnly: true
  dnsPolicy: ClusterFirst
  initContainers:
  - command:
    - sh
    - -c
    - cp /tmp/config-volume-configmap/* /tmp/config-volume 2>/dev/null || true; cp
      /tmp/dashboard-volume-configmap/* /tmp/dashboard-volume 2>/dev/null || true
    image: busybox
    imagePullPolicy: Always
    name: copy-configs
    resources: {}
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /tmp/config-volume-configmap
      name: config-volume-configmap
    - mountPath: /tmp/dashboard-volume-configmap
      name: dashboard-volume-configmap
    - mountPath: /tmp/config-volume
      name: config-volume
    - mountPath: /tmp/dashboard-volume
      name: dashboard-volume
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: default-token-tqb6j
      readOnly: true
  nodeSelector:
    nodePool: cluster
  priority: 0
  restartPolicy: Always
  schedulerName: default-scheduler
  securityContext: {}
  serviceAccount: default
  serviceAccountName: default
  terminationGracePeriodSeconds: 300
  tolerations:
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 300
  volumes:
  - emptyDir: {}
    name: config-volume
  - emptyDir: {}
    name: dashboard-volume
  - configMap:
      defaultMode: 420
      name: grafana-config
    name: config-volume-configmap
  - configMap:
      defaultMode: 420
      name: grafana-dashs
    name: dashboard-volume-configmap
  - name: storage-volume
    persistentVolumeClaim:
      claimName: grafana
  - name: default-token-tqb6j
    secret:
      defaultMode: 420
      secretName: default-token-tqb6j
status:
  conditions:
  - lastProbeTime: 2020-02-11T10:45:37Z
    lastTransitionTime: 2020-02-11T10:15:15Z
    message: '0/6 nodes are available: 6 node(s) didn''t match node selector.'
    reason: Unschedulable
    status: "False"
    type: PodScheduled
  phase: Pending
  qosClass: Burstable

你知道我应该如何进一步调试这个吗?


解决方案:您可以执行以下两件事之一,以允许调度程序满足您的 Pod 创建请求。

  1. 您可以选择从 pod yaml 中删除这些行,然后从头开始重新创建 pod(如果您出于某种原因需要选择器,请采用下一步 2 中的方法)

    nodeSelector: 
        nodePool: cluster 
    

or

  1. 您可以确保添加此nodePool: cluster作为所有节点的标签,以便使用可用的选择器来调度 Pod。

您可以使用此命令来标记所有节点

kubectl label nodes <your node name> nodePool=cluster

通过替换每个节点的集群详细信息中的节点名称或仅替换要使用此标签选择的节点来运行上述命令。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pod 处于挂起阶段(错误:FailedScheduling:节点与节点选择器不匹配) 的相关文章

随机推荐

  • 如何用PHP获取页面访问者所在国家? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 对于我正在开发的网站 我希望它能够显示每个国家 地区有多少用户访问过我的网站 但我很好奇的是如何获取用
  • javascript CPU 使用率过高 - 如何调试?

    查找 javascript cpu 使用率高的原因的最佳方法是什么 我有一个脚本 可以简单地从缩略图库中加载 flickr 中的照片 它们加载后 什么也不做 等待您单击它们以显示在灯箱中 但 cpu 使用率仍然是 25 或更多 我打开了 F
  • Ndepend CQL 使用特定框架程序集查找某些类型的方法

    为了检查不是从某些基类派生的类型是否正在使用低级框架程序集 可以使用以下查询 SELECT TYPES WHERE IsDirectlyUsing ASSEMBLY Framework Data AND DeriveFrom App Bas
  • 使用 SQLCipher 加密后无法压缩 Android SQLite 数据库

    我随我的应用程序提供了一个只读数据库 将其包含在 Assets Database 目录中 所有数据均已预先填充 集成后SQLCipher并对数据库进行加密 我注意到 APK 大小从25MB 至 150MB 原因是SQLitedb 文件不再被
  • 用于图像分割的张量流的 sigmoid_cross_entropy 损失函数

    我试图理解什么是sigmoid cross entropy损失函数对于图像分割神经网络的作用 这是相关的 Tensorflow 源码code https github com tensorflow tensorflow blob 600ca
  • 生产环境中显示开发异常

    我知道这是一个很大的 不 并且在我的网站上线时不应该显示开发人员错误页面 我该怎么做才能确保开发环境错误消息不会出现在生产中 为什么会出现这些 我以为在生产模式下它默认是关闭的 我错过了一个设置吗 Note 这是在共享服务器上 我使用的是a
  • ArangoDB - 如何在图遍历中执行计算?

    我有一个简单的图表来跟踪我借钱给的人 所以图表看起来像这样 userB owes to amount 200 gt userA userC owes to amount 150 gt userA 等等 假设您需要使用图形遍历来找出每个用户欠
  • 控件不显示是否在后台线程上运行(c# winform)

    我有一个表格 复杂形式在代码中 具有多个控件 需要一些时间来加载 因此 我决定放入一个单独的线程中 以减少初始加载时间 除了等待表单上的标签控件 Form1在代码中 最初不显示 就在 Form1 响起之前的一瞬间 所以我的问题是 为什么标签
  • QMimeData 中的 Python 对象

    我正在基于我的自定义模型实现拖放 QTreeView 一切正常 我的树显示数据 启用了拖放 现在最后一步就在我面前 放置和传输拖动的数据 为此 我需要在模型中实现 mimeTypes mimeData 和 dropMimeData 方法 现
  • 将多个canvas转换为html5中的dataURL

    我想加入多个画布来制作一个图像 那么有没有什么方法可以将多于一张画布隐藏起来toDataURL制作单个图像 创建一个函数 该函数接受多个参数 画布元素 将它们放在一个空白画布上 然后返回新制作的画布的 dataurl var getImad
  • Java 中的逻辑表示法

    绝对基本的 Java 问题 我在 Google 上很难找到 以下是什么意思 7 8 0 这相当于写 7 0 8 0 我写了一个快速的 main 来测试这一点 情况似乎确实如此 我只是想确保我没有遗漏任何东西 Nope is 按位和 http
  • Python 应用程序输出到系统日志服务器

    我正在尝试在谷歌上进行一些搜索 每 5 分钟左右循环一次 当它受到攻击时 我希望它将结果推送到系统日志服务器 我对 python 很陌生 所以请原谅我的无知 我已经搜索了很长时间 但找不到我的问题的答案 我打算添加多个查询来查找不同的结果
  • 逻辑数组 - 在赋值 A(I) = B 中,B 和 I 中的元素数量必须相同

    我有三个矩阵 A B和C 当B大于A时 我想用A使该值饱和 它表示I中的元素数量 即 B gt A 必须与A 中的元素数量 我检查了下面 它们是相同的 gt gt A 5 5 5 5 5 5 5 5 5 gt gt B 2 2 2 2 2
  • 尝试将 Django 国家添加到 Django

    我是 django 的新手 我正在尝试安装 django 国家 但遇到了问题 我安装自http pypi python org pypi django countries 1 0 1 http pypi python org pypi dj
  • 在 asp.net mvc 中使用 jQuery 动态删除表行

    我有一个表 可以动态添加和删除行 model AHBReports Models AdjustmentModel using Html BeginForm table Html EditorFor model gt model Adjust
  • 确定运行 .NET 应用程序的系统要求

    如何确定 NET 应用程序的最低系统要求 我希望能够确定应列出的运行应用程序的最低系统要求 RAM CPU 等 该应用程序是用 C 编写的 并使用 NET 3 5 和 DirectX9 这一切都是关于反复试验 在各种设置中运行它以查看它是否
  • 添加 TwilioController 基类继承后,Microsoft Azure MVC 3 Web 角色未启动

    Azure Web 角色 MVC 3 项目 不会以 Twilio 控制器类启动 我有一个托管在 MS Azure 上的 MVC 3 应用程序 它发布到 Azure Web 角色 没有问题 我添加了 Nuget Twilio 和 Twilio
  • Android 向后代码兼容性

    我正在开发一个应用程序 使用 android hardware Camera parameters getSupportedPictureSizes 这仅适用于 SDK 版本 8 我希望与 SDK 4 兼容 所以我这样做了 if Build
  • 属性错误:“模块”对象没有属性“读者”[重复]

    这个问题在这里已经有答案了 我收到错误 AttributeError 模块 对象没有属性 读者 当我运行下面的代码但我不明白为什么 import csv with open test csv as f q csv reader f 您导入了
  • Pod 处于挂起阶段(错误:FailedScheduling:节点与节点选择器不匹配)

    我的其中一个 pod 有问题 它说它处于待处理状态 如果我描述这个 Pod 我会看到以下内容 Events Type Reason Age From Message Normal NotTriggerScaleUp 1m x58 over