【问题标题】:Creating an Internal Only Service in Kubernetes在 Kubernetes 中创建仅限内部的服务
【发布时间】:2021-04-12 08:09:42
【问题描述】:

我正在尝试仅在 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 服务网格。

谢谢 凯文

【问题讨论】:

  • 我只是想补充一点,我只是让它工作了。Istio 被注入到所有的命名空间中......我从这个命名空间和另一个命名空间中删除了 istio 注入,我可以在它们之间连接...重新添加了 istio 并得到相同的错误,所以似乎该错误与某个地方的 istio 有关...虽然我们确实需要 istio。
  • 您能否将评论中的信息粘贴到您的帖子中。您还可以提供更多详细信息(整个 yaml 文件) - 您是否使用特定教程进行设置?
  • 没有教程,但是没有在我的 clamav 命名空间中运行 istio,我可以正常使用该服务,如果我在另一个命名空间中禁用 istio,它们就可以正常通信。一旦我将 istio 添加回(特使代理),通信问题就会再次出现。
  • 您能否提供更多详细信息(整个 yaml 文件-服务、部署)-您正在处理的环境?

标签: kubernetes internals clamav


【解决方案1】:

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

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

修复了问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-27
    • 2020-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-04
    • 2022-01-13
    • 2020-12-25
    相关资源
    最近更新 更多