Hetzner Cloud Integration
Edka leverages Hetzner Cloud’s infrastructure to provide cost-effective, high-performance Kubernetes clusters. This integration enables you to deploy production ready clusters with enterprise features at a fraction of the cost of major cloud providers.
Why Hetzner Cloud?
Section titled “Why Hetzner Cloud?”Cost Efficiency
Section titled “Cost Efficiency”- 70% lower costs compared to AWS, Azure, or GCP
- Transparent, predictable pricing with no hidden fees
- No egress charges for traffic
- Competitive storage pricing
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% uptime SLA for servers
- 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 Settings > Integrations > Hetzner (Legacy) 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 integration, you can continue using it:
- Go to Settings > Integrations > Hetzner (Legacy)
- Manage the legacy token there
For new clusters, use a cluster token instead (recommended).
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 to bare metal servers