如欲创建和管理一个强大的 Kubernetes 环境,您的网络团队和应用团队之间必须能够顺畅协作。然而,他们的工作重点和工作方式往往大径相庭,这可能会引发冲突,进而造成严重后果——应用开发速度缓慢、部署延迟乃至网络中断。
两个团队必须都朝着共同的目标努力,才能确保如今的现代应用按时交付,并具有适当的安全防护和可扩展性。但如何充分发挥每个团队的技能和专长,同时帮助他们协同工作呢?
我们的白皮书《走进集群》详细介绍了一款 Kubernetes 服务外部访问解决方案,可助力网络团队和应用团队优势互补,避免冲突。
该解决方案特别适合托管在本地的 Kubernetes 集群,凭借着节点(node)在裸机或传统 Linux 虚拟机 (VM) 上运行,并且标准的二层交换机和三层路由器为数据中心内的通信提供网络。它不会扩展到云托管的 Kubernetes 集群,因为云提供商不允许我们控制其数据中心内的核心网络及其托管 Kubernetes 环境中的网络。
在详细介绍我们的解决方案之前,先让我们看一下为什么在 Kubernetes 集群中暴露应用的其他标准方法不适用于本地部署:
A
记录。遗憾的是,这种方法不适用于本地集群。
说到这里,首先想到便是 Kubernetes Ingress 对象,它专为从集群外的用户流向集群内的 pod 的流量(南北向流量)而设计。Ingress 为集群创建了一个外部 HTTP/HTTPS 入口点,即单个 IP 地址或 DNS 名称,支持外部用户访问多个 service。这恰好能满足我们的需求!“Ingress 对象”由 Ingress controller 实现——在我们的解决方案中是基于 NGINX Plus 的企业级 F5 NGINX Ingress Controller。
您可能会惊讶地发现,该解决方案的另一个关键组件是边界网关协议 (BGP),后者是一种三层路由协议。出色的解决方案不一定很复杂。
《走进集群》中概述的这款解决方案实际上包含四个组件:
下图展示了该解决方案架构,显示了解决方案组件用于通信的协议,而不是请求处理期间数据交换的顺序。
通过共同实施一款组件定义明确的解决方案,网络和应用团队可轻松地实现最佳性能和可靠性。
我们的解决方案使用现代联网工具、协议和现有架构。由于价格经济且易于实施、管理和支持,它可以助力简化工作并将您的各个团队轻松连接起来。
如欲查看代码实例并了解解决方案部署的分步指南,请免费下载《走进集群 》白皮书。
"This blog post may reference products that are no longer available and/or no longer supported. For the most current information about available F5 NGINX products and solutions, explore our NGINX product family. NGINX is now part of F5. All previous NGINX.com links will redirect to similar NGINX content on F5.com."