Kubernetes on Hetzner Cloud
Edka helps you run Kubernetes on Hetzner Cloud without assembling the platform yourself. You keep the infrastructure in your own account while Edka handles the repeatable setup work needed for production ready clusters.
Why teams choose Kubernetes on Hetzner
Section titled “Why teams choose Kubernetes on Hetzner”Capacity you control
Section titled “Capacity you control”- Direct Hetzner billing in your own account
- Cloud instances for fast provisioning and elastic capacity
- Optional dedicated Metal server pools for sustained workloads
- Clear separation between Edka platform fees and Hetzner infrastructure costs
Performance
Section titled “Performance”- 100% NVMe SSD storage on all servers
- AMD EPYC or Intel Xeon processors
- 10 Gbit/s network connectivity
- Low latency with data centers in Europe, USA and Asia
Reliability
Section titled “Reliability”- 99.9% monthly Cloud Server SLA (Hetzner)
- ISO 27001 certified data centers
- DDoS protection included
- Redundant network infrastructure
Setting Up Hetzner Integration
Section titled “Setting Up Hetzner Integration”Prerequisites
Section titled “Prerequisites”-
Create a Hetzner Cloud Account
- Visit Hetzner Cloud
- Sign up and verify your account
- Add payment method (credit card or PayPal)
-
Create a Project
- Log in to Hetzner Cloud Console
- Click New Project
- Name your project (e.g., “edka-production”)
Generate API Token
Section titled “Generate API Token”- Navigate to your project in Hetzner Console
- Go to Security > API Tokens
- Click Generate API Token
- Configure token:
- Description: “Edka”
- Permissions: Read & Write
- Copy the token and store it securely (shown only once)
Connect to Edka
Section titled “Connect to Edka”Edka uses a unique Hetzner token per cluster. You can store a token on each cluster or use a temporary token for one-off operations. The account-level integration in Integrations > Hetzner (Global) remains available for quick testing and development purposes without always having to provide a token.
Cluster Token (Recommended)
Section titled “Cluster Token (Recommended)”- In Edka dashboard, go to Clusters and open your cluster
- Navigate to Settings > General
- Under Hetzner API Token, click Set Token or Update Token
- Enter your API token and click Save
Edka will:
- Encrypt and securely store your token for that cluster
- Use it for all operations on that cluster
- Validate the token and available resources
Only the cluster owner and organization owners/admins can set, update, or remove a stored cluster token after the cluster has been created.
Temporary Token (Not Stored)
Section titled “Temporary Token (Not Stored)”- During cluster creation or when prompted for a cluster operation, select Use temporary token
- Provide the token for the operation
- Token is not stored, only used for the current operation
Note: Temporary tokens require re-entering for every cluster operation.
Legacy Integration
Section titled “Legacy Integration”If your cluster was created with the legacy account-wide integration, you can continue using it:
- Go to Integrations > Hetzner (Global)
- Manage the account-wide token there
For new clusters, use a cluster token instead (recommended).
Robot Credentials (Dedicated / Metal Servers)
Section titled “Robot Credentials (Dedicated / Metal Servers)”To attach Hetzner dedicated servers as worker pools, Edka also needs Hetzner Robot web service credentials — separate from the Cloud API token above.
- Log in to Hetzner Robot and open Settings → Web service and app settings.
- Create a web service user and set a password.
- In Edka, go to Integrations and add a Hetzner Robot integration with that username and password.
Edka validates the credentials against the Robot API and stores them encrypted. They are used to manage the vSwitch and attach your dedicated servers. See Metal (Dedicated) Node Pools for the full flow.
Hetzner Resources
Section titled “Hetzner Resources”Server Types
Section titled “Server Types”Shared vCPU (Cost-Effective)
Section titled “Shared vCPU (Cost-Effective)”| Type | Arch | vCPUs | RAM | Storage | Traffic (EU) | Notes |
|---|---|---|---|---|---|---|
| CPX11 | x86 | 2 | 2GB | 40GB | 20TB | Entry dev/test |
| CPX21 | x86 | 3 | 4GB | 80GB | 20TB | Small apps |
| CPX31 | x86 | 4 | 8GB | 160GB | 20TB | General purpose |
| CPX41 | x86 | 8 | 16GB | 240GB | 20TB | Production |
| CPX51 | x86 | 16 | 32GB | 360GB | 20TB | High-traffic |
| CAX11 | arm | 2 | 4GB | 40GB | 20TB | ARM cost-optimized |
| CAX21 | arm | 4 | 8GB | 80GB | 20TB | ARM general |
| CAX31 | arm | 8 | 16GB | 160GB | 20TB | ARM performance |
| CAX41 | arm | 16 | 32GB | 320GB | 20TB | ARM heavy workloads |
| CX22 | x86 | 2 | 4GB | 40GB | 20TB | Legacy shared |
| CX32 | x86 | 4 | 8GB | 80GB | 20TB | Legacy shared |
| CX42 | x86 | 8 | 16GB | 160GB | 20TB | Legacy shared |
| CX52 | x86 | 16 | 32GB | 320GB | 20TB | Legacy shared |
Dedicated vCPU (Performance)
Section titled “Dedicated vCPU (Performance)”| Type | vCPUs | RAM | Storage | Traffic (EU) | Notes |
|---|---|---|---|---|---|
| CCX13 | 2 | 8GB | 80GB | 20TB | Databases/systems |
| CCX23 | 4 | 16GB | 160GB | 20TB | Apps/databases |
| CCX33 | 8 | 32GB | 240GB | 30TB | Compute intensive |
| CCX43 | 16 | 64GB | 360GB | 40TB | High performance |
| CCX53 | 32 | 128GB | 600GB | 50TB | Large workloads |
| CCX63 | 48 | 192GB | 960GB | 60TB | Enterprise scale |
Note: Included traffic varies by location. EU locations (nbg1, fsn1, hel1) have higher included traffic than US (ash, hil) and Singapore (sin).
Regions and Locations
Section titled “Regions and Locations”Europe
Section titled “Europe”- Nuremberg (nbg1): Germany, lowest latency for Central Europe
- Falkenstein (fsn1): Germany, excellent connectivity
- Helsinki (hel1): Finland, ideal for Northern Europe
United States
Section titled “United States”- Ashburn (ash): Virginia, East Coast coverage
- Hillsboro (hil): Oregon, West Coast coverage
- Singapore (sin): Singapore, ideal for Asia-Pacific region
Load Balancers
Section titled “Load Balancers”Edka automatically provisions Hetzner Load Balancers for:
- Gateway API controllers
- Ingress controllers
- High-availability control planes (coming soon)
- Service type LoadBalancer
Load Balancer types:
- LB11 up to 10,000 connections
- LB21 up to 20,000 connections
- LB31 up to 40,000 connections
By default, Edka provisions a LB11 load balancer for Gateway API and ingress controllers in proxy mode.
Volumes (Block Storage)
Section titled “Volumes (Block Storage)”Specifications:
- Size: 10GB to 10TB
- Performance: Up to 7,500 IOPS
- Throughput: Up to 300 MB/s
- Resize: Online expansion supported
Use Cases:
- Persistent volumes for databases
- Application state storage
- Dedicated storage for your deployments
Networks
Section titled “Networks”Private Networks:
- CIDR: Custom IP ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
- Subnets: Multiple subnets per network
- vSwitch: Connect dedicated (metal) servers as worker pools