ServiceEntry domain name standard

Hi,

I know there are a few ways to give a service an alias with in a k8s cluster. I am trying to use the ServiceEntry object to give a service in another namespace, so that my services in other namespaces can refer it easily. After many trial and error, I found the host name defined in the ServiceEntry object must be in certain format.

For what I found, domain names like .com, .io and .org are accepted. But domain names like .net, .internal or .private.com are not accepted. By not accepted, I mean my application got DNS error when trying to access my services using a host name like my-svc.internal.

I checked the document, but I could not find anywhere mentioned about domain standard. Also, I don’t think it is a implied knowledge that .com is valid but .internal is not.

Could someone help me understand the restrictions of the host property in the ServiceEntry object?