Your cluster is humming, your manifests are everywhere, and you have a creeping suspicion that Helm alone won't save you. That moment is when the phrase App of Apps Microk8s starts popping up in your search bar. You want a way to manage layered deployments in Microk8s without a tangle of scripts or brittle CI steps. It sounds easy on paper. It usually isn’t.
The “App of Apps” model borrows from Argo CD's pattern for structuring multiple Kubernetes applications through a single parent manifest. Microk8s, Canonical’s lightweight Kubernetes distribution, is perfect for local and edge environments. Together, they bring order to complexity: one chart to rule all the charts, and a Microk8s cluster flexible enough to handle updates, rollbacks, and environment drift without tears.
The real value of App of Apps in Microk8s is dependency orchestration. Instead of managing fifteen YAML files across five repos, you define a root application that maps each service and resource as a child app. Microk8s handles the deployment logic through its add-ons and kubectl commands. This workflow turns day-two operations—configuration drift, secret rotation, access alignment—into routine chores rather than existential crises.
Here’s the mental model:
- Git is your single source of truth.
- The parent app references child repos or Helm releases.
- Microk8s applies them in order, respecting version locks and namespaces.
- The cluster enforces policy consistently across all environments—edge, test, or production-like clusters.
Common gotcha: RBAC drift. A central App of Apps configuration helps ensure the same set of roles and bindings exist across environments. Keep secrets in sync using external stores or OIDC-backed authentication. And always tag parent app versions so you can track which change triggered what—a simple discipline that saves hours of diffing later.