Hi Devs,

We are currently evaluating APISIX as a replacement for the NGINX Ingress
Controller and are in the process of migrating a few existing Ingress
resources. We would appreciate your recommendation on the best approach for
this migration.

We mainly have two types of Ingress resources:

*1. Ingresses with custom Lua routing logic*
These use annotations such as
nginx.ingress.kubernetes.io/server-snippet and
nginx.ingress.kubernetes.io/configuration-snippet
to inject custom Lua logic for routing and redirection.

*2. Vanilla Ingresses with only annotations*
These do not contain custom processing but use annotations such as
nginx.ingress.kubernetes.io/client-body-buffer-size and
nginx.ingress.kubernetes.io/client-header-buffer-size
to enforce limits and restrictions.

Based on the documentation, my understanding is:

   -

   The first type should be migrated to *ApisixRoute* resources, where Lua
   logic can be implemented through custom plugins or serverless plugins.
   -

   The second type *might* be represented using standard Ingress resources.
   However, I could not find a clear mapping between NGINX annotations and
   APISIX annotations/plugins, so I am unsure whether these can remain as
   Ingresses or also need to move to ApisixRoute.

Could you please advise:

   -

   Whether the above understanding is correct?
   -

   The recommended way to migrate NGINX annotations such as buffer limits?
   -

   Whether vanilla Ingress resources are expected to work reliably in
   APISIX without switching to ApisixRoute?

Thanks in advance for your guidance.

Best regards,
Amila

-- 
*Amila De Silva*
Software Architect | Associate Director, Engineering - WSO2 Inc.
(m) +94 775119302 | (e) [email protected]
<http://wso2.com/signature>

Reply via email to