Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Kubernetes 入口支持

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

入口控制器概述

您必须拥有一个 Kubernetes 入口控制器才能使入口正常运行。入口控制器接收来自 Kubernetes 群集外部的流量,并将该流量路由和负载平衡到群集内的容器。入口控制器还可以管理群集内服务和外部服务之间的出口流量。控制器根据服务要求自动将流量路由到容器。

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

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

入口资源包含spectype: LoadBalancertype: NodePort字段。这些服务类型决定了控制器的流量路由和转发行为。例如,如果在字段中输入 a NodePort type则控制平面会将端口范围(默认为 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-module 提供支持。NGINX 需要 Kubernetes v1.22 或更高版本。
注意:

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

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

HAProxy 入口控制器

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

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

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

注意:

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

轮廓入口控制器

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

  • 轻松安装和集成 Envoy。

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

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

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

注意:

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

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