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

问题描述

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

我已将服务和部署放在“clamav”命名空间中

我已经端口转发了服务和 Pod,并且可以确认它按预期工作。

如果我直接连接到 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 服务网格。

谢谢 凯文

解决方法

对此的答案是服务,将其更改为:

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

已解决问题

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...