cgf*_*cgf 12 google-cloud-platform kubernetes google-kubernetes-engine
使用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
Run Code Online (Sandbox Code Playgroud)
这是我的服务和部署:
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
Run Code Online (Sandbox Code Playgroud)
在我的/etc/hosts我有一个像:
35.190.37.148 staging.myproject.io
Run Code Online (Sandbox Code Playgroud)
但是,我default backend - 404在卷曲任何端点时得到staging.myproject.io:
$ curl staging.myproject.io/poller/cache/status
default backend - 404
Run Code Online (Sandbox Code Playgroud)
我有完全相同的配置在Minikube内部工作,唯一的区别是域(dev.myproject.io),它就像一个魅力.
我已经阅读并尝试了几乎所有我能找到的东西,包括来自这里,这里和这里的东西,但也许我只是缺少一些东西......任何想法?
Ahm*_*gle 10
Ingress确实可以在GKE中使用5-10分钟.同时,您可以看到状态代码为404,502和500的回复.
这里有一个入口教程:https://cloud.google.com/container-engine/docs/tutorials/http-balancer我建议关注它.根据你粘贴的内容,我可以说以下内容:
ingress.kubernetes.io/rewrite-target注释,也许这就是问题.200 OK到GET /请求.curl http://<ip>/但你的Ingress规范只处理/poller端点.所以default backend - 404在查询时得到响应是正常的/.您没有为/Ingress规范中的路径配置任何后端.| 归档时间: |
|
| 查看次数: |
14018 次 |
| 最近记录: |