nushkovg / k1s

Lightweight k8s home lab cluster for Raspberry PIs.

Home Page:https://k1s.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

k1s

Travis (.org) branch GitHub tag (latest by date) GitHub Repo stars GitHub issues GitHub closed pull requests Website GitHub

The k1s platform contains all services required to start a k3d cluster on a Raspberry PI with Skaffold. It is meant for those who want to create their own home lab cluster with a lightweight Kubernetes release with a preloaded ingress controller and several monitoring tools. Since k1s is in the early stage of development, it currently allows only Namesilo as the DNS provider.

Installation

Please follow this documentation from start to finish if you want to set k1s up on your Raspberry PI. It is still in the early development phase and unexpected bugs might occur if you skip some of the steps.

You can find the documentation on the official website.

Features

k1s comes preloaded with the following:

  • K3D
  • Klipper ServiceLB
  • Metrics Server
  • Skaffold
  • Traefik
  • Prometheus
  • Grafana
  • Kubernetes Dashboard
  • Hugo Dashboard UI
  • GitHub Oauth2 Middleware
  • Custom Error Pages Middleware
  • Wildcard LetsEncrypt SSL Certificate
  • DDNS Update CronJob for Namesilo A Records

The most of the setup is done via a CLI interface named KubePI. It is a custom tool for making the k1s management easier for the K3D setup, dependencies, submodules, and more. The usage of kubepi is explained in the documentation.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

License

This project is licensed under the Apache v2 License - see the LICENSE.md file for details.

Acknowledgments