Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Kubernetes 入口支持

总结 云原生 Contrail® 网络 支持与 Kubernetes 集成的容器网络接口 (CNI)。本主题概述了云原生 Contrail 网络中的 Kubernetes 入口服务实施。本主题还包含经过验证的 Kubernetes 入口控制器及其安装说明列表。

入口控制器概述

必须具有用于入口的 Kubernetes 入口控制器才能正常运行。入口控制器从 Kubernetes 群集外部接收流量,以及向群集内容器传输的路由和负载平衡。入口控制器还会管理群集内服务与外部服务之间的出口流量。控制器会根据服务需求自动将流量路由到容器。

入口控制器部署入口资源。入口资源包括指定哪些入站流量连接到达哪些服务 (pod) 的规则。入口资源与入口控制器相结合,将第 7 层流量路由到集群中的容器。

以下是 NGINX 入口资源的示例:

入口资源包含spectype: NodePort type: LoadBalancer。这些服务类型决定控制器的流量路由和转发行为。例如,如果在字段中type输入NodePort控制平面会将一个端口从范围(默认 30000–32767)分配给您的服务。

请考虑以下示例:

以上示例中的一些亮点包括:

  • selector:用于确定此服务目标的一组 Pod 的标签选择器。在此示例中,此服务会选择带有标签 app: envoy的任何 Pod。

  • port:服务端口 (80)。

  • targetPort:应用程序在容器中使用的实际端口 (8080)。

  • nodePort:服务所接触到的群集中每个节点主机上的端口 (30080)。

不同的入口控制器需要不同的配置。查看入口控制器的文档,了解 注释、规范和配置信息。

经过验证的入口控制器

云原生 Contrail 网络支持许多入口控制器。我们已经验证了以下三个常用的第三方控制器,这些控制器可用于云原生 Contrail 网络:

NGINX 入口控制器

NGINX 是一种开源 HTTP 服务器,也可用作反向代理、负载平衡器以及 IMAP 或 POP3 代理服务器。NGINX 入口控制器是一种 Kubernetes 控制器,可使用 ConfigMap 资源部署 NGINX 配置。除了仅端点更改之外,您必须在发生任何更改后重新加载 NGINX 到配置文件。此重新加载机制由 lua-nginx 模块供电。NGINX 需要 Kubernetes v1.22 或更高版本。
注意:

我们使用云原生 Contrail 网络作为 SDN(软件定义网络)解决方案(从 Contrail 网络版本 21.4 开始)支持环境中的 NGINX 入口控制器。

有关安装说明,请参阅 NGINX 入口控制器 安装指南 。本指南包含使用多种不同方法(DockerminikubeHelm)安装 NGINX 的说明。

HAProxy 入口控制器

HAProxy 入口控制器提供 TCP 和 HTTP 路由以及高可用性 (HA) 负载平衡。HAProxy 提供 Runtime API数据平面 API无中断重负载等功能。这些功能在动态、高流量环境中表现出色,用户可在其中不断部署、配置和终止 pod、服务和微服务。HAProxy 入口控制器 v0.13 需要 Kubernetes v1.19 或更高版本。

注意:从 Contrail 网络版本 21.4 开始,我们使用云原生 Contrail 网络作为 SDN 解决方案在环境中支持 HAProxy 入口控制器。

有关安装说明,请参阅 HAProxy 入门 指南。

注意:

您必须使用 Helm 来安装和配置 HAProxy 入口控制器。有关详细信息,请参阅 Installing Helm

轮廓入口控制器

Contour 入口控制器将特使代理部署为反向代理和负载平衡器。特使是第 7 层总线网络,用于代理服务和通信。特使部署为自成一体的代理,而不是图书馆。因此,任何应用程序都可以访问特使的负载平衡功能。此实施适用于 Kubernetes 群集等分布式系统。Contour 的其他优势包括:

  • 易于安装和集成特使

  • 多团队 Kubernetes 群集中稳定的入口支持。

  • 动态更新和入口配置,不会中断或中断连接。

Contour 需要 Kubernetes 1.16 或更高版本。您必须在集群中启用基于角色的访问控制 (RBAC),以便 Contour 正常运行。

注意:

从 Contrail 网络版本 21.4 开始,我们使用云原生 Contrail 网络作为 SDN 解决方案在环境中支持 Contour 入口控制器。

有关如何安装 Contour 入口控制器的说明,请参阅 门指南。本指南包含有关如何使用 类型Docker 安装和配置 Contour 的说明。安装种类后安装 Contour 或 Docker 以运行您的入口控制器。