我的部署有一个readinessProbe配置如下:
readinessProbe:
port: 8080
path: /ready
initialDelaySeconds: 30
failureThreshold: 60
periodSeconds: 10
timeoutSeconds: 15
出于某种原因,我想移除探针。然而,在从我的YML文件中删除它之后,我的部署并不成功,因为看起来pod从未被认为准备好了。在检查GCP时,我发现结果xml文件有一个指向一些"默认值"的准备探针。我没有设置任何地方:
readinessProbe:
failureThreshold: 3
httpGet:
path: /ready
port: 80
scheme: HTTP
initialDelaySeconds: 5
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
是否有一种方法可以真正地删除ReadinessProbe ?
您需要像这样将readinessProbe设置为空值:
readinessProbe: null
我在试图删除readinessProbe
时遇到了同样的问题。我发现成功做到这一点的唯一方法是首先删除部署,然后将部署yaml应用到集群。这确实会导致一些停机时间,但可以永久删除探针。
`kubectl delete deployment <deployment-name>`
`kubectl apply -f deployment.yaml`
删除探针的一种可能方法是修改配置文件(yaml文件)并禁用Readiness probe。
你可以这样做,通过添加enabled: false到配置文件。例如,
readinessProbe:
enabled: false
path: /ready
initialDelaySeconds: 30
failureThreshold: 60
periodSeconds: 10
timeoutSeconds: 15
如果您无法修改配置文件,那么,正如@G所提到的。拉斐尔尝试重新创建部署,并将部署配置文件应用到集群。