This is a repo of my yaml files for kubernetes (k3d for local dev) + gitops using ArgoCD for learning purposes.
-
I'm using k3d for development and learning.
$ k3d cluster create -p "80:80@loadbalancer" --agents 2
-
For subdomains on my local machine, I'm using https://sslip.io/ as a DNS service (this works since k3d uses traefik behind the scenes as an ingress controller).
In short, something like
nginx.127-0-0-1.sslip.io
resolves to127.0.0.1
(see main-ing.yaml for more examples).
Going for the full open source stack.
- helm for package management (with argo)
- argocd for cd
- hashicorp vault for secret management
- prometheus + grafana for monitoring
- ory suite for identity, authorization (or OPA?)
- harbor for container registry
- gitea/gitlab for git
- concourse/drone CI (or argo workflows?)
- rook/longhorn for distributed storage
- istio for service mesh
- traefik as ingress controller
- Falco - to monitor suspicious activity
- cert-manager - to manage certificates inside k8s
- Calico - for network policies
- Loki - for log aggregation
- Velero - for cluster backups
- OpenFaaS - serverless functions
- Linkerd instead of Istio?
Cilium, talos, deckhouse from flant
Based on my reddit post on /r/kubernetes
After this "project"
is done, I'm planning to do a full production ready cluster on Azure with terraform and azure services to replace the stack above.
Get argocd up and running: https://argo-cd.readthedocs.io/en/stable/getting_started/