Google cloud platform 未找到GKE入口的404
我正在使用Google cloud platform 未找到GKE入口的404,google-cloud-platform,google-kubernetes-engine,kubernetes-ingress,Google Cloud Platform,Google Kubernetes Engine,Kubernetes Ingress,我正在使用GKECluster`中的ingres功能进行尝试。以下是我遵循的步骤 1. Create deployment with below command kubectl create deployment hello --image=gcr.io/google-samples/hello-app:2.0 2. Exposed the deployment of type NodePort kubectl expose deployment hello -
GKE
Cluster`中的ingres
功能进行尝试。以下是我遵循的步骤
1. Create deployment with below command
kubectl create deployment hello --image=gcr.io/google-samples/hello-app:2.0
2. Exposed the deployment of type NodePort
kubectl expose deployment hello --port=8080 --type=NodePort
3. my ingress manifests is as follows
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: basic-ingress
annotations:
kubernetes.io/ingress.class: gce
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: hello
servicePort: 8080
$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello NodePort 10.0.41.132 <None> 8080:30820/TCP 113m
$ kubectl get ingress
NAME HOSTS ADDRESS PORTS AGE
basic-ingress * 35.X.X.X 80 26m
1。使用以下命令创建部署
kubectl创建部署hello--image=gcr.io/google samples/hello应用程序:2.0
2.公开了NodePort类型的部署
kubectl公开部署hello--port=8080--type=NodePort
3.我的入口清单如下
apiVersion:networking.k8s.io/v1beta1
种类:入口
元数据:
名称:基本入口
注释:
kubernetes.io/ingress.class:gce
规格:
规则:
-http:
路径:
-路径:/
后端:
你好
服务端口:8080
$kubectl获得服务
名称类型CLUSTER-IP外部IP端口年龄
你好节点端口10.0.41.132 8080:30820/TCP 113m
$kubectl进入
名称主机地址端口年龄
基本入口*35.X.X.X 80 26m
但是当我使用curl访问外部IP时,它抛出404notfound
从GKE控制台可以看到以下错误
我想我在ingres
定义中遗漏了一些东西。请指导修复此问题
图像定义取自本指南
我尝试从头开始创建相同的入口(无群集、无入口服务、无服务),并且我能够创建它并成功执行卷曲,步骤如下: 1.-创建集群(细节无关紧要,只需根据需要创建) 2.-连接到集群并安装kubectl->sudo apt get install kubectl 3.-kubectl创建部署hello--image=gcr.io/google samples/hello应用程序:2.0 4.-kubectl公开部署hello--port=8080--type=NodePort 5.-根据以下内容创建入口(无注释) apiVersion:networking.k8s.io/v1beta1 种类:入口 元数据: 名称:基本入口 规格: 后端: 服务名称:web 服务端口:8080 6.-检查你的入口kubectl获得入口基本入口 @cloudshell:$kubectl获取入口基本入口 名称主机地址端口年龄 基本入口*130.211.xx.xxx 80 5m46s 7.-当我完成卷曲时,现在正在工作: @云壳:$curl 你好,世界! 版本:2.0.0 主机名:hello-86dbf5b7c6-f7qgl 您使用的是,这是创建入口服务的另一种方式,但更高级一点。我的建议是首先尽可能简单地创建它
请以这种方式尝试并让我知道。相同的
YAML
定义在SharedVPC中对我来说是失败的。添加以下防火墙规则后,此问题得到解决
gcloud compute firewall-rules create k8s-fw-l7--60cada75751e6d79 --network <SharedVPC> --description "GCE L7 firewall rule" --allow tcp:30000-32767 --source-ranges 130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16 --target-tags gke-privatetestgkecluster-cf899a18-node --project <Project>
gcloud compute防火墙规则创建k8s-fw-l7--60cada75751e6d79--网络--description“GCE l7防火墙规则”--允许tcp:30000-32767--源范围130.211.0.0/22209.85.152.0/22209.85.204.0/22,35.191.0.0/16--目标标记gke-privatetestgkecluster-cf899a18-node--项目
请您使用-path:/*而不是-path://并给出一个tryTried.。但仍然是相同的请尝试这一个,谢谢您指出这一点。它帮助我验证了基于GCE的注释谢谢。它的工作$curl你好,世界!版本:2.0.0主机名:hello-86dbf5b7c6-9M4BN尝试使用GCE入口进行相同操作为什么在基于SharedVPC的GKE群集上不起作用?