You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+41-1Lines changed: 41 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Pulumi Hetzner Kubernetes (Talos)
2
2
3
-
Deploy and manage Kubernetes clusters on Hetzner Cloud using Talos Linux, powered by Golang Pulumi. This project provides reusable infrastructure code to provision, configure, and manage experimental-grade Kubernetes clusters on Hetzner.
3
+
Deploy and manage Kubernetes clusters on Hetzner Cloud using Talos Linux, powered by Golang Pulumi. This project provides reusable infrastructure code to provision, configure, and manage **experimental-grade** Kubernetes clusters on Hetzner.
4
4
5
5
## Features
6
6
@@ -10,6 +10,46 @@ Deploy and manage Kubernetes clusters on Hetzner Cloud using Talos Linux, powere
10
10
-**Makefile Automation:** Common tasks (build, lint, test, deploy) are automated via `make`.
11
11
-**Talos Image Creation:** Uses [hcloud-upload-image](https://github.com/apricote/hcloud-upload-image) to create and upload Talos images to Hetzner Cloud.
12
12
13
+
## 🔋 Batteries Included
14
+
15
+
This **experimental** project comes with pre-configured Kubernetes components that integrate with Hetzner Cloud. While functional, these components are designed for testing and development environments:
16
+
17
+
### **Cluster Management & Autoscaling**
18
+
19
+
-**🚀 Cluster Autoscaler:** Automatically scales worker nodes based on pod resource demands, with configurable min/max limits and utilization thresholds
20
+
-**📊 Kubernetes Metrics Server:** Provides container resource metrics for Horizontal Pod Autoscaling (HPA) and other autoscaling pipelines
-**☁️ Hetzner Cloud Controller Manager (CCM):** Native integration for Hetzner load balancers, volumes, and networking
26
+
-**💾 Hetzner CSI Driver:** Persistent volume support with encryption, configurable storage classes, and automatic volume provisioning
27
+
-**🔥 Firewall Management:** Automated firewall rules for cluster communication and optional public API access
28
+
29
+
### **Storage Solutions**
30
+
31
+
-**📦 Longhorn Distributed Storage (Optional):** Cloud-native distributed block storage with replication, snapshots, and backup capabilities when enabled in configuration
32
+
33
+
### **Security & Networking**
34
+
35
+
-**🔒 etcd Encryption at Rest:** Optional Kubernetes secrets encryption using secretbox encryption
36
+
-**🌐 Private Networking:** VPC with custom subnets, private IPs, and secure inter-node communication
37
+
-**🔧 Custom Registry Support:** Configure private container registries with authentication and TLS
38
+
39
+
### **High Availability & Reliability**
40
+
41
+
-**⚖️ Multi-Region Control Plane:** Deploy control plane nodes across multiple Hetzner regions for maximum availability
42
+
-**🔄 Control Plane Placement Groups:** Anti-affinity rules ensure control plane nodes are distributed across different physical hosts (worker nodes do not use placement groups)
43
+
-**🎯 Control Plane Load Balancer:** Highly available Kubernetes API server with automatic failover
44
+
-**📋 Node Taints & Labels:** Flexible workload scheduling with custom node labeling and tainting
45
+
46
+
### **Multi-Architecture Support**
47
+
48
+
-**🏗️ ARM64 & AMD64:** Full support for both x86_64 and ARM64 architectures with automatic image selection
49
+
-**🖼️ Talos Image Factory:** Automatic building and uploading of architecture-specific Talos images
50
+
51
+
All Helm chart components are configured with sensible defaults but remain fully customizable through Helm values and configuration overrides.
52
+
13
53
## Requirements
14
54
15
55
Install the following tools before using this project:
0 commit comments