在 Kubernetes 中创建仅供内部使用的服务

Creating an Internal Only Service in Kubernetes

我正在尝试仅在 kubernetes 中创建内部服务。它是一个 clamav 服务,端口 3310 上的 docker 容器 运行s。我创建了一个部署和一个服务。

我已将服务和部署放入 'clamav' 命名空间

我已经对服务和 pods 进行了端口转发,可以确认它按预期工作。

如果我直接连接到 pod 并且 运行 curl localhost:3310 它很好,如果我 curl clamav(没有端口,因为我将 80 配置为传入服务端口)(clamav服务名称)我收到以下 503 错误:

upstream connect error or disconnect/reset before headers. reset reason: connection termination

如果我连接到不同的服务并尝试相同的服务 curl clamav.clamav,我会得到同样的错误。 (没有端口,因为我将 80 配置为传入服务端口)

除了服务和部署之外,我还需要其他东西吗?还是配置有误?

服务规范如下所示。

spec:
  clusterIP: 10.10.255.194
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 3310
  selector:
    app: clamav
  sessionAffinity: None
  type: ClusterIP

我已尝试将名称更改为“3310-3310”并将端口也更改为“3310”...必须更新 curl 命令以使端口为 :3310...但同样的错误.

另外补充一下,我在这个集群中确实有 istio 服务网格 运行ning 并注入了。

谢谢 凯文

这个问题的答案是服务,将其更改为:

spec:
  clusterIP: 10.10.255.194
  ports:
  - name: tcp-clamav
    port: 80
    targetPort: 3310
  selector:
    app: clamav
  sessionAffinity: None
  type: ClusterIP

已解决问题