Kubernetes和ReadinessProbe

时间:2019-02-28 23:36:12

标签: kubernetes

我已在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的流量(在开始阶段后的几分钟内)吗?

在我的测试中,即使准备就绪探针失败,该服务(类型:LoadBalancer)也将继续在坏Pod上发送流量。在该服务中,广告连播的“就绪”状态= false,但是该服务仍继续在错误的广告连播上发送

更新: 似乎可以卷曲,但不适用于Postman。 我有一个简单的curl命令在两个请求之间有一个不同的豆荚。 我和邮递员总是有同一个豆荚

1 个答案:

答案 0 :(得分:0)

是的,如果您将 initialDelaySeconds: xxx 放在 readinessProbe 上,流量将被禁用。因为这不适用于所有 Kubernetes 版本,肯定不适用于 1.15 及以下版本。