<p>I am trying to deploy this configuration on a k8s cluster:</p>

<pre><code>apiVersion: v1
kind: ConfigMap
metadata:
  name: simulations-test
  labels: 
    mock-services: "true"
data:
  simulations-test.json: |
    {
      "data":{
          "pairs":[
            {
                "request":{
                  "path":[
                      {
                        "matcher":"glob",
                        "value":"*/b2io60000082"
                      }
                  ]
                },
                "response":{
                  "status":200,
                  "body":"...",
                  "encodedBody":false,
                  "headers":{
                      "Content-Type":[
                        "application/json"
                      ]
                  }
                },
                "templated":false
            },
            {
                "request":{
                  "path":[
                      {
                        "matcher":"glob",
                        "value":"*/b2io60000080"
                      }
                  ]
                },
                "response":{
                  "status":404,
                  "body":"",
                  "encodedBody":false,
                  "headers":{
                      "Content-Type":[
                        "text/plain"
                      ]
                  }
                },
                "templated":false
            }
          ]
      },
      "meta":{
          "schemaVersion":"v5",
          "hoverflyVersion":"v1.0.0"
      }
    }

---

apiVersion: v1
kind: Pod
metadata:
  name: test-mock
  labels:
    mock-services: "test"
spec:
  containers:
  - name: test-mock
    image: spectolabs/hoverfly:latest
    volumeMounts:
    - mountPath: /simulations/
      name: simulations-test
    command: ["hoverfly", "-webserver", "-import", "/simulations/simulations-test.json"]
  volumes:
  - name: simulations-test
    configMap:
      name: simulations-test

---

apiVersion: v1
kind: Service
metadata:
  labels:
  name: test-mock-service
spec:
  ports:
    - name: "admin"
      port: 8888
      protocol: TCP
      targetPort: 8888
    - name: "proxy"
      protocol: TCP
      port: 8500
      targetPort: 8500
  selector:
    mock-service: "test"
</code></pre>

<p>When I run this:</p>

<pre><code>kubectl apply -f mock-service.yaml -n mock
</code></pre>

<p>Result:</p>

<pre><code>configmap/simulations-test created
pod/test-mock created
service/test-mock-service created
</code></pre>

<p>But when I try to access the service with <a href="http://test-mock-service.mock.svc.cluster.local:8500/b2io60000082" rel="nofollow noreferrer">http://test-mock-service.mock.svc.cluster.local:8500/b2io60000082</a>, EVEN INSIDE THE POD, I got connection refused!</p>

<p>Inside the pod I ran:</p>

<pre><code>/ # netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:8500          0.0.0.0:*               LISTEN      1/hoverfly
tcp        0      0 127.0.0.1:8888          0.0.0.0:*               LISTEN      1/hoverfly
</code></pre>

<p>I tried also to put in a deployment and I had the same result.</p>

<p>TKS!</p>

<p>UPDATE #1</p>

<p>When I try to do a port-forward, it works:</p>

<pre><code>k port-forward test-mock 8888:8888 8500:8500 -n mock
</code></pre>

<p>Result:</p>

<pre><code>Forwarding from 127.0.0.1:8888 -&gt; 8888
Forwarding from [::1]:8888 -&gt; 8888
Forwarding from 127.0.0.1:8500 -&gt; 8500
Forwarding from [::1]:8500 -&gt; 8500
Handling connection for 8500
Handling connection for 8500
</code></pre>

Leonardo Guerra
<p>Since you have <code>targetPort: 8500</code> in the service the container inside the pod need to listen on port <code>8500</code>. </p>

<p>The label in service is <code>mock-service: test</code> but in pod <code>mock-services: true</code>. They need to match.</p>

<pre><code>apiVersion: v1
kind: Pod
metadata:
  name: test-mock
  labels:
    mock-services: "test"
spec:
  containers:
  - name: test-mock
    image: spectolabs/hoverfly:latest
    ports:
    - containerPort: 8500
    volumeMounts:
    - mountPath: /simulations/
      name: simulations-test
    command: ["hoverfly", "-webserver", "-import", "/simulations/simulations-test.json"]
  volumes:
  - name: simulations-test
    configMap:
      name: simulations-test
</code></pre>

<p><strong>Also make sure the app is listening on 0.0.0.0. instead of 127.0.0.1</strong></p>
