Open tejnar opened 6 months ago
After adding a CRD - API gateway and then deleting it in consul, the role remains and adding such a CRD again causes an error.
The error occurs even without any intervention, if we shutdown and up the environment, the API gateway will no longer be running, but will hang on INIT, trying to re-add an existing role, i.e. the same error again:
Reconciler error {"controller": "gateway", "controllerGroup": "gateway.networking.k8s.io", "controllerKind": "Gateway", "Gateway": {"name":"mesh-api-gateway","namespace":"data"}, "namespace": "data", "name": "mesh-api-gateway", "reconcileID": "739cd7fb-540e-46f2-b6dd-653baf933f1a", "error": "Unexpected response code: 500 (Invalid Role: A Role with Name \"managed-gateway-acl-role-mesh-api-gateway\" already exists)"}
Manually removing the role in UI helps, but it is only a workaround
In version chart 1.5.3 this works fine.
Question
API-Gateway pods is Init state and only changes to running state only once we delete the svc api-gateway.
CLI Commands (consul-k8s, consul-k8s-control-plane, helm)
Helm Configuration
Attached values.yaml file which is being used for deploying consul to EKS. values.yaml.txt
Chart Details:
version: 1.4.1 appVersion: 1.18.1
Logs
Current understanding and Expected behavior
We use spot instances in our cluster and api-gateway pod can be migrated to any other node in the cluster. My expectation is it should bring the api-gateway pod to running state, since there is an associated service(api-gateway) which is already running. I've also defined
HTTPRoute
as defined in documentation (https://developer.hashicorp.com/consul/tutorials/kubernetes/kubernetes-api-gateway#deploy-api-gateway).Once I delete the service(api-gateway), it brings the pod to running state and it was working as expected. Also able to get the response from the services deployed inside the eks cluster.
This issue happens only when the service is exposed an loadbalancer and for nodePort it works as expected.
Environment details
EKS version : 1.29 with Calico-cni enabled
Additional Context
Modify the
connect-inject-deployment.yaml
to usehostNetwork: true