【问题标题】:Secure traffic between kubernetes ingress and serviceKubernetes入口和服务之间的安全流量
【发布时间】:2019-04-06 22:14:53
【问题描述】:

我对 kubernetes 很陌生,我希望能以一种好的方式解释自己,如果有人有任何资源/建议可以阅读我的问题,我将不胜感激。
让我们直奔主题。 我试图公开的网络应用程序只接受服务上的 https 连接。所以基本上我想要求入口通过https与我的服务进行通信

按照一些教程,我尝试通过 https 公开一个简单的网络应用程序(接受 http 连接),创建一个证书和一个秘密,并将以下行添加到 ingress.yml:

 tls:
   - secretName: testexample.com
     hosts:
       - testexample.com

并执行curl -k https://testexample.com 或通过浏览器我可以看到我的网页。 当我的 webapp 只接受 https 连接时,问题就出现了,而我们正在迁移到 kubernetes 的 webapp 确实如此。 我总是收到“404 默认后端”消息。

我试图寻找一些资源/教程/以前的问题,

Secure communication between Ingress Controller (Traefik) and backend service on Kubernetes

Securing connections from ingress to services in Kubernetes with TLS

但我不知道如何摆脱这个问题。

如前所述的任何建议将不胜感激。

【问题讨论】:

  • 你能用 ingress 和 service yamls 更新你的帖子吗?

标签: service https kubernetes communication


【解决方案1】:

错误来源可能是您的 Ingress 规则。这是他们没有指向正确的服务和端口,或者它与服务不在同一个命名空间中。

【讨论】:

  • 您好 tomaaron,感谢您的回答。 Ingress 和 service 在同一个命名空间中。我可以 ping 入口主机名,因此 dns 能够解析它,并检查它看起来是否正确公开的日志。剩下的端口,我的应用程序在端口 8443 上暴露在容器上,但我认为入口会将流量转发到服务而不是直接到容器。
  • 你必须区分 Ingress 控制器和它的规则。它还取决于您如何公开服务。你能分享你的服务和入口规则定义吗?
  • 嗨 Tomaaron,这是我的服务 apiVersion:v1 种类:服务元数据:名称:admin-no-nfs 标签:app:admin-no-nfs 规范:端口:-名称:https 端口:8443 targetPort: https 选择器: app: admin-no-nfs
  • 这是我的入口规则:-主机:.domain http:路径:-路径:/后端:服务名称:admin-no-nfs servicePort:30407
  • 设置入口规则 servicePort 匹配 admin-no-nfs (8443) 的服务端口。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-31
  • 1970-01-01
  • 2016-10-18
  • 2021-10-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多