Default domain names
When you deploy a Knative service, by default it's exposed both internally and externally:
$ kubectl describe ksvc hello ... Domain: hello.default.example.com Domain Internal: hello.default.svc.cluster.local
Both the internal and external domain point to the ingress gateway (load balancer). All traffic to a Knative Service will go through this load balancer first (and not directly to the Pods directly, like Kubernetes).
You should use this to access Knative services from within the Kubernetes cluster. It follows the Kubernetes DNS service discovery naming:
WARNING: Knative only supports routing traffic with full hostnames. Partial hostnames such as
hello.defaultwill successfully resolve, but the load balancer won't know where to send it, and it will return 404 Not Found.
Registers the Knative service on the external ingress gateway so that it's accesible publicly.
.example.com as the suffix by default, but this can be changed
to a custom default domain). It follows a similar format to internal domains: