Can't connect with my frontend with kubectl

6/2/2020

With kubernetes, I created an ingress with a service like these :

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: syntaxmap2
spec:
  backend:
    serviceName: testsvc
    servicePort: 3000

The service testsvc is already created.

I created a frontend service like these :

apiVersion: v1
kind: Service
metadata:
  name: syntaxmapfrontend
spec:
  selector:
    app: syntaxmap
    tier: frontend
  ports:
  - protocol: "TCP"
    port: 7000
    targetPort: 7000
  type: LoadBalancer
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: syntaxmapfrontend
spec:
  selector:
    matchLabels:
      app: syntaxmap
      tier: frontend
      track: stable
  replicas: 1
  template:
    metadata:
      labels:
        app: syntaxmap
        tier: frontend
        track: stable
    spec:
      containers:
      - name: nginx
        image: "gcr.io/google-samples/hello-frontend:1.0"
        lifecycle:
          preStop:
            exec:
              command: ["/usr/sbin/nginx","-s","quit"] 

When I do these command :

kubectl describe ingress syntaxmap2

I have an Ip adress than i can put in my browser and I have an answer

But when I do these command :

kubctl describe service syntaxmapfrontend

I have an Ip adress with a port and when I try to connect to it with curl, I have a time out.

How can I connect to my kubernet frontend with curl ?

-- user13606294
kubectl
kubernetes
minikube

2 Answers

6/2/2020

The service is accessible only from within the k8s cluster. You either need to change the type of address from ClusterIP to NodeIP, or use something like kubectl port-forward or kubefwd.

If you need more detailed advice, you'll need to post the output of those commands, or even better, show us how you created the objects.

-- stblassitude
Source: StackOverflow

6/2/2020

I have found a way.

I write :

minikube service syntaxmapfrontend

And it open a browser with the right URL.

-- user13606294
Source: StackOverflow