<p>Can Kubernetes pod that uses the host network send requests directly to a Service resource by using the service name and service port (incl. utilization of CoreDNS)? Or do I have to expose the service via nodePort on the host network?</p>

<p>If you want a pod to send requests directly to service resource you have to change pod's <code>dnsPolicy</code> to <a href="https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy" rel="nofollow noreferrer"><code>ClusterFirstWithHostNet</code></a>. It should be used explicitly for pods running with <code>hostNetwork: true</code>. This way it will use cluster DNS and will be in host network.</p>
<p>You can check it in <code>/etc/resolv.conf</code> file. When you are using <code>dnsPolicy: ClusterFirst</code> this file is inherited by pod and uses host's DNS resolver.
When you set <code>dnsPolicy: ClusterFirstWithHostNet</code> it will change DNS resolver to cluster's DNS.</p>
