我已经在kubernetes中指定了一个部署:
apiVersion: v1
kind: List
items:
- apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: quote-data
namespace: default
spec:
progressDeadlineSeconds: 600
replicas: 2
revisionHistoryLimit: 10
selector:
matchLabels:
run: quote-data
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
run: quote-data
spec:
containers:
- image: quote-data:2
imagePullPolicy: Always
name: quote-data
readinessProbe:
httpGet:
path: /api/data/health
port: 5000
initialDelaySeconds: 5
periodSeconds: 5
failureThreshold: 1
successThreshold: 1
ports:
- containerPort: 5000
protocol: TCP我们能否使用readinessprobe禁用此pod的流量(启动阶段后几分钟)?
在我的测试中,即使readinessprobe失败,服务(类型: LoadBalancer)也会继续在坏pod上发送流量。在服务中,pod的就绪状态= false,但服务仍然继续在错误的pod上发送
更新:它似乎适用于卷发,但不适用于Postman。我用一个简单的curl命令在两个请求之间有一个不同的pod。我总是和邮差在同一个pod里。
发布于 2021-01-09 00:19:21
可以,如果您在readinessProbe上设置initialDelaySeconds: xxx,则流量将被禁用。因为这并不是在所有的Kubernetes版本上都有效,当然不是在1.15和bellow版本上。
https://stackoverflow.com/questions/54935919
复制相似问题