Clusters do not come with ingress controllers by default. You must set one up manually.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-wildcard-host
spec:
rules:
- http:
paths:
- pathType: Prefix
path: "/bar"
backend:
service:
name: service1
port:
number: 80
- path: "/photos"
pathType: Prefix
backend:
service:
name: photo_service
port:
number: 80
- http:
paths:
- pathType: Prefix
path: "/foo"
backend:
service:
name: service2
port:
number: 80
kubectl describe ingress <ingress>
Name: ingress-aaron
Namespace: default
Address:
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host Path Backends
---- ---- --------
*
/deSales desales-service:80 (<error: endpoints "desales-service" not found>)
/photos photo-service:80 (<error: endpoints "photo-service" not found>)
Annotations: <none>
Events: <none>
This is the default service that all traffic that doesn't have a rule is sent.
This uses a sub-domain to direct traffic.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-wildcard-host
spec:
rules:
- host: "desales.aaronhatcher.com"
http:
paths:
- backend:
service:
name: desales-service
port:
number: 80
- path: "/photos" #Optional
pathType: Prefix. #You can use these or leave them to default
backend:
service:
name: desales-photo-service
port:
number: 80
- host: "www.aaronhatcher.com"
http:
paths:
- backend:
service:
name: main-service
port:
number: 80