vortegatorres commented on issue #2130:
URL: 
https://github.com/apache/apisix-ingress-controller/issues/2130#issuecomment-2900493642

   > Trying that command with apisix-ingress-controller chart 0.14.0 did not 
result in a working deployment. It correctly doesn't > deploy etcd, but it also 
doesn't the apisix-gateway and the wait-admin init container just ends up 
printing the following forever:
   >
   > waiting for apisix-admin
   > nc: bad address 'apisix-admin.ingress-apisix.svc.cluster.local'
   
   I was able to successfully run the composite architecture using the [APISIX 
Helm chart version 
2.10.0](https://github.com/apache/apisix-helm-chart/tree/apisix-2.10.0) and 
resolve the issue of an infinite loop by customizing the generated Kubernetes 
manifests from the Helm templates. Here's what I did:
   - Enabled the embedded `etcd` server in the ingress controller configuration 
by setting `etcd.enabled=true`.
   - Set the number of `etcd` replicas to 0 to prevent deploying a separate 
`etcd` cluster.
   - In the default architecture:
     - The APISIX Gateway waits for `etcd` to become available.
     - The ingress controller waits for the APISIX Gateway admin to start (that 
is why you see the infinite loop of `waiting for apisix-admin`).
   -  To break this circular dependency, I changed the behavior so that:
      - The APISIX Gateway now waits for the ingress controller on port 12379 
instead (by modifying its initContainers).
      - I removed the initContainer from the ingress controller entirely, so it 
starts immediately.
   - Exposed the ingress controller’s gRPC port 12379, allowing the APISIX 
Gateway to communicate with it.
   - Configured the APISIX Gateway to use the ingress controller as its `etcd` 
host by pointing it to 
`http://apisix-ingress-controller.ingress-apisix.svc.cluster.local:12379` (or 
the equivalent in your namespace).
   
   With these changes, both the APISIX Gateway and the ingress controller are 
able to start correctly, load custom route definitions, and function as they 
would in a traditional setup using `etcd`.
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@apisix.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to