Skip to main content

Version: 3.8.x

Deploy API7 Ingress Controller on Kubernetes

This tutorial will show you how to deploy API7 Gateway and Ingress Controller on Kubernetes. API7 Ingress Controller allows you to configure API7 Gateway declaratively in Kubernetes. See API7 Ingress Controller Architecture to learn more.

If you do not wish to work with Kubernetes and API7 Ingress Controller, you may skip this tutorial and start with Launch Your First API.

Prerequisites

  1. Install API7 Enterprise.
  2. Have a running Kubernetes cluster.
  3. Have kubectl installed.

Configure DP Manager and Admin API Addresses

Navigate to the Dashboard:

  1. Select Organization from the top navigation bar, then choose Settings.
  2. Select Gateway Settings from the left navigation bar, then choose the Deployment tab.
  3. Update the DP Manager address (:7943) and Admin API address (:7443) with HTTPS URLs.

Create and Set Namespace

You can optionally create a new namespace for the resources and set it as the preferred namespace, so that you do not need to explicitly specify the namespace in every command.

Create a new namespace api7 and set it as the preferred namespace:

kubectl create namespace api7 && \
kubectl config set-context --current --namespace=api7

To verify if the default namespace is modified:

kubectl config view --minify | grep namespace:

You should see the namespace has been set:

namespace: api7

Add a New Gateway Group

Navigate to the Dashboard:

  1. Select Gateway Groups from the side navigation bar and then click Add Gateway Group.
  2. Select Ingress Controller as Type.
  3. Enter api7-ingress in the Name field.
  4. Click Add.

The gateway group should be created and you are prompted to install ingress controller and deploy the GatewayProxy configuration in the Deployment Steps panel.

Install Ingress Controller

Copy the deployment script on the Dashboard and run it in the terminal. If deployed successfully, you should see a response similar to the following:

NAME: api7-ingress
LAST DEPLOYED: Tue Jul 29 10:17:51 2025
NAMESPACE: api7
STATUS: deployed
REVISION: 1
TEST SUITE: None

Deploy the GatewayProxy Configuration

  1. Enter api7 in the Namespace field.
  2. Enter apisix in the Name field.
  3. Click Generate Script.
  4. Choose between Gateway API and Ingress scripts.
    1. Select the Gateway API tab if you will be working with Gateway API.
    2. Select the Ingress tab if you will be working with Ingress or APISIX CRD.
  5. Copy the generated script and run it in the terminal.

Install Gateway Instance

Navigate to the Dashboard:

  1. Select Gateway Instances from the side navigation bar and then click Add Gateway Instance.
  2. Switch to the Kubernetes tab.
  3. Fill out the namespace and other parameters, and click Generate to see the deployment script.
  4. Run the deployment script in the terminal.
info

When installing API7 Enterprise, a gateway instance could be initialized in the gateway group default. To avoid port conflicts, you can modify the listening ports of the new gateway instance, or remove the unused instance in the default gateway group.

Verify

Check the pod status:

kubectl get pods

You should see all pods in the Running status:

NAME                                  READY    STATUS    RESTARTS      AGE
api7-ee-3-gateway-698f85d98b-jxrwp 1/1 Running 0 6m
api7-ingress-774578b557-lw2wk 1/1 Running 0 10m

Navigate back to the Dashboard and select Gateway Instances, you should see a gateway instance in healthy status.

Note that resources created with API7 Ingress Controller, such as services and routes, will be read-only in the Dashboard.

Next Steps

  1. Learn how to create a gateway instance in the gateway group.
  2. Follow the getting started tutorials to learn more about using API7 Ingress Controller in API7 Enterprise.
API7.ai Logo

The digital world is connected by APIs,
API7.ai exists to make APIs more efficient, reliable, and secure.

Sign up for API7 newsletter

Product

API7 Gateway

SOC2 Type IIISO 27001HIPAAGDPRRed Herring

Copyright © APISEVEN PTE. LTD 2019 – 2025. Apache, Apache APISIX, APISIX, and associated open source project names are trademarks of the Apache Software Foundation