【发布时间】:2023-03-16 02:00:01
【问题描述】:
我正在尝试使用 GKE Cluster` 中的 Ingress 功能。以下是我遵循的步骤
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
但是当我使用 curl 访问外部 IP 时,它会抛出 404 not found 。
可以从 GKE 控制台看到以下错误
我想我在 ingress 定义中遗漏了一些东西。请指导解决此问题。
图像定义取自本指南 https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer
【问题讨论】:
-
请你用-path: /* 代替-path:/ 试试看
-
试过了..但还是一样
-
感谢您指出这一点。它帮助我验证了基于 GCE 的注释
标签: google-cloud-platform google-kubernetes-engine kubernetes-ingress