kubernetes

JWDobken/kubernetes/hcloud

Terraform Module HCL HCLOUD

Terraform module to provide Kubernetes for the Hetzner Cloud (non-official)

Install
module "kubernetes" {
source = "JWDobken/kubernetes/hcloud"
version = "0.4.0"
}
plain text: /constructs/tfmod-jwdobken-kubernetes-hcloud/install.txt
⭐ Source on GitHub 📦 Registry page
README

Hetzner Cloud Kubernetes provider 🏖️ --- Unofficial Terraform module to provide Kubernetes for the Hetzner Cloud. ![JWDobken](https://app.circleci.com/pipelines/github/JWDobken/terraform-hcloud-kubernetes?branch=main) ![GitHub tag (latest SemVer)](https://github.com/JWDobken/terraform-hcloud-kubernetes/releases) !license Create a Kubernetes cluster on the Hetzner cloud, with the following features: - implements Hetzner's private network for network security - configures UFW for managing complex iptables rules - deploys the Flannel CNI plugin - deploys the Controller Manager with networks support, to integrate with the Hetzner Cloud API - deploys the Container Storage Interface for dynamic provisioning of volumes Getting Started The Hetzner Cloud provider needs to be configured with _a toke

Inputs (16)
NameTypeDescriptionDefault
hcloud_tokenstring(Required) - The Hetzner Cloud API Token, can also be specified with the HCLOUD_ required
worker_countnumber(Required) - Number of worker nodes. required
cluster_namestring(Required) - The name of the cluster. required
private_keystring(Required) - content of an SSH key to use for the connection. These can be loade required
hcloud_ssh_keyslist(any)(Required) - SSH key IDs or names which should be injected into the server at cr required
network_ip_rangestring(Optional) - IP Range of the whole Network which must span all included subnets "10.98.0.0/16"
control_plane_name_formatstring(Optional) - Format for the control-plane node names, defaults to 'control-plane"control-plane-%d"
worker_name_formatstring(Optional) - Format for the worker node names, defaults to 'worker-0'."worker-%d"
locationstring(Optional) - Location, e.g. 'nbg1' (Neurenberg)."nbg1"
network_zonestring(Optional) - Name of network zone, e.g. 'eu-central'."eu-central"
subnet_ip_rangestring(Optional) - Range to allocate IPs from. Must be a subnet of the ip_range of the"10.98.0.0/16"
imagestring(Optional) - Predefined Image that will be used to spin up the machines."ubuntu-20.04"
worker_typestring(Optional) - For more types have a look at https://www.hetzner.de/cloud"cx21"
kubernetes_versionstring(Optional) - Kubernetes version installed, e.g. '1.25.2'."1.25.2"
control_plane_typestring(Optional) - For more types have a look at https://www.hetzner.de/cloud"cx11"
control_plane_countnumber(Optional) - Number of control-plane nodes.1
Outputs (13)
kubeconfig — Kubectl config file contents for the cluster.
endpoint — The endpoint for the Kubernetes API.
private_ips — The IPv4 addresses within the private network.
control_plane_nodes_ips — The IPv4 addresses within the control-plane network.
control_plane_nodes_ids — The ids of the control-plane nodes.
worker_nodes — The worker node objects.
worker_nodes_ips — The IPv4 addresses within the worker network.
worker_nodes_ids — The ids of the worker nodes.
certificate_authority_data — Nested attribute containing certificate-authority-data for the cluster. This is the base64 encoded c
client_certificate_data — Client certificate to communicate with the API.
network_id — Unique ID of the network.
control_plane_nodes — The control-plane node objects.
client_key_data — Client key to communicate with the API.
Details
FrameworkTerraform Module
LanguageHCL
Version0.4.0
Cloud HCLOUD
Total downloads2.8k
Inputs16
Outputs13
Submodules3
NamespaceJWDobken
Updated