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
Hcloud Kubernetes is a Terraform module for deploying a fully declarative, managed Kubernetes cluster on Hetzner Cloud. It utilizes Talos, a secure, immutable, and minimal operating system specifically designed for Kubernetes, featuring a streamlined architecture with just 12 binaries and managed entirely through an API.
46
+
Hcloud Kubernetes is a Terraform module for deploying a fully declarative, managed Kubernetes cluster on Hetzner Cloud. It utilizes Talos, a secure, immutable, and minimal operating system specifically designed for Kubernetes, featuring a streamlined architecture with only a handful of binaries and shared libraries. Just enough to run containerd and a small set of system services.
47
47
48
48
This project is committed to production-grade configuration and lifecycle management, ensuring all components are set up for high availability. It includes a curated selection of widely used and officially recognized Kubernetes components. If you encounter any issues, suboptimal settings, or missing elements, please file an [issue](https://github.com/hcloud-k8s/terraform-hcloud-kubernetes/issues) to help us improve this project.
49
49
@@ -126,7 +126,7 @@ Talos Linux is a secure, minimal, and immutable OS for Kubernetes, removing SSH
126
126
127
127
**Firewall Protection:** This module uses [Hetzner Cloud Firewalls](https://docs.hetzner.com/cloud/firewalls/) to manage external access to nodes. For internal pod-to-pod communication, support for Kubernetes Network Policies is provided through [Cilium CNI](https://docs.cilium.io/en/stable/network/kubernetes/policy/).
128
128
129
-
**Encryption in Transit:** In this module, all pod network traffic is encrypted by default using [WireGuard via Cilium CNI](https://cilium.io/use-cases/transparent-encryption/). It includes automatic key rotation and efficient in-kernel encryption, covering all traffic types.
129
+
**Encryption in Transit:** In this module, all pod network traffic is encrypted by default using [WireGuard (Default) or IPSec via Cilium CNI](https://cilium.io/use-cases/transparent-encryption/). It includes automatic key rotation and efficient in-kernel encryption, covering all traffic types.
130
130
131
131
**Encryption at Rest:** In this module, the [STATE](https://www.talos.dev/latest/learn-more/architecture/#file-system-partitions) and [EPHEMERAL](https://www.talos.dev/latest/learn-more/architecture/#file-system-partitions) partitions are encrypted by default with [Talos Disk Encryption](https://www.talos.dev/latest/talos-guides/configuration/disk-encryption/) using LUKS2. Each node is secured with individual encryption keys derived from its unique `nodeID`.
This module enables [Cilium Transparent Encryption](https://cilium.io/use-cases/transparent-encryption/) feature by default.
439
+
440
+
All pod network traffic is encrypted using WireGuard (Default) or protocols, includes automatic key rotation and efficient in-kernel encryption, covering all traffic types.
441
+
442
+
:bulb: Although WireGuard is the default option, Hetzner Cloud VMs supports AES-NI instruction set, making IPSec encryption more CPU-efficient compared to WireGuard. Consider enabling IPSec for CPU savings through hardware acceleration.
443
+
444
+
IPSec mode supports RFC4106 AES-GCM encryption with 128, 192 and 256 bits key sizes.
445
+
446
+
447
+
**:warning: IPSec encryption has the following limitations:**
448
+
449
+
- No transparent encryption when chaining Cilium with other CNI plugins
450
+
- Host Policies not supported with IPSec
451
+
- Incompatible with BPF Host Routing (automatically disabled on switch)
452
+
- IPv6-only clusters not supported
453
+
- Maximum 65,535 nodes per cluster/clustermesh
454
+
- Single CPU core limitation per IPSec tunnel may affect high-throughput scenarios
In this module, upgrades are conducted with care and conservatism. You will consistently receive the most tested and compatible releases of all components, avoiding the latest untested or incompatible releases that could disrupt your cluster.
848
+
In this module, upgrades are conducted with care. You will consistently receive the most tested and compatible releases of all components, avoiding the latest untested or incompatible releases that could disrupt your cluster.
808
849
809
850
> [!WARNING]
810
851
> Do not change any software versions in this project on your own. Each component is tailored to ensure compatibility with new Kubernetes releases. This project specifies versions that are supported and have been thoroughly tested to work together.
@@ -823,12 +864,10 @@ In this module, upgrades are conducted with care and conservatism. You will cons
823
864
824
865
<!-- Roadmap -->
825
866
## :compass: Roadmap
826
-
* [ ] **Upgrade to Talos 1.9 and Kubernetes 1.32**<br>
867
+
* [ ] **Upgrade to Talos 1.10 and Kubernetes 1.33**<br>
827
868
Once all components have compatible versions, the upgrade can be performed.
828
-
* [x] **Upgrade to Talos 1.8 and Kubernetes 1.31**<br>
869
+
* [x] **Upgrade to Talos 1.9 and Kubernetes 1.32**<br>
829
870
Once all components have compatible versions, the upgrade can be performed.
830
-
* [ ] **Integrate native IPv6 for pod traffic**<br>
831
-
Completion requires Hetzner's addition of IPv6 support to cloud networks, expected at the beginning of 2025 as announced at Hetzner Summit 2024.
description="Enables transparent network encryption using Cilium within the Kubernetes cluster. When enabled, this feature provides added security for network traffic."
1081
1081
}
1082
1082
1083
+
variable"cilium_encryption_type" {
1084
+
type=string
1085
+
default="wireguard"
1086
+
description="Type of encryption to use for Cilium network encryption. Options: 'wireguard' or 'ipsec'."
0 commit comments