<p>Attempting to connect to a Jupyter Lab container (ultimately other applications as well) running on a cloud managed Kubernetes service using Kong as the ingress controller. Receiving <code>&quot;no Route matched with those values&quot;</code> on the http response to Kong's public IP and the ingress-controller logs indicate:</p>
<pre><code>service kong/rjup2 does not have any active endpoints
no configuration change, skipping sync to Kong
</code></pre>
<p>Deployment Config:</p>
<pre><code>apiVersion: apps/v1
kind: Deployment
metadata:
  name: rjup2
  namespace: kong
spec:
  selector:
    matchLabels:
      run: rjup2
  replicas: 1
  template:
    metadata:
      labels:
        run: rjup2
    spec:
      restartPolicy: Always
      containers:
        - name: rjup2
          image: jupyter/minimal-notebook
          imagePullPolicy: Always
          ports:
            - containerPort: 8888
              protocol: TCP
</code></pre>
<p>Service Config:</p>
<pre><code>apiVersion: v1
kind: Service
metadata:  
  name: rjup2
  namespace: kong
spec:
  selector:    
    app: rjup2
  type: ClusterIP
  ports:  
  - name: http
    port: 80
    targetPort: 8888
    protocol: TCP
</code></pre>
<p>Ingress Resource Config:</p>
<pre><code>apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: rjup2
  namespace: kong
spec:
  tls:
  - hosts:
      - &lt;AKS API server address&gt;
  rules:
  - host: &lt;AKS API server address&gt;
    http:
      paths:
      - path: /
        backend:
          serviceName: rjup2
          servicePort: 80
</code></pre>
<p>The <code>API Server Address</code> is properly populated in the deployed YAML. I have tried different namespaces before consolidating them under Kong's default namespace and also tried making the service ports 8888 in addition to the containers target port.</p>
<p>Thanks for any assistance in debugging this.</p>

<p><strong>Your <code>rjup2</code> <code>Service</code> doesn't have a valid selector. Note that the <code>Pods</code> you are trying to expose are labelled with <code>run: rjup2</code> label and your <code>Service</code> has <code>app: rjup2</code> selector.</strong></p>
<p>Btw. you get very clear error message that indicates where the problem could be:</p>
<pre><code>service kong/rjup2 does not have any active endpoints
</code></pre>
<p>If your <code>rjup2</code> service in <code>kong</code> namespace doesn't have any active endpoints, it means it doesn't expose your <code>Pods</code> properly which may indicate a possible mismatch in your configuration.</p>
<p>You can check it by running:</p>
<pre><code>kubectl get ep -n kong
</code></pre>
<p>Normally you should see the matching <code>Endpoints</code> object. In your case you won't see it as your <code>Service</code> cannot expose any pods untill it has a valid selector.</p>
<p>If you fix your <code>Service</code> definition, everything should work just fine:</p>
<pre><code>apiVersion: v1
kind: Service
metadata:  
  name: rjup2
  namespace: kong
spec:
  selector:    
    run: rjup2
  type: ClusterIP
  ports:  
  - name: http
    port: 80
    targetPort: 8888
    protocol: TCP
</code></pre>
