https://github.com/mmontes11/k8s-bootstrap-talos
🚀 Kubernetes cluster bootstrapping for Raspberry Pi using Talos
https://github.com/mmontes11/k8s-bootstrap-talos
kubernetes raspberry raspberry-pi talos talos-linux talosctl
Last synced: 3 months ago
JSON representation
🚀 Kubernetes cluster bootstrapping for Raspberry Pi using Talos
- Host: GitHub
- URL: https://github.com/mmontes11/k8s-bootstrap-talos
- Owner: mmontes11
- License: apache-2.0
- Created: 2024-04-14T11:29:04.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-09-06T18:16:48.000Z (9 months ago)
- Last Synced: 2025-09-06T20:29:03.640Z (9 months ago)
- Topics: kubernetes, raspberry, raspberry-pi, talos, talos-linux, talosctl
- Language: Makefile
- Homepage:
- Size: 23.4 KB
- Stars: 8
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# k8s-bootstrap-talos
🚀 Kubernetes cluster bootstrapping for Raspberry Pi using [Talos](https://www.talos.dev/).
⚠️ Raspberry Pi 5 currently not supported by Talos:
- https://github.com/siderolabs/talos/issues/7978
You may also take a look at the Ubuntu installation: [k8s-bootstrap](https://github.com/mmontes11/k8s-bootstrap).
### Node preparation
- [Update the EEPROM](https://www.talos.dev/v1.7/talos-guides/install/single-board-computers/rpi_generic/#updating-the-eeprom)
- Get an image ID at [factory.talos.dev](https://factory.talos.dev/)
- Download the image
```bash
IMAGE_ID= make image
```
- Write the image
```bash
sudo dd if=metal-arm64.raw of=/dev/sda conv=fsync bs=4M
```
- Boot and assign a static IP in the router based on the [MAC](https://kubito.dev/posts/getting-pi-mac-address/)
### Controlplane
- Generate secrets
```bash
make gen-secrets
```
- Generate configuration
```bash
make gen-config
```
- Apply controlplane configuration
```bash
NODE= make apply-controlplane
```
- Bootstrap Kubernetes
```bash
NODE= make bootstrap-k8s
```
### Worker
- Generate worker config
```bash
WORKER=worker1.yaml make gen-worker
```
- Apply worker configuration
```bash
WORKER=worker1.yaml NODE= make apply-worker
```
### Configuration
- Get kubeconfig
```bash
NODE= make kubeconfig
```
- Get talosconfig
```bash
make talosconfig
```
### Reference
- [Talos docs](https://www.talos.dev/v1.7/)
- [Talos Linux Setup](https://kubito.dev/series/talos-linux-setup/) by [@kubito](https://kubito.dev/)