DaA*_*dza 8 google-compute-engine kubernetes google-kubernetes-engine kubernetes-health-check
我的配置是 Kubernetes 上的 Jenkins,项目是用 PHP 编写的。
这里的问题是 pod 连接到入口(而不是使用 GCE 的 loadBalancer),并且当 pod 不健康时,它不会添加它。
我第一次从 0 加载项目时,它在我更新后工作,但由于它不健康而失败。
当我描述 pod 时,我收到以下警告:
就绪探测失败:获取http://10.32.1.71:80/setting s: 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
Run Code Online (Sandbox Code Playgroud)
有关如何解决此问题的任何提示。
该错误消息暗示您的 HTTP 请求不成功。准备探测需要成功才能将 pod 添加为暴露它的服务的端点。
1) kubectl get po -o 宽
这样你就可以得到 pod 的集群 IP
2) kubectl exec -t [another_pod] -- curl -I [pod的集群IP]
如果您收到 200 响应,您就知道路径配置正确,并且就绪探测应该通过。如果您得到的不是 200 响应,这就是就绪探测失败的原因,您需要检查您的图像。
| 归档时间: |
|
| 查看次数: |
17870 次 |
| 最近记录: |