Analyzing the current status of a Kubernetes Deployment
deploymentStatus analyzer is used to report on the number of replicas that are "Ready" in a deployment.
when attribute supports standard comparators to compare the number of ready replicas.
deploymentStatus analyzer uses data from the clusterResources collector.
clusterResources collector is automatically added and will always be present.
The target deployment can be identified by name. The outcomes on this analyzer will be processed in order, and execution will stop after the first outcome that is truthy.
name: (Optional) The name of the deployment to check. If name is omitted, all deployments will be analyzed.
namespace: (Optional) The namespace to look for the deployment in. If specified, analysis will be limited to deployments in this namespace.
namespaces: (Optional) The namespaces to look for the deployment in. If specified, analysis will be limited to deployments in these namespaces.
Example Analyzer Definition
apiVersion: troubleshoot.sh/v1beta2 kind: Preflight metadata: name: api-deployment-running spec: analyzers: - deploymentStatus: name: api namespace: default outcomes: - fail: when: "absent" # note that the "absent" failure state must be listed first if used. message: The API deployment is not present. - fail: when: "< 1" message: The API deployment does not have any ready replicas. - warn: when: "= 1" message: The API deployment has only a single ready replica. - pass: message: There are multiple replicas of the API deployment ready.