Skip to main content

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)

Based on 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

Based on 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

The Gate repository includes ready-to-use Kustomize configurations:
This deploys:
  • 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:
  1. External players: Ingress on port 25565 (TCP)
  2. Backend servers: Internal cluster networking
  3. API endpoints: If using external authentication/APIs

DNS Considerations

For Kubernetes service discovery:

Resource Requirements

Minimal Configuration

Production Configuration

Adjust based on:
  • 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

Troubleshooting

Pod Not Starting

Connection Issues

Configuration Not Loading