在捕鱼大亨网络版 1.18中支持不断发展的入口规范

作者: Alex Gervais(Datawire.io)

今年早些时候,捕鱼大亨网络版团队发布了 捕鱼大亨网络版 1.18,扩展了Ingress。在此博客文章中,我们将介绍新的Ingress规范的新功能,对您的应用程序意味着什么以及如何升级到支持该新规范的Ingress控制器。

什么是捕鱼大亨网络版 Ingress

在捕鱼大亨网络版中部署应用程序时,许多人遇到的第一个挑战是如何将流量引入他们的集群。 捕鱼大亨网络版入口 是路由规则的集合,用于控制外部用户如何访问捕鱼大亨网络版集群中运行的服务。有 三种通用方法 用于公开您的应用程序:

  • Using a NodePort to expose your application on a port across each of your nodes
  • Using a LoadBalancer service to create an external load balancer that points to a 捕鱼大亨网络版 service in your cluster
  • 使用捕鱼大亨网络版 Ingress资源

捕鱼大亨网络版 1.18 Ingress的新功能

捕鱼大亨网络版 1.18中的Ingress API有三个重要的补充:

  • A new pathType field
  • A new IngressClass resource
  • 支持主机名中的通配符

The new pathType field allows you to specify how Ingress paths should match. The field supports three types: ImplementationSpecific (default), exact, and prefix. Explicitly defining the expected behavior of path matching will allow every ingress-controller to support a user’s needs and will increase portability between ingress-controller implementation solutions.

The IngressClass resource specifies how Ingresses should be implemented by controllers. This was added to formalize the commonly used but never standardized kubernetes.io/ingress.class annotation and allow for implementation-specific extensions and configuration.

您可以在以下内容中详细了解这些更改以及主机名中对通配符的支持。 以前的博客文章.

支持捕鱼大亨网络版入口

大使 是基于Envoy的开源入口控制器。我们坚决支持我们采用的捕鱼大亨网络版 Ingress等通用标准, 宣布我们对2019年的最初支持.

每个大使版本都经过严格的测试。因此,我们也贡献了 开放一致性测试套件,支持捕鱼大亨网络版入口。我们编写了测试代码的初始部分,并将逐步迭代新添加的功能和Ingress规范的不同版本,因为它逐渐发展成为稳定的v1 GA版本。文档和使用示例是我们的首要任务之一。我们了解用法的复杂性,尤其是从先前版本的API过渡时。

遵循一种测试驱动的开发方法,我们支持大使改进Ingress的第一步是将修订后的规范(包括API和行为)转换为可理解的测试套件。该测试套件尽管仍处于开发阶段,并且经过多次迭代,但已迅速添加到Ambassador CI基础架构和验收标准中。这意味着今后对Ambassador代码库的所有更改都将符合Ingress API并以轻量级进行端到端测试 实物集群。使用KIND可以使我们快速改进,同时限制我们的云提供商基础架构账单,并使用预发布版本测试未发布的捕鱼大亨网络版功能。

采用新规范

通过对捕鱼大亨网络版 1.18中引入的Ingress的新增功能的全球理解以及手头的测试套件,我们解决了适应大使代码的任务,以便它将支持将高级Ingress API资源转换为Envoy配置和构造。幸运的是,大使已经支持入口功能的先前版本,因此开发工作是逐步进行的。

We settled on a controller name of getambassador.io/ingress-controller. This value, consistent with 大使's domain and CRD versions, must be used to tie in an IngressClass spec.controller with an 大使 deployment. The new IngressClass resource allows for extensibility by setting a spec.parameters field. At the moment 大使 makes no use of this field and its usage is reserved for future development.

Paths can now define different matching behaviors using the pathType field. The field will default to a value of ImplementationSpecific, which uses the same matching rules as the 大使地图 前缀字段和先前的Ingress规范是出于向后兼容的原因。

捕鱼大亨网络版入口控制器

一个全面的 捕鱼大亨网络版入口控制器列表 在捕鱼大亨网络版文档中可用。当前,大使是唯一支持这些新增加的入口规范的入口控制器。由 特使代理,大使是您今天试用新的入口规范的最快方法。

查看以下资源:

或加入社区 松弛!