mirror of
https://github.com/auricom/home-cluster.git
synced 2025-10-03 09:09:01 +02:00
📖 Overview
This directory contains my Talos Kubernetes cluster in declarative state.
I use my own tool Talhelper to create the machineconfig
files of all my nodes.
The secrets are encrypted with SOPS.
Feel free to open a Github issue if you have any questions.
📜 How to apply
- Prepare your nodes with
Talos Linux
- Install
talhelper
. - Create your own talconfig.yaml.
- Run
talhelper gensecret > talsecret.sops.yaml
if you don't havemachineconfig
before ortalhelper gensecret -f <your-machineconfig.yaml> > talsecret.sops.yaml
if you already have one. - Run
sops -e -i talsecret.sops.yaml
to encrypt your secrets (make sure you already have your own.sops.yaml
) file. - Run
talhelper genconfig
and the files will be generated in./clusterconfig
directory by default. - Copy the generated
./clusterconfig/talosconfig
to your~/.talos/config
. - Run
talosctl -n <node-ip> apply-config --insecure ./clusterconfig/<clustername>-<hostname>.yaml
on each of your node. Don't forget to runtalosctl -n <node-ip> bootstrap
on one of your controlplane node. - Push your current directory to your git repository of choice. 😉
📝 After bootstrap
After you're done with bootstrapping, you can now install your Kubernetes CNI
of your choice.
If you want to use cilium, you can look at my cni directory.
You can do kubectl kustomize --enable-helm ./cni | kubectl apply -f -
to do this.
If you also want to deploy kubelet-csr-approver like I do, you can also do the above step to my kubelet-csr-approver directory.
Now, you can continue to work on your cluster. Check out my cluster directory to see how I manage my cluster with Flux.