Kubernetes入口与使用外部IP的服务

时间:2019-01-25 14:52:14

标签: kubernetes kubernetes-ingress

如果我在(小型)Kubernetes 1.13集群上公开了(单个)Web服务(例如http://a.b.c.dhttps://a.b.c.d),那么在{{ 1}}类型为Ingress,仅Service

地址ClusterIP被路由到我的一个群集节点。 externalIPs [ a.b.c.d ]需要安装和维护ingress controller,所以我想知道什么时候可以这样做。

2 个答案:

答案 0 :(得分:1)

  • 每个ClusterIP类型的服务都有其自己的公共IP地址,而即使您要提供对数十种服务的访问权限,Ingress都只需要单个IP。
  • 您还可以根据Ingress提供的基于主机和路径的路由,将客户端请求转发到相应的服务。
  • 由于Ingress在第7层(应用程序层)运行,因此它还可以提供基于cookie的会话之类的功能,而这些功能是无法通过服务实现的。

答案 1 :(得分:0)

我现在遇到了第一个具体示例,在该示例中,我看到将IngressServiceexternalIPs一起使用会带来具体的好处。

Kubernetes集群中的私有Docker注册表通常需要TLS凭据。使用Docker映像registry:2时,必须挂载这些凭据,例如从ConfigMap到容器中,并在容器中有某些环境变量(例如REGISTRY_HTTP_TLS_CERTIFICATE)指向它们。

只要人们可以容忍对群集内部注册表的不安全访问,就可以更容易使用Ingress进行管理。可以将证书放入Secret资源可以指向(Ingress的{​​{1}}中。不再需要对安装或环境变量进行其他详细关注。 TLS连接将在入口控制器处终止。