我看到此錯誤在kubectl describe podName
:Container不是經由kubernetes準備探針訪問
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"
但是如果我exec的進入容器通過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
容器是Nginx的容器上的端口80
服務內容可能是哪些準備探頭的失敗原因?
如果我刪除我的配置準備探頭:
readinessProbe:
httpGet:
path:/
port: 80
initialDelaySeconds: 5
periodSeconds: 5
一切工作正常,艙體能夠通過負載平衡器服務進行訪問。