我对 Kubernetes 中 Ingress 和负载均衡器的作用感到很困惑。据我所知,Ingress 用于将来自互联网的传入流量映射到集群中运行的服务……
我对 Kubernetes 中 Ingress 和 Load Balancer 的作用感到很困惑。
据我了解,Ingress 用于将来自互联网的传入流量映射到集群中运行的服务。
负载均衡器的作用是将流量转发到主机。在这方面,入口与负载均衡器有何不同?此外,与 Amazon ELB 和 ALB 相比,kubernetes 内部的负载均衡器概念是什么?
Feature
|
Ingress
|
Load Balancer
|
---|---|---|
p1 | HTTP 级别(网络第 7 层) | 网络第 4 层 |
p2 | 基于 cookie 的会话亲和性, 入口规则 , 资源后端 , 路径类型 | 仅平衡负载 |
p3 | 入口控制器 需要运行。不同的 Kubernetes 环境使用不同的控制器实现,但有些环境根本不提供默认控制器。 | 无依赖,内置 K8 支持 |
p4 |
它有单独的 API。 apiVersion: networking.k8s.io/v1
|
type: LoadBalancer
|
p5 | 客户端通过 Ingress 控制器连接到其中一个 pod。客户端首先对 example.com 执行 DNS 查找,DNS 服务器(或本地操作系统)返回 Ingress 控制器的 IP。然后,客户端向 Ingress 控制器发送 HTTP 请求,并在 Host 标头中指定 example.com。根据该标头,控制器确定客户端尝试访问哪个服务,通过与 Endpoints 对象 ,并将客户端的请求转发到其中一个 pod。 | 负载均衡器将流量重定向到所有节点的节点端口。客户端通过负载均衡器的 IP 连接到服务。 |
我强烈建议阅读 NodePort vs LoadBalancer vs Ingress? 以获得知识 ++