Skip to content

Prerequisites

Before installing Nantian Gateway, verify that the environment meets the following requirements.

A Kubernetes cluster running version 1.28 or later is required. Any conformant Kubernetes distribution is supported, from local development environments to managed cloud services.

For local development, Kind (Kubernetes IN Docker) is the recommended tool. It is a single-binary, fast cluster creation utility that works well with the project’s preconfigured Kind configurations.

Install Kind from the official releases page. Create a cluster using the provided configuration:

Terminal window
kind create cluster --config gateway/deploy/kubernetes/overlays/kind/kind-config.yaml

This configuration creates a single-node cluster with host port mappings for gateway access:

ServiceCluster PortHost Port
HTTP3008018080
HTTPS3044318443
UDP primary313005300
UDP secondary313015301
Admin API3200019000
Admin API (gRPC)3200119001

After deployment, the gateway is accessible at http://localhost:18080.

Verify the cluster is operational:

Terminal window
kubectl cluster-info

Expected output:

Kubernetes control plane is running at https://127.0.0.1:XXXX
CoreDNS is running at https://127.0.0.1:XXXX/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

The following command-line tools must be installed and available in PATH:

ToolMinimum VersionPurpose
kubectl1.28Cluster interaction and manifest application
helm3.12Nantian Gateway installation via Helm chart

Install kubectl following the official Kubernetes documentation. Verify the installation:

Terminal window
kubectl version --client

Expected output (version numbers vary by installation):

Client Version: v1.31.0
Kustomize Version: v5.4.2

Install Helm following the official Helm documentation. Verify the installation:

Terminal window
helm version --short

Expected output:

v3.14.0+ge36b354

Nantian Gateway requires the Kubernetes Gateway API CRDs to be installed on the cluster. These CRDs define the Gateway, GatewayClass, HTTPRoute, and other resource types that the gateway uses for configuration.

Install the Gateway API CRDs using the standard upstream channel:

Terminal window
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.5.1/standard-install.yaml

Verify the CRDs are installed:

Terminal window
kubectl get crd gateways.gateway.networking.k8s.io

Expected output:

NAME CREATED AT
gateways.gateway.networking.k8s.io 2024-01-01T00:00:00Z

The following table lists the minimum and recommended resource allocations for each component at different traffic volumes.

ComponentCPU RequestMemory RequestReplicas
Control Plane100m128Mi1
Data Plane500m256Mi1
Dashboard50m128Mi1
Section titled “Recommended (production / moderate traffic: 1K–5K RPS)”
ComponentCPU RequestMemory RequestCPU LimitMemory LimitReplicas
Control Plane200m256Mi11Gi2
Data Plane2512Mi2Gi2–4
Dashboard100m128Mi500m256Mi2
ComponentCPU RequestMemory RequestReplicas
Control Plane500m512Mi2–3
Data Plane41Gi4–8
Dashboard200m256Mi2

The data plane is the primary consumer of CPU and memory. Each additional replica increases aggregate throughput linearly.

After verifying all prerequisites, proceed to the Quick Start to deploy Nantian Gateway.