SEQ on Kubernetes not publicly visible

9/3/2019

I'm fairly new to Kubernetes, and I am trying to get SEQ up and running in im the environment. Everything looks like its provisioned correctly, but I can not seem to hit the endpoint. Chrome just spins and eventually says ERR_CONNECTION_TIMED_OUT.

I tried another example from microsoft and it works correctly. I can hit it from the outside world.

Here is my yaml file:

kind: Pod
apiVersion: v1
metadata:
  name: seq
spec:
  replicas: 1
  containers:
  - name: seq
    image: datalust/seq:latest
    ports:
    - containerPort: 80
    - containerPort: 5341
    env:
    - name: ACCEPT_EULA
      value: "Y"
    volumeMounts:
    - mountPath: "/data"
      name: volume
  volumes:
    - name: volume
      persistentVolumeClaim:
        claimName: azure-managed-disk
---
apiVersion: v1
kind: Service
metadata:
  name: seq
spec:
  type: LoadBalancer
  ports:
  - port: 80
  selector:
    app: seq    

enter image description here enter image description here

-- Chris Kooken
docker
kubernetes
seq

1 Answer

9/3/2019

It looks like that your Pod manifest is missing the following in the metadata section:

labels:
    app: seq

It should match what's defined in the Service selector section. That's what glues the Service and Pod objects together.

By the way, the statement replicas: 1 is not part of a Pod manifest but instead used in Deployments to specify how many Pods should be created initially.

To further explain a bit on the topic on how Deployments and Pods usually relates to each other, maybe my answer here, could be a good reference. The same logic applies on how Services and Pods relates to each other and labels is an important part of that.

-- mikejoh
Source: StackOverflow