В GKE
документах вы можете найти информацию, касающуюся GKE Ingress , для которой необходимо указать c path
, указав backend
, в противном случае вы получите выпуск 404 default backend
.
Вы можете указать бэкэнд по умолчанию, указав поле бэкэнда в манифесте Ingress. Любые запросы, которые не совпадают с путями в поле правил, отправляются в службу и порт, указанный в поле серверной части. ... Если вы не указываете бэкэнд по умолчанию, GKE предоставляет бэкэнд по умолчанию, который возвращает 404.
Default backend
перенаправит весь запрос, который не может быть найден ни в одном spec.rules.http.paths.path
Для небольшого теста я использовал 2 deployments
и 2 services
форму этот пример gke .
Вариант 1 без настройки default end
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- http:
paths:
- path: /world
backend:
serviceName: hello-world
servicePort: 60000
- path: /kube
backend:
serviceName: hello-kubernetes
servicePort: 80
user@cloudshell:~ (prjoect-name)$ curl 35.244.197.176
default backend - 404
user@cloudshell:~ (prjoect-name)$ curl 35.244.197.176/kube
Hello Kubernetes!
user@cloudshell:~ (prjoect-name)$ curl 35.244.197.176/world
Hello, world!
Version: 2.0.0
Hostname: hello-world-deployment-7f67f479f5-vqzxg
user@cloudshell:~ (prjoect-name)$ curl 35.244.197.176/yvgbhuij
default backend - 404
Опция 2 С заданным по умолчанию бэкэндом
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: my-ingress
spec:
backend:
serviceName: hello-world
servicePort: 60000
rules:
- http:
paths:
- path: /world
backend:
serviceName: hello-world
servicePort: 60000
- path: /kube
backend:
serviceName: hello-kubernetes
servicePort: 80
user@cloudshell:~ (prjoect-name)$ curl 35.244.186.95
Hello, world!
Version: 2.0.0
Hostname: hello-world-deployment-7f67f479f5-vqzxg
user@cloudshell:~ (prjoect-name)$ curl 35.244.186.95/hello
Hello, world!
Version: 2.0.0
Hostname: hello-world-deployment-7f67f479f5-kd6fg
user@cloudshell:~ (prjoect-name)$ curl 35.244.186.95/kube
Hello Kubernetes!
user@cloudshell:~ (prjoect-name)$ curl 35.244.186.95/fyvgbhujnkl
Hello, world!
Version: 2.0.0
Hostname: hello-world-deployment-7f67f479f5-vqzxg
Имейте в виду, что для входа в GKE требуется около 5- За 6 минут до начала правильной работы