title: Not able to access Spring Boot backend service from another service in Kubernetes
body: <p>I am new to Kubernetes and I am trying to create a simple front-end back-end application where front-end and back-end will have its own services. For some reason, I am not able to access back-end service by its name from front-end service.</p>
  
  <p>Just because of simplicity, front-end service can be created like:<br/>
  <code>kubectl run curl --image=radial/busyboxplus:curl -i --tty</code></p>
  
  <p>When I do a nslookup I get the following:<br/></p>
  
  <pre><code>[ root@curl-66bdcf564-rbx2k:/ ]$ nslookup msgnc-travel
  Server:    10.96.0.10
  Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local
  
  Name:      msgnc-travel
  Address 1: 10.100.171.209 msgnc-travel.default.svc.cluster.local
  
  </code></pre>
  
  <p>Service is available by its name msgnc-travel, but when I try to do curl it:<br/>
  <code>curl msgnc-travel</code><br/>
  it just keeps on waiting and no response is received. I have also tried  <br/>
  <code>curl 10.100.171.209</code> and <code>curl msgnc-travel.default.svc.cluster.local</code> but I have the same behaviour
  <br/><br/></p>
  
  <p>Any ideas why is this issue occurring? <br/></p>
  
  <p>I have successfully managed to do a "workaround" by using Ingress, but I am curious why can't I access my Spring Boot backend service directly just by providing its name?</p>
  
  <p><strong>deployment.yml</strong> looks like this:</p>
  
  <pre><code>apiVersion: apps/v1
  
  kind: Deployment
  
  metadata:
    name: msgnc-travel-deployment
    labels:
      name: msgnc-travel-deployment
      app: msgnc-travel-app
  
  spec:
    template:
      metadata:
        name: msgnc-travel-pod
        labels:
          name: msgnc-travel-pod
          app: msgnc-travel-app
  
      spec:
        containers:
          - name: msgnc-travel
            image: bdjordjevic/msgnc-travel
            ports:
              - containerPort: 8080
    replicas: 1
    selector:
      matchExpressions:
        - {key: name, operator: In, values: [msgnc-travel-pod]}
        - {key: app, operator: In, values: [msgnc-travel-app]}
  
  </code></pre>
  
  <p><strong>service.yml</strong> looks like this:</p>
  
  <pre><code>apiVersion: v1
  
  kind: Service
  
  metadata:
    name: msgnc-travel
    labels:
      name: msgnc-travel-service
      app: msgnc-travel-app
  
  spec:
    ports:
      - port: 8080
        targetPort: 8080
    selector:
      name: msgnc-travel-pod
      app: msgnc-travel-app
  
  </code></pre>