Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alessiodionisi/packer-hcloud-kubernetes
Kubernetes image for Hetzner Cloud, can be used with Kubernetes Cluster API
https://github.com/alessiodionisi/packer-hcloud-kubernetes
cluster-api containerd hcloud hetzner kubernetes packer
Last synced: about 2 months ago
JSON representation
Kubernetes image for Hetzner Cloud, can be used with Kubernetes Cluster API
- Host: GitHub
- URL: https://github.com/alessiodionisi/packer-hcloud-kubernetes
- Owner: alessiodionisi
- Created: 2023-09-13T11:30:35.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-06T22:06:01.000Z (10 months ago)
- Last Synced: 2024-05-01T12:51:37.547Z (8 months ago)
- Topics: cluster-api, containerd, hcloud, hetzner, kubernetes, packer
- Language: Shell
- Homepage:
- Size: 22.5 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Kubernetes image for Hetzner Cloud
This [Packer](https://www.packer.io) project creates an image to spin up [Kubernetes](https://kubernetes.io) clusters with [kubeadm](https://kubernetes.io/docs/reference/setup-tools/kubeadm) or [Kubernetes Cluster API](https://cluster-api.sigs.k8s.io) on [Hetzner Cloud](https://www.hetzner.com/cloud).
## Features
- All requirements to setup a Kubernetes cluster with `kubeadm`
- [containerd](https://containerd.io) 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## Getting started
Set `HCLOUD_TOKEN` environment variable or `token` variable and run `packer build`, for example:
```shell
export HCLOUD_TOKEN=xxxx
packer build .
```To build an ARM64 image, set `server_type` variable to `cax11`:
```shell
export HCLOUD_TOKEN=xxxx
packer build -var server_type=cax11 .
```## Variables
| 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 |