gpt4 book ai didi

kubernetes - Pod状态如何变为MatchNodeSelector

转载 作者:行者123 更新时间:2023-12-02 12:34:42 33 4
gpt4 key购买 nike

在我们的登台环境中,报告了一个缺陷。 kubernetes更新后,某些Pods状态变为'MatchNodeSelector'。

但是我不知道为什么以及如何将某些Pod变成“MatchNodeSelector”。因此,我进行了一些研究(如果Pod的字段为“nodeSelector”,并且没有任何节点具有此标签)。这些Pod将成为“MatchNodeSelector”。

但是我无法复制它。 Pods状态始终变为“待处理”,而不是“MatchNodeSelector”。
所以我的问题是,如何使Pod状态变为“MatchNodeSelector”?

最佳答案

我能够通过以下方式重现此内容:

  • 对于任何未提供节点亲缘关系的正在运行的Pod,请使用kubectl get po -o json --export导出其yaml或json。请注意正在其上运行
  • 的节点
  • 删除 Pane 。
  • 显式地为与运行该节点的先前节点不同的节点提供节点亲和力。在规格中添加如下所示:

  •  "spec": {
    "affinity": {
    "nodeAffinity": {
    "requiredDuringSchedulingIgnoredDuringExecution": {
    "nodeSelectorTerms": [
    {
    "matchExpressions": [
    {
    "key": "kubernetes.io/hostname",
    "operator": "In",
    "values": [
    "new node name"
    ]
    }
    ]
    }
    ]
    }
    }
    }
    }

  • 使用kubectl create -f pod.json创建 Pane 。
  • Pod状态现在为MatchNodeSelector。


  • 这是因为同一规范中也有一个 node选项,也需要更改它。它不会被--export选项删除,并且在该字段中仍具有较旧的节点名称。

    我猜测如果它与您在亲和力中指定的任何节点名称相冲突,它将导致此状态。

    这些是版本:
    `客户端版本:version.Info {主要:“1”,次要:“10”,GitVersion:“v1.10.3”,GitCommit:“2bba0127d85d5a46ab4b778548be28623b32d0b0”,GitTreeState:“clean”,BuildDate:“2018-05-21T09:17 :39Z“,GoVersion:” go1.9.3“,编译器:” gc“,平台:” darwin / amd64“}

    服务器版本:version.Info {主要:“1”,次要:“13”,GitVersion:“v1.13.1”,GitCommit:“eec55b9ba98609a46fee712359c7b5b365bdd920”,GitTreeState:“clean”,BuildDate:“2018-12-13T10:31: 33Z”,GoVersion:“go1.11.2”,编译器:“gc”,平台:“linux / amd64”}`

    关于kubernetes - Pod状态如何变为MatchNodeSelector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56609029/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com