PodDisruptionBudget 块耗尽节点

问题描述 投票:0回答:1

我有一个 PDB,可以防止其中一个 Pod 在集群升级期间被驱逐。由于我将 PDB 的 maxUnavailable 设置为 50%,并且 1 个 pod 已启动并正在运行。所以另一个 Pod 应该可以被驱逐。这是怎么回事?

apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
  labels:
    group: x
    name: mydeployment
  name: mydeployment-pdb
  namespace: test
spec:
  maxUnavailable: 50%
  selector:
    matchLabels:
      group: x
      name: mydeployment

PDB说明

Name:             mydeployment-pdb
Namespace:        test
Max unavailable:  50%
Selector:         group=x,name=mydeployment
Status:
    Allowed disruptions:  1
    Current:              2
    Desired:              1
    Total:                2
Events:                   <none>

豆荚:

k get pods #(two pods are on the different nodes)
mydeployment-7465989f54-bkwgt                                    1/1     Running     0          6m54s
mydeployment-7465989f54-v9lg8                                    1/1     Running     0          2d15h

错误:

  Normal  DeprovisioningBlocked  36s (x16 over 39m)    karpenter  Cannot deprovision node due to pdb test/mydeployment prevents pod evictions
kubernetes pdb karpenter
1个回答
0
投票

这篇文章可能会有所帮助。它是关于“由于活动 PodDisruptionBudget 导致的节点耗尽故障”。 https://medium.com/@tamber/solution-avoid-kubernetes-openshift-node-drain-failure-due-to-active-poddisruptionbudget-df68efed2c4f

© www.soinside.com 2019 - 2024. All rights reserved.