Time guide
- Basic controller health check: approximately 5 to 10 minutes
- Source or reconciliation investigation: approximately 15 to 30 minutes
Purpose#
Use this entry when Flux resources are not reconciling, a source is stale, or one of the controllers appears unhealthy.
Installation checks#
flux version
flux checkController workloads#
kubectl get deployments -n flux-system
kubectl get pods -n flux-system -o widekubectl get deployments -n flux-system \
-o custom-columns='NAME:.metadata.name,READY:.status.readyReplicas,AVAILABLE:.status.availableReplicas,DESIRED:.spec.replicas'Flux resource health#
flux get all -A
flux get sources all -A
flux get kustomizations -A
flux get helmreleases -ASuspended resources#
kubectl get kustomizations.kustomize.toolkit.fluxcd.io -A \
-o custom-columns='NAMESPACE:.metadata.namespace,NAME:.metadata.name,SUSPENDED:.spec.suspend'kubectl get gitrepositories.source.toolkit.fluxcd.io -A \
-o custom-columns='NAMESPACE:.metadata.namespace,NAME:.metadata.name,SUSPENDED:.spec.suspend'Events#
flux events -Akubectl get events -n flux-system \
--sort-by=.metadata.creationTimestampkubectl get events -n flux-system \
--field-selector=type=Warning \
--sort-by=.metadata.creationTimestampController logs#
kubectl logs -n flux-system deployment/source-controller --tail=200
kubectl logs -n flux-system deployment/kustomize-controller --tail=200
kubectl logs -n flux-system deployment/helm-controller --tail=200
kubectl logs -n flux-system deployment/notification-controller --tail=200Search recent errors:
kubectl logs -n flux-system deployment/kustomize-controller --since=30m \
| grep -iE 'error|failed|timeout'Common findings#
- Authentication or repository access failure
- Invalid source reference
- Stale or unavailable source artifact
- Kustomize build failure
- SOPS decryption failure
- Dependency not ready
- Helm install or upgrade failure
- Admission-policy rejection
- Unhealthy target workload
Safety notes#
All commands in this entry are read-only. Use the separate Flux Reconciliation entry only after confirming the cluster context, intended source revision and likely fault domain.
Related entries#
- Flux Reconciliation Commands
- GitRepository Troubleshooting
- Kustomization Troubleshooting
- HelmRelease Troubleshooting
- SOPS and age Secret Workflow