【发布时间】:2017-11-04 21:04:22
【问题描述】:
在 GCP (1.6.4) 中使用最新的 Kubernetes 版本,我有以下 Ingress 定义:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: myproject
namespace: default
annotations:
ingress.kubernetes.io/rewrite-target: /
kubernetes.io/ingress.class: "gce"
spec:
rules:
- host: staging.myproject.io
http:
paths:
- path: /poller
backend:
serviceName: poller
servicePort: 8080
这是我的服务和部署:
apiVersion: v1
kind: Service
metadata:
name: poller
labels:
app: poller
tier: backend
role: service
spec:
type: NodePort
selector:
app: poller
tier: backend
role: service
ports:
- port: 8080
targetPort: 8080
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: poller
spec:
replicas: 1
template:
metadata:
labels:
app: poller
tier: backend
role: service
spec:
containers:
- name: poller
image: gcr.io/myproject-1364/poller:latest
imagePullPolicy: Always
env:
- name: SPRING_PROFILES_ACTIVE
value: staging
- name: GET_HOSTS_FROM
value: dns
ports:
- containerPort: 8080
在我的/etc/hosts 我有这样一行:
35.190.37.148 staging.myproject.io
但是,当在staging.myproject.io 上卷曲任何端点时,我得到default backend - 404:
$ curl staging.myproject.io/poller/cache/status
default backend - 404
我在 Minikube 中的本地配置完全相同,唯一的区别是域 (dev.myproject.io),这就像一个魅力。
我已经阅读并尝试了几乎所有我能找到的东西,包括来自 here 和 here 和 here 的东西,但也许我只是遗漏了一些东西......有什么想法吗?
【问题讨论】:
-
你能分享一下
kubectl describe ingress的输出吗
标签: kubernetes google-cloud-platform google-kubernetes-engine