gpt4 book ai didi

kubernetes - 无法通过 kubernetes 就绪探测访问容器

转载 作者:行者123 更新时间:2023-12-02 11:36:02 28 4
gpt4 key购买 nike

我在 kubectl describe podName 中看到这个错误:

  9m        2s      118 kubelet, gke-wordpress-default-pool-2e82c1f4-0zpw   spec.containers{nginx}      Warning     Unhealthy       Readiness probe failed: Get http://10.24.0.27:80/: net/http: request canceled (Client.Timeout exceeded while awaiting headers)

容器日志 (nginx) 如下:

10.24.1.1 - - [22/Aug/2017:11:09:51 +0000] "GET / HTTP/1.1" 499 0 "-" "Go-http-client/1.1"

但是,如果我通过 kubectl exec -it podName -c nginx sh 执行到容器中,并执行 wget http://localhost 我能够成功获得HTTP 200 响应。就像我通过 SSH 连接到主机(GCP 计算实例)一样,我能够成功获得 HTTP 200 响应。

我相信这个问题是在我用 NodePort 服务替换 LoadBalancer 服务后不久发生的。请问是不是端口冲突?

相关服务:wordpress-service.yaml

apiVersion: v1
kind: Service
metadata:
labels:
app: wordpress
name: wordpress
spec:
type: NodePort
ports:
- port: 80
targetPort: 80
protocol: TCP
selector:
app: wordpress

该容器是一个在端口 80 上提供内容的 Nginx 容器。

就绪探测失败的原因可能是什么?


如果我在我的配置中删除就绪探测器:

      readinessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 5
periodSeconds: 5

一切正常,可以通过 LoadBalancer 服务访问 pod。

最佳答案

ARGHUGIHIRHHHHHH.

我已经盯着这个错误至少一天了,但出于某种原因我没有理解它。

本质上,错误 net/http: request canceled (Client.Timeout exceeded while waiting headers) 意味着容器花费的时间比超时时间长(默认为 1s)。

关于kubernetes - 无法通过 kubernetes 就绪探测访问容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45813595/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com