当前位置: 首页 > 知识库问答 >
问题:

kubernetes:在LoadBalancer服务上设置Https

钱欣然
2023-03-14

我到处都读过,要设置Https来访问kubernetes集群,您需要有入口,而不仅仅是一个负载平衡器服务,它还将集群暴露在外部。

我的问题是非常理论化的:如果入口(确实是)由负载平衡器服务、控制器(例如nginx映像的部署/pod)和一组规则(为了正确代理集群内的传入请求)组成,为什么我们不能在负载平衡器前设置Https而不是入口?

作为练习的标题,我自己分别构建了这三个组件(一个负载平衡器、一个带有一些规则的控制器/API网关):这三个组件已经根据特定规则获取传入请求并在集群内代理它们,所以我可以说,我自己构建了入口。我不能将https添加到此结构中吗?我是否需要在集群前面设置冗余部分(k8s入口)?

共有1个答案

那开济
2023-03-14

不确定我是否完全理解了你的问题。

在Kubernetes中,您将使用服务公开您的集群/应用程序,这在这里有很好的描述。本文对所有服务进行了很好的比较。

创建服务类型时,它会创建L4负载平衡器。L4知道诸如源IP:port和目标IP:port之类的信息,但没有关于应用层(第7层)的任何信息<代码>HTTP/HTTPS负载平衡器位于第7层,所以它们知道应用程序。关于负载平衡的更多信息可以在这里找到。

基于第4层的负载平衡,根据来自网络和传输层协议的数据(如IP地址和TCP或UDP端口)切流量

入口类似于支持L7的LoadBalancer

入口是Kubernetes资源,允许您为运行在Kubernetes上的应用程序配置HTTP负载平衡器,该应用程序由一个或多个服务表示。这样的负载平衡器对于将这些应用程序交付给Kubernetes集群之外的客户机是必要的。

入口也有许多优点。例如,如果集群中有许多服务,则可以创建一个负载平衡器和入口,这将能够将流量重定向到正确的服务,并允许您降低创建几个负载平衡器的成本。

要使入口资源工作,群集必须运行入口控制器。

入口控制器是在集群中运行的应用程序,它根据入口资源配置HTTP负载平衡器。负载平衡器可以是在集群中运行的软件负载平衡器,也可以是在外部运行的硬件或云负载平衡器。不同的负载平衡器需要不同的入口控制器实现。对于NGINX,入口控制器与负载平衡器一起部署在pod中。

入口控制器有很多,但最受欢迎的是Nginx入口控制器

因此,我的回答是:

为什么我们不能将Https设置在负载均衡器而不是入口之前?

这不仅是关于使用HTTPS保护您的集群,还涉及Ingress提供的许多功能和特性。

关于HTTP(S)负载平衡的非常好的文档可以在GKE文档中找到。

 类似资料:
  • 绑定到端口8080的Node.js express服务器 我希望通信量通过路由到服务到部署中的一个pods/副本。我做错了什么?

  • 目前,我们正在使用负载均衡器类型的srecice将外部请求路由到我们的一个pod。 我们希望将其移动到入口类型服务(已经有一个外部负载均衡器设置以及一个入口控制器-并且我们确实有其他Pod配置为通过此入口控制器接收外部请求) 我们现在拥有的是客户端用于外部连接的以下url: 我们想把它移到 这样,我们可以释放负载均衡器IP并且不需要特定的端口。我们确实想在一段时间内同时支持两个url-因为客户端已

  • 什么是port和targetport? 是否为每个代理设置LoadBalancer服务? 这些多个代理是否映射到cloud LB的单个公共IP地址? K8S/Cloud之外的服务如何访问单个代理?通过使用?或者使用?。还有,这里用的是哪个端口?还是? 如何在Kafka Broker的属性中指定此配置?对于k8s集群内部和外部的服务,As端口可能不同。 请帮忙。

  • 类型:LoadBalancer IP: 25.0.162.225 LoadBalancer Ingress:internal-a9716e.....us-west-2.elb.amazonaws.com 据我所知,我使用的发布类型是“LoadBalancer”,它帮助我将服务公开给外部IP地址(参见https://kubernetes.io/docs/concepts/services-netwo

  • 我有一个LoadBalancer服务,它在群集外公开3300端口。我想打开一个新的端口用于内部通信,以便其他吊舱可以与此服务对话,但此端口不应暴露在集群外部。 基本上,通信如下所示:

  • 在我们的kubernetes集群中使用netscalar,因此,我能够使用X-Forward-Form、会话关联、负载平衡算法以及入口。 现在,尝试将服务类型设置为LoadBalancer,这样我就不必有入口。我知道,服务类型loadbalancer提供L4-loadbalancer,因此在负载均衡器中不会有会话关联特性。因为,它是可以的少数服务,我试图使用这个。 我和我在尝试使用HTTPS服务时