Overview
Topology 2 is a topology suitable for production environments that provides load balancing between worker nodes. All components run on 5 servers.Architectural Structure

1. System Requirements
For detailed system requirements, you can refer to the Overview page.Operating System
- Ubuntu Server 24.04 LTS or RHEL 9.x
- Minimum kernel version: 5.4+
- SELinux: Disabled (for RHEL) or Permissive mode
Software Components
| Component | Version/Requirement |
|---|---|
| Kubernetes | 1.31.0+ (or any supported version) |
| Docker/Containerd | Version compatible with Kubernetes |
| MongoDB | Any version (must be configured as Replica Set) |
| Elasticsearch | 7.9.2+ (officially supported version) |
| Network Plugin | Flannel 0.27.4 (or compatible) |
| Load Balancer | HAProxy 2.0+ or Nginx 1.18+ |
For detailed information about software components: Overview - Components Required by Apinizer
Network Requirements
- Internet Access: Required during installation
- DNS: Working DNS resolution
- Firewall: Required ports must be open
- Load Balancer: For traffic distribution
For detailed information about network topology and port requirements: Network Topology and Port Requirements
2. Hardware Requirements
The requirements below are specified for the recommended minimum configuration. They should be increased according to your service loads.| No | Operating System | CPU | RAM | Disk | Installations |
|---|---|---|---|---|---|
| Server 1 | Ubuntu Server 24.04 LTS / RHEL 9.x | 8 | 32GB | 1TB | Kubernetes Control-Plane, Manager, Elasticsearch (Master+Data), Replica set MongoDB Single Instance |
| Server 2 | Ubuntu Server 24.04 LTS / RHEL 9.x | 4 | 4GB | 80GB | Kubernetes Worker |
| Server 3 | Ubuntu Server 24.04 LTS / RHEL 9.x | 4 | 4GB | 80GB | Kubernetes Worker |
| Server 4 | Ubuntu Server 24.04 LTS / RHEL 9.x | 4 | 4GB | 80GB | Kubernetes Worker |
| Server 5 | Ubuntu Server 24.04 LTS / RHEL 9.x | 4 | 4GB | 80GB | Kubernetes Worker |
Important: The CPU, disk, and RAM values above are given as examples. These values may vary according to traffic volume, number of APIs, policy complexity, and other factors. To determine your actual hardware requirements, it is recommended to calculate according to the rules on the Capacity Planning page.
3. Network Topology
Network Structure
For professional production environments, DMZ/LAN separation is recommended but optional. A simple network structure can also be used. Network Structure:- Internet: Traffic from the outside world is directed to the internal network through a Load Balancer (Port 443/80).
- Server 1: Hosts Kubernetes Control-Plane, Manager, MongoDB, and Elasticsearch components.
- Server 2-5: Host Kubernetes Worker Node, Worker, and Cache components. The Load Balancer distributes traffic among these four worker nodes, providing load balancing.
For detailed information about DMZ and LAN zones: Overview - Core Concepts and Network Topology and Port Requirements
Port and Firewall Permissions
If all your servers will be located on the same subnet and there will be no firewall between them, firewall rules will only apply to internet access and container network communication. Since inter-server cluster and inter-component communication ports are considered directly accessible within the same subnet, there is no need to define an additional firewall rule for these communications.For detailed information about port requirements and firewall rules: You can refer to the Network Topology and Port Requirements page. This page explains in detail all port requirements and firewall rules for Kubernetes, MongoDB, Elasticsearch, and Apinizer components.
4. Capacity Planning
This topology is designed for Tier 2 (Production) level medium-traffic systems:| Metric | Value |
|---|---|
| Daily Requests | 500,000 - 3,000,000 requests/day |
| Requests per Second | 10 - 100 requests/second |
| Peak Traffic | 500 requests/second |
| Concurrent Users | 50 - 1,000 users |
For detailed information about capacity planning: You can refer to the Capacity Planning page. This page explains in detail traffic estimation, hardware requirements, MongoDB and Elasticsearch data size calculations, and benchmark performance results.
Pre-Installation Checklist
Before starting installation, you should make the following preparations:| Category | Check Item |
|---|---|
| Infrastructure | [ ] 5 servers prepared |
| [ ] Load Balancer prepared (HAProxy/Nginx) | |
| [ ] Operating system installed (Ubuntu 24.04 LTS or RHEL 9.x) | |
| [ ] Network connectivity between servers tested | |
| [ ] DNS resolution working | |
| [ ] Internet access available | |
| Network | [ ] Required ports opened |
| [ ] Firewall rules configured | |
| [ ] Load balancer configured | |
| [ ] SSL/TLS certificates prepared | |
| [ ] DMZ and LAN zones configured (optional) | |
| Software | [ ] Kubernetes installation packages ready |
| [ ] MongoDB installation packages ready | |
| [ ] Elasticsearch installation packages ready | |
| [ ] Apinizer images accessible (DockerHub or private registry) | |
| [ ] Load balancer software installed | |
| Security | [ ] SSH keys configured |
| [ ] Sudo access configured | |
| [ ] Security updates performed | |
| [ ] Firewall rules tested | |
| [ ] SSL/TLS certificates prepared |
For detailed pre-installation recommendations: You can refer to the Pre-Installation Recommendations page.
Usage Scenarios
This topology is ideal for medium-scale production environments, medium-traffic systems (500K - 3M requests/day), worker load balancing requirements, and situations requiring budget optimization.For detailed information about topology selection guide and usage scenarios: You can refer to the Deployment Models page.

