diff --git a/executors/kubernetes/executor_kubernetes.go b/executors/kubernetes/executor_kubernetes.go
index 89bd0c4091f369151effd9974c16935744f53804..a753055a6b41ed0c4f11b4bfd23ccc5fe7b6d78a 100644
--- a/executors/kubernetes/executor_kubernetes.go
+++ b/executors/kubernetes/executor_kubernetes.go
@@ -432,9 +432,17 @@ func (s *executor) setupCredentials() error {
 
 func (s *executor) setupBuildPod() error {
 	services := make([]api.Container, len(s.options.Services))
+	var serviceAliases api.HostAlias
+	serviceAliases.Hostnames = make([]string, len(s.options.Services))
+	serviceAliases.IP = "127.0.0.1"
 	for i, service := range s.options.Services {
 		resolvedImage := s.Build.GetAllVariables().ExpandValue(service.Name)
 		services[i] = s.buildContainer(fmt.Sprintf("svc-%d", i), resolvedImage, service, s.serviceRequests, s.serviceLimits)
+		if service.Alias != "" {
+			serviceAliases.Hostnames[i] = service.Alias
+		} else {
+			serviceAliases.Hostnames[i] = service.Name
+		}
 	}
 
 	labels := make(map[string]string)
@@ -471,6 +479,7 @@ func (s *executor) setupBuildPod() error {
 			ServiceAccountName: s.configurationOverwrites.serviceAccount,
 			RestartPolicy:      api.RestartPolicyNever,
 			NodeSelector:       s.Config.Kubernetes.NodeSelector,
+			HostAliases:        []api.HostAlias{serviceAliases},
 			Containers: append([]api.Container{
 				// TODO use the build and helper template here
 				s.buildContainer("build", buildImage, s.options.Image, s.buildRequests, s.buildLimits, s.BuildShell.DockerCommand...),