Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug: Using the EKS quickstart creates the apisix-gateway service of type: NodePort instead of type: LoadBalancer #2288

Open
rutvik-cybersecurist opened this issue Aug 28, 2024 · 3 comments

Comments

@rutvik-cybersecurist
Copy link

Current Behavior

After running the installation steps detailed in this guide: https://apisix.apache.org/docs/ingress-controller/deployments/aws/
I ran this helm command:
helm install apisix apisix/apisix \ --set gateway.type=LoadBalancer \ --set ingress-controller.enabled=true \ --create-namespace \ --namespace ingress-apisix \ --set ingress-controller.config.apisix.serviceNamespace=ingress-apisix \ --set ingress-controller.config.apisix.adminAPIVersion=$ADMIN_API_VERSION

The helm install created a svc of type NodePort

Expected Behavior

Expected the apisix-gateway svc created to be of type LoadBalancer

Error Logs

No response

Steps to Reproduce

  1. Create a cluster in Amazon EKS
  2. Install APISIX using the following helm command: helm install apisix apisix/apisix \ --set gateway.type=LoadBalancer \ --set ingress-controller.enabled=true \ --create-namespace \ --namespace ingress-apisix \ --set ingress-controller.config.apisix.serviceNamespace=ingress-apisix \ --set ingress-controller.config.apisix.adminAPIVersion=$ADMIN_API_VERSION
  3. List services in the ingress-apisix namespace to see that apisix-gateway svc has type: NodePort even though we explicitly set gateway.type=LoadBalancer

Environment

  • APISIX Ingress controller version (run apisix-ingress-controller version --long):
    apache/apisix-ingress-controller:1.8.0 /usr/local/openresty//luajit/bin/luajit ./apisix/cli/apisix.lua version 3.9.1

  • Kubernetes cluster version (run kubectl version): Server Version: v1.29.6-eks-db838b0

  • OS version if running APISIX Ingress controller in a bare-metal environment (run uname -a) Amazon Linux 2, kernel: 5.10.214-202.855.amzn2.aarch64

@fzj55
Copy link

fzj55 commented Sep 6, 2024

I saw from the charts that service.type should be set to modify the relevant configuration of apisix-gateway. Regarding the gateway.type you set, I only saw from ingress-controller that if you want to set the service configuration of ingress-controller, it should be set to ingress-controller.gateway.type

@sreeram-venkitesh
Copy link

@rutvik-cybersecurist: Adding to @fzj55's comment above, when I set ingress-controller.gateway.type=LoadBalancer and service.type=LoadBalancer, I was able to see that the apisix-ingress-controller-apisix-gateway and apisix-gateway Services respectively were created as LoadBalancers.

Command:

helm install apisix apisix/apisix \
        --set gateway.type=LoadBalancer \
+       --set ingress-controller.gateway.type=LoadBalancer \
+       --set service.type=LoadBalancer
        --set ingress-controller.enabled=true \
        --create-namespace \
        --namespace ingress-apisix \
        --set ingress-controller.config.apisix.serviceNamespace=ingress-apisix \
        --set ingress-controller.config.apisix.adminAPIVersion=v3 \

Output:
image

If this is what you intended, we can update the doc you linked or add a snippet describing this there.

@fzj55
Copy link

fzj55 commented Oct 7, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants