diff --git a/cmd/kubeadm/app/master/selfhosted.go b/cmd/kubeadm/app/master/selfhosted.go
index <HASH>..<HASH> 100644
--- a/cmd/kubeadm/app/master/selfhosted.go
+++ b/cmd/kubeadm/app/master/selfhosted.go
@@ -219,6 +219,7 @@ func getAPIServerDS(cfg *kubeadmapi.MasterConfiguration, volumes []v1.Volume, vo
 						},
 					},
 					Tolerations: []v1.Toleration{kubeadmconstants.MasterToleration},
+					DNSPolicy:   v1.DNSClusterFirstWithHostNet,
 				},
 			},
 		},
@@ -270,7 +271,7 @@ func getControllerManagerDeployment(cfg *kubeadmapi.MasterConfiguration, volumes
 						},
 					},
 					Tolerations: []v1.Toleration{kubeadmconstants.MasterToleration},
-					DNSPolicy:   v1.DNSDefault,
+					DNSPolicy:   v1.DNSClusterFirstWithHostNet,
 				},
 			},
 		},
@@ -322,6 +323,7 @@ func getSchedulerDeployment(cfg *kubeadmapi.MasterConfiguration, volumes []v1.Vo
 						},
 					},
 					Tolerations: []v1.Toleration{kubeadmconstants.MasterToleration},
+					DNSPolicy:   v1.DNSClusterFirstWithHostNet,
 				},
 			},
 		},
kubeadm: When self-hosting, cluster DNS should be used