In the current architecture of the Apache APISIX Ingress controller, we use the 
Apache APISIX Ingress controller as a control plane component.
The user creates a specified type of CR in Kubernetes, and the Apache APISIX 
Ingress controller converts it into a data structure that can be received by 
Apache APISIX, and creates, modifies or deletes it by calling the admin API.
Such an architecture has the following advantages:
- The separation of CP and DP can ensure that even if the CP component is 
abnormal, DP can still run properly;
- Users can deploy DP in any location they like, including outside the 
Kubernetes cluster

But such an architecture will also have its disadvantages
Users need to maintain a complete Apache APISIX cluster, which cannot be done 
simply by modifying the replicas field of the Apache APISIX Ingress controller

I hope to introduce an architecture similar to ingress-nginx, which is widely 
used in Kubernetes.

In this way, users can complete the deployment directly through a Pod. At the 
same time, user can simply modify the replicas parameter to complete the scale.

Reply via email to