Я пытаюсь развернуть свое приложение с помощью GKE: я добавил входной ресурс по этой ссылке https://kubernetes.io/docs/concepts/services-networking/ingress/
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress
annotations:
kubernetes.io/ingress.global-static-ip-name: app-ip
labels:
app: myapp
part: ingress
spec:
rules:
- http:
paths:
- path: /*
backend:
serviceName: frontapp
servicePort: 3000
- path: /back/*
backend:
serviceName: backapp
servicePort: 9000
и выставил мои сервисы как NodePort: работает только сервис, сопоставленный с "/" (я тестировал оба сервиса: front и back)
(пути к этому не работают
[IP] / назад / (мои пути)
В уроке я нашел это предложение:
Вам нужен контроллер Ingress, чтобы удовлетворить Ingress, просто создавая
ресурс не будет иметь никакого эффекта.
Мой вопрос:
1)
В чем разница между входным ресурсом и контроллером?
2) GKE предлагает входной контроллер по умолчанию или
я должен добавить это вручную, чтобы исправить мою проблему пути?
3) Что еще может быть не так с моей конфигурацией
Ps: это одна из моих услуг
apiVersion: v1
kind: Service
metadata:
labels:
app: myapp
part: back
name: backapp
namespace: default
spec:
ports:
- port: 9000
protocol: TCP
targetPort: 9000 # Port on the pod with 'back' application
selector:
app: myapp
part: back
type: NodePort
и это то, что я получаю, когда описываю свой вход
Annotations:
ingress.kubernetes.io/url-map: k8s-um-default-ingress--17c7235ab3ece101
kubernetes.io/ingress.global-static-ip-name: app-ip
ingress.kubernetes.io/backends: {"k8s-be-31278--17c7235ab3ece101":"HEALTHY","k8s-be-32112--17c7235ab3ece101":"HEALTHY","k8s-be-32287--17c7235ab3ece101":"HEALTHY"}
ingress.kubernetes.io/forwarding-rule: k8s-fw-default-ingress--17c7235ab3ece101
ingress.kubernetes.io/target-proxy: k8s-tp-default-ingress--17c7235ab3ece101
Events: Type Reason Age From Message ---- ------ ---- ----
-------
Warning UrlMap 46m (x5 over 4h) loadbalancer-controller googleapi: Error 412: Invalid fingerprint., conditionNotMet
Normal Service 4m (x22 over 2h) loadbalancer-controller no user specified default backend, using system default