0
我設置了一個入口控制器,一個具有節點端口的服務,設置健康路由並驗證我的服務正在運行,但我的請求仍然被路由到我的默認後端,而不是到我的入口控制器。我不知道爲什麼,也不知道如何調試。Ingress Controller中的主機獲取路由爲默認後端
我已經檢查:
- 我的豆莢是健康的(並且有一個健康的路線)
- 我有一個節點端口
- 有在
describe
沒有錯誤的服務 - 我的服務從另一個莢
當我捲曲我的URL的作品,我得到這個:
$ curl image-pin.thejsj.com -v
* Rebuilt URL to: image-pin.thejsj.com/
* Trying 35.186.225.114...
* Connected to image-pin.thejsj.com (35.186.225.114) port 80 (#0)
> GET/HTTP/1.1
> Host: image-pin.thejsj.com
> User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
> Accept: */*
> Referer:
>
< HTTP/1.1 404 Not Found
< Date: Mon, 19 Jun 2017 05:06:09 GMT
< Content-Length: 21
< Content-Type: text/plain; charset=utf-8
< Via: 1.1 google
<
* Connection #0 to host image-pin.thejsj.com left intact
default backend - 404
我的資源聲明:
入口控制器:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: "main-ingress"
labels:
# Timestamp used in order to force reload of the secret
last_updated: "1497848257"
spec:
rules:
- host: image-pin.thejsj.com
http:
paths:
- path: /*
backend:
serviceName: imagepin
servicePort: 80
服務:
apiVersion: v1
kind: Service
metadata:
name: imagepin
spec:
selector:
app: imagepin
type: NodePort
ports:
- protocol: "TCP"
port: 80
nodePort: 32222
targetPort: 80
部署:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: imagepin
spec:
replicas: 1
template:
metadata:
labels:
app: imagepin
spec:
containers:
- name: imagepin
image: quay.io/hiphipjorge/imagepin_server:latest
args:
- "npm"
- "start"
ports:
- containerPort: 80
env: ...
readinessProbe:
httpGet:
path:/
port: 80
livenessProbe:
httpGet:
path:/
port: 80
現狀:
入口控制器:
Every 2.0s: kubectl describe ingress main-ingress Jorges-MacBook-Pro-2.local: Sun Jun 18 22:01:35 2017
Name: main-ingress
Namespace: default
Address: 35.186.225.114
Default backend: default-http-backend:80 (10.0.0.6:8080)
Rules:
Host Path Backends
---- ---- --------
image-pin.thejsj.com
/* imagepin:80 (<none>)
Annotations:
forwarding-rule: k8s-fw-default-main-ingress--02988768680308cd
target-proxy: k8s-tp-default-main-ingress--02988768680308cd
url-map: k8s-um-default-main-ingress--02988768680308cd
backends: {"k8s-be-31582--02988768680308cd":"HEALTHY","k8s-be-32222--02988768680308cd":"HEALTHY"}
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
3m 3m 1 loadbalancer-controller Normal CREATE ip: 35.186.225.114
3m 3m 2 loadbalancer-controller Normal Service no user specified default bac
kend, using system default
服務
$ kubectl describe service imagepin
Name: imagepin
Namespace: default
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"name":"imagepin","namespace":"default"},"spec":{"ports":[{"nodePort":32222,"port":80,...
Selector: app=imagepin
Type: NodePort
IP: 10.3.241.98
Port: <unset> 80/TCP
NodePort: <unset> 32222/TCP
Endpoints: 10.0.2.6:80
Session Affinity: None
Events: <none>
通過轉到GCP UI並刪除所有未使用的後端來解決此問題。不知道這是如何相關,但... –