• Apache APISIX Ingress v1.5-rc1 发布


    Apache APISIX Ingress Controller v1.5-rc1 版本正式发布。此版本历时 7 个月左右的时间,由 36 位贡献者进行了 144 次提交。其中有 22 位新晋贡献者,感谢大家对本项目的贡献与支持!

    在这里插入图片描述

    接下来就让我们一起看下,在 APISIX Ingress v1.5 版本中有哪些重要更新。

    所有 CRD API Version 升级至 v2

    在 APISIX Ingress 项目初始,只有少数的几个 CRD ,并且每个资源都是各自进行 API Version 的维护。这就导致了后续有新资源引入或功能迭代的过程中,会出现每个自定义资源使用的 API Version 都不一样的状况,从而增加用户学习成本。

    所以从 v1.3 版本开始,我们提出了统一所有资源 API Version 的 Proposal。经过两个版本的迭代,现已正式引入了 v2 API Version,同时将 v2beta3 标记为废弃,直到 v1.7 版本时会完全移除 v2beta3。

    基本支持 Gateway API

    Gateway API 可以说是下一代的 Ingress 定义,具有更加丰富的表现能力。我们已经在 APISIX Ingress 中完成其中大多数资源的支持(注意,此特性目前还在实验性质,默认不启用)。

    如果想要在 APISIX Ingress 中使用 Gateway API,可以在 controller 的配置文件中传递 enable_gateway_api: true 配置项来开启此功能。

    在安装完 Gateway API 的 CRD 后,即可通过创建 HTTPRoute 资源来完成 7 层代理的配置。如下所示:

    apiVersion: gateway.networking.k8s.io/v1alpha2
    kind: HTTPRoute
    metadata:
      name: httpbin-route
    spec:
      hostnames: ["httpbin.local"]
      rules:
      - matches:
        - path:
            type: PathPrefix
            value: /ip
        backendRefs:
        - name: httpbin
          port: 80
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    该配置生效后,客户端将可以通过 httpbin.local/ip 访问到后端 httpbin 的 80 端口。

    此外,我们计划在 v1.6 版本中实现 Gateway API 剩余 TCPRouteUDPRoute 这两种资源的支持,并计划引入 Gateway API 的一致性测试,以确保我们的实现与 Gateway API 的预期保持一致。

    允许 Ingress 资源绑定任意插件

    在 Apache APISIX Ingress Controller 项目中,支持使用 Kubernetes 原生的 Ingress 资源进行代理配置,但如果想要在 Ingress 资源中使用 APISIX 丰富的插件能力,就必须通过增加 Annotation 来完成,并且需要实现对应 Annotation 的逻辑。

    这种方式限制了 Ingress 资源的插件能力,而且为每个插件单独开发 Annotaion 是一个相对高成本的事情。

    在 v1.5 版本中,我们通过为 Ingress 资源增加了一个新的 Annotaion k8s.apisix.apache.org/plugin-config-name,这允许引用任意的 ApisixPluginConfig 资源,从而实现了让 Ingress 资源可以随意使用任意 APISIX 插件的能力。这将大大增加 APISIX Ingress Controller 的易用性,也将降低用户从其他 Ingress controller 向 APISIX Ingress Controller 迁移时的成本。

    更多细节

    除以上这些特性外,该版本中还加入了很多其他特性。比如:

    • 定时 Kubernetes 集群往 APISIX 集群中同步数据的机制,保证 APISIX 集群中数据与在 Kubernetes 集群中配置的一致性;

    • 为 ApisixConsumer 资源增加了更多的认证方式;

    • 与 APISIX v2.15 版的兼容;

    • 将所有依赖更新到最新版本,以便减少安全隐患;

    更多具体发版细节,请参考 1.5-rc1 的 Changelog

  • 相关阅读:
    区块链实训教程(3)--使用虚拟机安装Ubuntu
    上海亚商投顾:沪指低开低走 两市超4600股飘绿
    Ubuntu下Python3与Python2相互切换
    终于,老Mac可以跨级安装macOS Ventura了
    执行npm install时老是安装不成功node-sass的原因和解决方案
    t-io websocket的聊天功能学习记录(二)
    利用单片机余晖依次显示,同时显示 数码管的数字
    华为云云耀云服务器L实例评测 | 实例使用教学之软件安装:华为云云耀云服务器环境下安装 RabbitMQ 集群
    Git 入门到精通
    javaweb企业项目管理系统
  • 原文地址:https://blog.csdn.net/ApacheAPISIX/article/details/126174416