Skip to main content

Supported Operating Systems

Since Apinizer runs on Kubernetes, it supports Linux-based operating systems that support Kubernetes. Using modern and supported versions is recommended for production environments.
Operating SystemSupported VersionsRecommended Version
Red Hat Enterprise Linux (RHEL)8.x, 9.x8.x or 9.x
Ubuntu20.04 LTS, 22.04 LTS, 24.04 LTS22.04 LTS or 24.04 LTS
Oracle Linux8.x, 9.x8.x or 9.x
Rocky Linux8.x, 9.x8.x or 9.x
CentOS8.x8.x (EOL - migration to Rocky Linux recommended)
Important: RHEL 7.x and other older versions are no longer supported. RHEL 8.x or 9.x, Oracle Linux 8.x or 9.x, Rocky Linux 8.x or 9.x versions should be used for production environments.
Note: Since Apinizer runs on Kubernetes, other Linux distributions supporting Kubernetes can also be used (SUSE Linux Enterprise Server, Debian, etc.). However, official testing and support are provided for the operating systems specified above.

Kubernetes Requirements

Supported Versions

Since Apinizer uses modern features of Kubernetes, minimum Kubernetes 1.24 version is required. Older versions are not supported.
PlatformMinimum VersionRecommended VersionNotes
Kubernetes1.24+1.28+ or latest stableMinimum 1.24 is mandatory
OpenShift4.12+4.14+Based on Kubernetes 1.24+
Tanzuv1.5+v1.6+VMware Tanzu Kubernetes Grid
RKE21.28+Latest versionRancher Kubernetes Engine 2
AKSKubernetes 1.24+Latest versionAzure Kubernetes Service
EKSKubernetes 1.24+Latest versionAmazon Elastic Kubernetes Service
GKEKubernetes 1.24+Latest versionGoogle Kubernetes Engine
Critical: Versions older than Kubernetes 1.24 are not supported. Make sure your Kubernetes version is 1.24 or above before installation.

Kubernetes Critical Settings

Container Runtime

Since Apinizer images are provided as rootless from DockerHub, the following container runtimes are supported:
  • containerd: Recommended (standard runtime for Kubernetes 1.24+)
  • CRI-O: Supported (Kubernetes 1.24+)
  • Docker: Deprecated for Kubernetes 1.24+ - should not be used
Note: Docker runtime support has been removed in Kubernetes 1.24 and above versions. containerd or CRI-O should be used in production environments.

Required Kubernetes Features

  • Namespace support: Apinizer components run within namespaces
  • RBAC: Role-Based Access Control must be active
  • Network Policies: Optional, recommended for security
  • Storage Classes: Required for Persistent Volumes
  • Ingress Controller: For external access (Nginx, Traefik, etc.)

Important Configurations

Kubelet Settings:
# /var/lib/kubelet/config.yaml
maxPods: 110
podPidsLimit: 4096
API Server Settings:
# /etc/kubernetes/manifests/kube-apiserver.yaml
--max-requests-inflight=400
--max-mutating-requests-inflight=200
For detailed Kubernetes installation steps and system configuration (kernel settings, network settings, time synchronization), you can refer to the Pre-Installation Recommendations and Kubernetes Installation pages.

MongoDB Requirements

Supported Versions

VersionStatusRecommended
MongoDB 4.4Supported
MongoDB 5.0Supported✓✓
MongoDB 6.0Supported✓✓
MongoDB 7.0Supported✓✓
Critical: MongoDB must be configured as a Replica Set. Even for a single node, it must be installed as a replica set. Standalone instance should not be used.

MongoDB Critical Settings

Replica Set Configuration

Mandatory: MongoDB must be installed as a Replica Set. Replica set configuration is required even for a single node. Example Replica Set Configuration:
// MongoDB Replica Set initialization
rs.initiate({
  _id: "apinizer-rs",
  members: [
    { _id: 0, host: "mongodb-0:27017" },
    { _id: 1, host: "mongodb-1:27017" },
    { _id: 2, host: "mongodb-2:27017" }
  ]
})

Important MongoDB Settings

Critical Configuration Requirements:
  • Replica Set: Must be configured as a replica set (even for a single node)
  • WiredTiger Storage Engine: Recommended storage engine
  • Cache Size: 50% of RAM is recommended (max 32GB)
  • Replication: Replica set name must be configured
For detailed MongoDB installation steps and configuration examples, you can refer to the MongoDB Installation pages.

Elasticsearch Requirements

VersionStatusNotes
Elasticsearch 7.9.2SupportedMinimum supported version
Elasticsearch 8.17.10Officially Recommended✓✓ Recommended version
Elasticsearch 8.x (< 8.17.10)TestedNo official support, can be used
Elasticsearch 8.x (> 8.17.10)Not RecommendedNot recommended as it has not been tested

Elasticsearch Critical Settings

Cluster Configuration

Minimum Configuration:
  • Node Count: Minimum 1 node
  • Shard Count: 1-5 shards per index (depending on data volume)
  • Replica Count: Minimum 0 (for single node)
For Production Environments: High Availability (HA) Elasticsearch architecture should be used for high availability (HA) in production environments.
High Availability (HA) Configuration (Recommended):
  • Node Count: Minimum 3 nodes (Master + Data + Ingest roles)
  • Master Node Count: Must be odd number (3, 5, 7, etc.) - to prevent split-brain
  • Shard Count: 1-5 shards per index (depending on data volume)
  • Replica Count: Minimum 1 (for high availability)
  • Dedicated Master Node: Recommended for large clusters (3 dedicated master nodes)

Important Elasticsearch Settings

Critical Configuration Requirements:
  • Cluster Name: Cluster name must be configured
  • JVM Heap Size: 50% of RAM is recommended (maximum 32GB)
  • Index Lifecycle Management (ILM): Must be active
  • Discovery: Single-node or cluster discovery must be configured
  • Network: HTTP port (9200) and transport port (9300) must be configured
For detailed Elasticsearch installation steps, configuration examples, and ILM policies, you can refer to the Elasticsearch Installation pages. For system configuration (kernel settings, network settings, time synchronization), you can refer to the Pre-Installation Recommendations page.