Kubernetes 上的 SEQ 不公开可见

SEQ on Kubernetes not publicly visible

我是 Kubernetes 的新手,我正在尝试在 im 环境中启动 SEQ 和 运行。一切看起来都已正确配置,但我似乎无法到达终点。 Chrome 旋转并最终显示 ERR_CONNECTION_TIMED_OUT

我尝试了 microsoft 中的另一个例子,它工作正常。我可以从外面打它。

这是我的 yaml 文件:

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    

您的 Pod 清单的 metadata 部分似乎缺少以下内容:

labels:
    app: seq

它应该与服务 selector 部分中定义的相匹配。这就是将 Service 和 Pod 对象粘合在一起的原因。

顺便说一句,语句 replicas: 1 不是 Pod 清单的一部分,而是在部署中用于指定最初应创建多少 Pods。

为了进一步解释关于部署和 Pods 通常如何相互关联的主题,也许我的回答 here 可能是一个很好的参考。同样的逻辑适用于服务和 Pods 如何相互关联,labels 是其中的重要部分。