1 file changed
+12
-11
@@ -8,6 +8,8 @@ The goal of this project is to make it easy for people interested in learning Ku
|
|||||||
|
|
||||||
This template implements Flux in a way that promotes legibility and ease of use for those who are new (or relatively new) to the technology and GitOps in general.
|
This template implements Flux in a way that promotes legibility and ease of use for those who are new (or relatively new) to the technology and GitOps in general.
|
||||||
|
|
||||||
|
If you are new to Flux and GitOps in general it is important to understand that **all changes** you want made to your Kubernetes cluster should be **commited to your Git repository** which Flux will pick up and attempt to apply. You're still free to make _dirty_ edits using `kubectl` but keep in mind that Flux might revert them once its reconcilation loop happens.
|
||||||
|
|
||||||
## ✨ Features
|
## ✨ Features
|
||||||
|
|
||||||
- Automated, reproducible, customizable setup through Ansible templates and playbooks
|
- Automated, reproducible, customizable setup through Ansible templates and playbooks
|
||||||
@@ -19,12 +21,11 @@ This template implements Flux in a way that promotes legibility and ease of use
|
|||||||
- Next-gen networking thanks to [Cilium](https://cilium.io/)
|
- Next-gen networking thanks to [Cilium](https://cilium.io/)
|
||||||
- A [Renovate](https://www.mend.io/renovate)-ready repository with pull request diffs provided by [flux-local](https://github.com/allenporter/flux-local)
|
- A [Renovate](https://www.mend.io/renovate)-ready repository with pull request diffs provided by [flux-local](https://github.com/allenporter/flux-local)
|
||||||
- Integrated [GitHub Actions](https://github.com/features/actions)
|
- Integrated [GitHub Actions](https://github.com/features/actions)
|
||||||
|
- ... and more!
|
||||||
... and more!
|
|
||||||
|
|
||||||
## 📝 Pre-start checklist
|
## 📝 Pre-start checklist
|
||||||
|
|
||||||
> [!CAUTION]
|
> [!IMPORTANT]
|
||||||
> Before we get started everything below must be taken into consideration, you must...
|
> Before we get started everything below must be taken into consideration, you must...
|
||||||
|
|
||||||
- [ ] have some experience with the following: Git/SCM, containers, networking and scripting.
|
- [ ] have some experience with the following: Git/SCM, containers, networking and scripting.
|
||||||
@@ -97,7 +98,7 @@ This template implements Flux in a way that promotes legibility and ease of use
|
|||||||
|
|
||||||
### Debian for RasPi4
|
### Debian for RasPi4
|
||||||
|
|
||||||
> [!CAUTION]
|
> [!IMPORTANT]
|
||||||
> 1. It is recommended to have an 8GB RasPi model. Most important is to **boot from an external SSD/NVMe** rather than an SD card. This is [supported natively](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html), however if you have an early model you may need to [update the bootloader](https://www.tomshardware.com/how-to/boot-raspberry-pi-4-usb) first.
|
> 1. It is recommended to have an 8GB RasPi model. Most important is to **boot from an external SSD/NVMe** rather than an SD card. This is [supported natively](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html), however if you have an early model you may need to [update the bootloader](https://www.tomshardware.com/how-to/boot-raspberry-pi-4-usb) first.
|
||||||
> 2. Check the [power requirements](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#power-supply) if using a PoE Hat and a SSD/NVMe dongle.
|
> 2. Check the [power requirements](https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#power-supply) if using a PoE Hat and a SSD/NVMe dongle.
|
||||||
|
|
||||||
@@ -130,7 +131,7 @@ This template implements Flux in a way that promotes legibility and ease of use
|
|||||||
|
|
||||||
Once you have installed Debian on your nodes, there are six stages to getting a Flux-managed cluster up and runnning.
|
Once you have installed Debian on your nodes, there are six stages to getting a Flux-managed cluster up and runnning.
|
||||||
|
|
||||||
> [!CAUTION]
|
> [!IMPORTANT]
|
||||||
> For all stages below the commands **MUST** be ran on your personal workstation within your repository directory
|
> For all stages below the commands **MUST** be ran on your personal workstation within your repository directory
|
||||||
|
|
||||||
### 🎉 Stage 1: Create a Git repository
|
### 🎉 Stage 1: Create a Git repository
|
||||||
@@ -395,7 +396,7 @@ The `external-dns` application created in the `networking` namespace will handle
|
|||||||
|
|
||||||
> [!TIP]
|
> [!TIP]
|
||||||
> Below is how to configure a Pi-hole for split DNS. Other platforms should be similar.
|
> Below is how to configure a Pi-hole for split DNS. Other platforms should be similar.
|
||||||
> 1. Apply this file on the server
|
> 1. Apply this file on the Pihole server while substituting the variables
|
||||||
> ```sh
|
> ```sh
|
||||||
> # /etc/dnsmasq.d/99-k8s-gateway-forward.conf
|
> # /etc/dnsmasq.d/99-k8s-gateway-forward.conf
|
||||||
> server=/${bootstrap_cloudflare_domain}/${bootstrap_k8s_gateway_addr}
|
> server=/${bootstrap_cloudflare_domain}/${bootstrap_k8s_gateway_addr}
|
||||||
@@ -415,10 +416,10 @@ By default this template will deploy a wildcard certificate using the Let's Encr
|
|||||||
|
|
||||||
#### 🪝 Github Webhook
|
#### 🪝 Github Webhook
|
||||||
|
|
||||||
By default Flux will periodically check your git repository for changes. In order to have Flux reconcile on `git push` you must configure Github to send `push` events.
|
By default Flux will periodically check your git repository for changes. In order to have Flux reconcile on `git push` you must configure Github to send `push` events to Flux.
|
||||||
|
|
||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
> This will only work after you have switched over certificates to the Let's Encrypt Production servers.
|
> This will only work after you have switched over certificates to the Let's Encrypt Production servers.
|
||||||
|
|
||||||
1. Obtain the webhook path
|
1. Obtain the webhook path
|
||||||
|
|
||||||
@@ -493,7 +494,7 @@ Resolving problems that you have could take some tweaking of your YAML manifests
|
|||||||
## 👉 Help
|
## 👉 Help
|
||||||
|
|
||||||
- Make a post in this repository's Github [Discussions](https://github.com/onedr0p/flux-cluster-template/discussions).
|
- Make a post in this repository's Github [Discussions](https://github.com/onedr0p/flux-cluster-template/discussions).
|
||||||
- Start a thread in the `support` or `flux-cluster-template` channel in the [Home Operations](https://discord.gg/home-operations) Discord server.
|
- Start a thread in the `#support` or `#flux-cluster-template` channels in the [Home Operations](https://discord.gg/home-operations) Discord server.
|
||||||
|
|
||||||
## ❔ What's next
|
## ❔ What's next
|
||||||
|
|
||||||
@@ -501,7 +502,7 @@ The cluster is your oyster (or something like that). Below are some optional con
|
|||||||
|
|
||||||
#### Ship it
|
#### Ship it
|
||||||
|
|
||||||
To browse or get ideas on applications people are running, community member [@whazor](https://github.com/whazor) created [this website](https://nanne.dev/k8s-at-home-search/) as a creative way to search Flux HelmReleases across Github.
|
To browse or get ideas on applications people are running, community member [@whazor](https://github.com/whazor) created [Kubesearch](https://kubesearch.dev) as a creative way to search Flux HelmReleases across Github and Gitlab.
|
||||||
|
|
||||||
#### Storage
|
#### Storage
|
||||||
|
|
||||||
@@ -517,7 +518,7 @@ By default this template only works on a public Github repository, it is advised
|
|||||||
The benefits of a public repository include:
|
The benefits of a public repository include:
|
||||||
|
|
||||||
- Debugging or asking for help, you can provide a link to a resource you are having issues with.
|
- Debugging or asking for help, you can provide a link to a resource you are having issues with.
|
||||||
- Adding a topic to your repository of `k8s-at-home` to be included in the [k8s-at-home-search](https://nanne.dev/k8s-at-home-search/). This search helps people discover different configurations of Helm charts across others Flux based repositories.
|
- Adding a topic to your repository of `kubesearch` to be included in the [Kubesearch](https://kubesearch.dev) results. This search helps people discover different configurations of Helm charts across others Flux based repositories.
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Expand to read guide on adding Flux SSH authentication</summary>
|
<summary>Expand to read guide on adding Flux SSH authentication</summary>
|
||||||
|
|||||||
Reference in new issue
Block a user