This Packer project creates an image to spin up Kubernetes clusters with kubeadm or Kubernetes Cluster API on Hetzner Cloud.
- All requirements to setup a Kubernetes cluster with
kubeadm
- containerd as container runtime
- AMD64 and ARM64 support
- IPv4/IPv6 dual-stack networking support
- Integrity of downloaded files verified with
sha256sum
- Images used by
kubeadm
pulled as building step
Set HCLOUD_TOKEN
environment variable or token
variable and run packer build
, for example:
export HCLOUD_TOKEN=xxxx
packer build .
To build an ARM64 image, set server_type
variable to cax11
:
export HCLOUD_TOKEN=xxxx
packer build -var server_type=cax11 .
Name | Description | Default |
---|---|---|
cni_plugins_version |
cni plugins version | 1.4.0 |
containerd_sandbox_image |
containerd sandbox image, should match k8s one | registry.k8s.io/pause:3.9 |
containerd_version |
containerd version | 1.7.13 |
crictl_version |
crictl version | 1.29.0 |
image |
Hetzner Cloud base image | debian-12 |
kubernetes_release_tooling_version |
kubernetes release tooling version | 0.16.5 |
kubernetes_version |
kubernetes version | 1.29.2 |
location |
Hetzner Cloud location | nbg1 |
runc_version |
runc version | 1.1.12 |
server_type |
Hetzner Cloud server type | cpx11 |
token |
Hetzner Cloud token to access APIs | HCLOUD_TOKEN environment variable |