This is the current state of my home kubernetes cluster, running on Raspberry Pis. It uses ArgoCD, Renovate and ArgoCD Image Updater for a simple and automatic update process!
Make sure to run the initial ansible playbook for the ubuntu-image-raspberry
repository.
make all
Install Kubernetes with k0sctl
, in the same repository.
k0sctl apply --config k0sctl.yaml
# Make sure you have a special kubeconfig for your project
# Otherwise you overwrite your other configs
k0sctl kubeconfig > $KUBECONFIG
You should now be able to list your nodes and kube-system
pods.
kubectl get nodes
kubectl get -n kube-system pods
KPS CRD https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.55.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagerconfigs.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.55.0/example/prometheus-operator-crd/monitoring.coreos.com_alertmanagers.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.55.0/example/prometheus-operator-crd/monitoring.coreos.com_podmonitors.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.55.0/example/prometheus-operator-crd/monitoring.coreos.com_probes.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.55.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheuses.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.55.0/example/prometheus-operator-crd/monitoring.coreos.com_prometheusrules.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.55.0/example/prometheus-operator-crd/monitoring.coreos.com_servicemonitors.yaml
kubectl apply --server-side -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/v0.55.0/example/prometheus-operator-crd/monitoring.coreos.com_thanosrulers.yaml
Create namespace monitoring for service monitor
kubectl create ns monitoring
kubectl create ns ingress-nginx
kubectl create ns fip
kubectl create ns argocd
cd ~/codes/raspberry/brassberry-gitops/ingress-nginx/ingress-nginx
make secret
cd -
- Nginx basic auth
- Secrets applicatifs pour
- Whats-on-fip
- spotify-api
- telegram-bot
- slack-bot
- Dank face bot
- ArgoCD image updater
kubectl -n fip create secret generic radio-france-api-token --from-env-file ~/codes/python/whats-on-fip/.secret
kubectl -n fip create secret generic spotify-api-access --from-env-file ~/codes/python/spotify-api/.secret
kubectl -n fip create secret generic fip-telegram-bot --from-env-file ~/codes/python/fip-telegram-bot/.secret
kubectl -n fip create secret generic fip-slack-bot --from-env-file ~/codes/python/fip-slack-bot/.secret
kubectl -n dank-face-bot create secret generic telegram-token --from-env-file ~/codes/python/dank-face-bot/.secret
cd /home/baloo/codes/raspberry/brassberry-gitops/argocd/argo-cd
helm upgrade --install -n "argocd" --create-namespace "argo-cd" . -f values.yaml
cd -
kubectl apply -f ~/codes/raspberry/argocd/apps/argocd-apps.yaml