apisix-ingress-controller
apisix-ingress-controller copied to clipboard
How to integrate AWS NLB to Apisix Ingress controller in kubernetes?
Issue description
I am trying to integrate the below components in my EKS Cluster.
AWS Network Load balancer ---> Ingress Gateway(Kind: Gateway) ---> Apisix Ingress Controller ----> ApisixRoute
But I am unable to hit my hello-world service. Getting '404' error. I do not any see any errors in logs. I suspect that gateway mapping to Ingress controller is missing. Please provide me any sample configuration for the same or any example for the above use case.
Thanks, Hariharan.
Environment
- your apisix-ingress-controller version (output of apisix-ingress-controller version --long): 1.6.0
- your Kubernetes cluster version (output of kubectl version): 1.28.3
- if you run apisix-ingress-controller in Bare-metal environment, also show your OS version (uname -a):
- etcd - docker.io/bitnami/etcd:3.5.7-debian-11-r14
- Apisix version - apache/apisix:3.6.0-alpine
@nphariharan Can you share your related configuration? Like ApisixRoute CR configuration that you're using along with other relevant Kubernetes CR?
@Revolyssup - Please refer the below config files and correct me where I am wrong.
-
ApisixRoute
apiVersion: apisix.apache.org/v2 kind: ApisixRoute metadata: name: helloworld-route namespace: ingress-apisix spec: http:
- name: hello
match:
hosts:
- precd.dev.interact.lighting.com
paths:
- "/hello/*"
upstreams:
- name: helloworld-upstream
- name: hello
match:
hosts:
- precd.dev.interact.lighting.com
paths:
- "/hello/*"
upstreams:
-
ApisixUpstream
apiVersion: apisix.apache.org/v2 kind: ApisixUpstream metadata: name: helloworld-upstream namespace: ingress-apisix spec: loadbalancer: type: roundrobin discovery: type: dns serviceName: hello-world.ingress-apisix.svc.cluster.local
apiVersion: v1 kind: Service metadata: name: hello-world namespace: ingress-apisix spec: selector: app: hello-world ports:
- name: http port: 80 targetPort: 1081
-
ServiceEntry object apiVersion: networking.istio.io/v1alpha3 kind: ServiceEntry metadata: name: helloworld-service-entry namespace: ingress-apisix spec: hosts:
- precd.dev.interact.lighting.com ports:
- number: 80 name: http-port protocol: HTTP
- number: 443 name: https-port protocol: HTTPS resolution: DNS
-
VirtualService
apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: helloworld-vs namespace: ingress-apisix spec: hosts: - "*" gateways: - pre-gateway-cd http: - match: - gateways: - pre-gateway-cd port: 80 route: - destination: host: apisix-gateway.ingress-apisix.svc.cluster.local subset: helloworld-service-entry port: number: 80
- Gateway
apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: pre-gateway-cd namespace: ingress-apisix spec: selector: istio: ingressgateway # use Istio default gateway implementation servers: - port: number: 80 name: http protocol: HTTP hosts: - "precd.dev.interact.lighting.com"
Please let me know if you need any other info.
Thanks, Hariharan.
This issue has been marked as stale due to 90 days of inactivity. It will be closed in 30 days if no further activity occurs. If this issue is still relevant, please simply write any comment. Even if closed, you can still revive the issue at any time or discuss it on the [email protected] list. Thank you for your contributions.
This issue has been closed due to lack of activity. If you think that is incorrect, or the issue requires additional review, you can revive the issue at any time.