Prerequisites
Before deploying Gate on Kubernetes, ensure you have:- Kubernetes cluster (v1.19 or later)
- kubectl configured to communicate with your cluster
- Sufficient cluster resources:
- At least 2 CPU cores and 4GB RAM for production workloads
- Storage provisioner for persistent volumes (if using StatefulSets)
- Container registry access to
ghcr.io/minekube/gate - Kustomize (optional, for advanced configuration management)
Available Images
Gate provides two Docker image variants:Standard Image (Distroless)
gcr.io/distroless/static-debian12, this is the recommended image for most deployments:
- Minimal attack surface
- Smaller image size
- Better security posture
- No shell access
JRE Variant
eclipse-temurin:25.0.1_8-jre-alpine, use this variant if you need:
- Java plugin support
- Shell access for debugging
- Java-based extensions
Quick Start
Using Kustomize (Recommended)
The Gate repository includes ready-to-use Kustomize configurations:- Gate proxy deployment
- NodePort service (port 32556)
- ConfigMap for Gate configuration
- Example backend servers (StatefulSet)
- Headless service for server discovery
Verify Deployment
Configuration
Creating a ConfigMap
Create a ConfigMap with your Gate configuration:Apply Configuration
Namespace Organization
For production deployments, use namespaces to organize resources:Network Configuration
Gate requires network connectivity to:- External players: Ingress on port 25565 (TCP)
- Backend servers: Internal cluster networking
- API endpoints: If using external authentication/APIs
DNS Considerations
For Kubernetes service discovery:Resource Requirements
Minimal Configuration
Production Configuration
- Expected player count
- Number of backend servers
- Plugin/extension usage
- Network throughput
Security Best Practices
Pod Security Context
Network Policies
Restrict network access to Gate:Next Steps
Manifests
Explore complete Kubernetes manifest examples
Scaling
Configure horizontal pod autoscaling and load balancing

