就绪探针失败:获取http://10.32.1.71:80/setting s:net / http:请求已取消(在等待标头时超过了Client.Timeout)

时间:2018-10-30 15:05:14

标签: kubernetes google-compute-engine google-kubernetes-engine kubernetes-health-check

我的配置是Kubernetes上的Jenkins,项目是用PHP编写的。

这里的问题是,吊舱已连接到一个入口(与使用GCE的loadBalancer相比),并且吊舱不正常时,它不会添加。

我第一次从0加载项目时,它在更新后可以工作,但由于运行不正常而失败。

当我描述吊舱时,会收到以下警告:

  

准备就绪调查失败:获取http://10.32.1.71:80/setting:net / http:   请求已取消(等待标头时超出了Client.Timeout)

我的生产配置:

# Configuration for the SQL connection 
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  name: wobbl-main-backend-production
spec:
  replicas: 1
  template:
    metadata:
      name: backend
      labels:
        app: wobbl-main
        role: backend
        env: production
    spec:
      containers:
        - name: backend
          image: gcr.io/cloud-solutions-images/wobbl-mobile-backend:1.0.0
          resources:
            limits:
              memory: "500Mi"
              cpu: "100m"
          imagePullPolicy: Always
          readinessProbe:
            httpGet: # make an HTTP request
              port: 80 # port to use
              path: /settings # endpoint to hit
              scheme: HTTP # or HTTPS
            initialDelaySeconds: 3 # how long to wait before checking
            periodSeconds: 5 # how long to wait between checks
            successThreshold: 1 # how many successes to hit before accepting
            failureThreshold: 2 # how many failures to accept before failing
            timeoutSeconds: 10 # how long to wait for a response
          ports:
          - name: backend
            containerPort: 80

关于如何解决此问题的任何提示。

1 个答案:

答案 0 :(得分:1)

该错误消息表示您的HTTP请求不成功。准备就绪探针需要成功,才能将Pod添加为暴露它的服务的端点。

  

1)kubectl得宽-o

这是为了获得吊舱的群集IP

  

2)kubectl exec -t [another_pod]-curl -I [pod的集群IP]

如果收到200响应,则说明路径配置正确,就绪探测器应该通过。如果您收到200响应以外的任何其他信息,这就是准备就绪探针失败并需要检查图像的原因。