HTTP Web 服务器和 Ingress 之间的区别?

Mar*_*nce 4 https proxy webserver http kubernetes-ingress

我正在学习 k8s 的世界,有很多关于入口和入口控制器的讨论。从概念上讲,它听起来与 Web 服务器相同,我将其定义为将 HTTP 请求代理到 Web 应用程序服务器的服务。它可以提供证书并进行基本的负载平衡......

而 ingress:Ingress 公开从集群外部到集群内服务的 HTTP 和 HTTPS 路由。流量路由由入口资源上定义的规则控制。Ingress 可以提供负载平衡、SSL 终止和基于名称的虚拟托管。 https://kubernetes.io/docs/concepts/services-networking/ingress/

他们听起来一样!那么这里到底有什么区别呢?我不可能是唯一一个对此感到困惑的人吧?

Pjo*_*erS 5

一般来说,Web 服务器负责接受和满足来自客户端的请求。

\n
\n

Web 服务器\xe2\x80\x98 的基本工作是接受并满足客户端对网站静态内容(HTML 页面、文件、图像、视频等)的请求。客户端几乎总是浏览器或移动应用程序,请求采用超文本传输​​协议 (HTTP) 消息的形式,Web 服务器\xe2\x80\x99s 响应也是如此。

\n
\n

最近,您可以找到许多 Web 服务器,例如ApacheNginx

\n

Kubernetes Ingress是一个API object. 在IBM 博客中 - 什么是 Kubernetes Ingress 以及它为何有用?

\n
\n

Kubernetes Ingress 是一个 API 对象,它提供路由规则来管理外部用户对 Kubernetes 集群中服务的访问(通常通过 HTTPS/HTTP)。使用 Ingress,您可以轻松设置路由流量的规则,而无需创建一堆负载均衡器或公开节点上的每个服务。这使其成为在生产环境中使用的最佳选择。

\n
\n

另外,在Kubernetes Ingress Docs中您可以找到该Kubernetes Ingress需求Ingress Controller

\n
\n

您必须有一个 Ingress 控制器才能满足 Ingress。仅创建 Ingress 资源是没有效果的。

\n
\n

有很多入口控制器,例如NginxAmbassadorApache等。

\n

总结:

\n

要使用Ingress你需要一些Web Serveras Ingress Controller

\n

Kubernetes Ingress是一个Kubernetes object帮助用户在 Kubernetes 集群中配置Web Server(如 Nginx)的工具。

\n

正如您在文档中指出的那样,它允许您配置一些HTTP/HTTPS路由、流量负载平衡、终止 SSL/TLS 等。

\n
\n

Ingress 将 HTTP 和 HTTPS 路由从集群外部公开到集群内的服务。流量路由由入口资源上定义的规则控制。

\n
\n