【问题标题】:--default-unreachable-toleration-seconds and --default-not-ready-toleration-seconds are not working--default-unreachable-toleration-seconds 和 --default-not-ready-toleration-seconds 不起作用
【发布时间】:2020-07-18 02:59:14
【问题描述】:

我更新了 kube-apiserver 服务,默认容忍限制为 60 秒。

--default-unreachable-toleration-seconds=60 
--default-not-ready-toleration-seconds=60

我在我的一个节点中停止了 kubelet,它进入了未就绪状态。

但我面临的问题是 pod 仅在从节点移动到未就绪状态 5 分钟后才被驱逐。预计 pod 应在 60 秒内被驱逐。

我的 kubernetes 版本是 1.15。

在进行此更改后,我重新启动了 kube-controller-manager 和 kube-apiserver。

程序有什么问题?

【问题讨论】:

    标签: kubernetes kubernetes-pod


    【解决方案1】:

    使用这两个默认的容忍参数,Kubernetes 会自动为每个 pod 添加一个容忍配置。因此,重新部署所有 pod 以确保将容忍度添加到所有 pod 非常重要。

    除了更改 kubernetes 控制平面组件的参数(使其对所有 pod 进行全局更改)之外,您还可以使用以下配置修改每个 pod 的容忍时间。

    tolerations:
      - key: "node.kubernetes.io/unreachable"
        operator: "Exists"
        effect: "NoExecute"
        tolerationSeconds: 60
      - key: "node.kubernetes.io/not-ready"
        operator: "Exists"
        effect: "NoExecute"
        tolerationSeconds: 60
    

    https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/#taint-based-evictions

    【讨论】:

    • 我不知道我必须重新部署我的 pod,我会这样做并检查。感谢您调查它。我很感激。我会在验证后批准答案。
    • 我重新部署了我的 Pod,Pod 的容差值没有改变。 Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s node.kubernetes.io/unreachable:NoExecute for 300s
    • 您删除了 pod 并重新应用了 yaml?
    • 我有一个副本集,所以我删除了 pod,所以他们再次创建了一个新 pod。我应该完全清除副本集并从头开始创建它吗?我正在做,很快就会更新
    • 在 Pod 范围内指定容限,在节点未就绪后及时驱逐 Pod。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-26
    • 1970-01-01
    相关资源
    最近更新 更多