Skip to main content

atscalectl status

The status command shows the current state of an AtScale deployment running on Kubernetes, including pod readiness, restart counts, pod age, AtScale version, resource usage, and recent error messages from unhealthy pods. This is the first command to run when investigating an issue. It is safe to execute at any time because it only reads information from the Kubernetes cluster.

Prerequisites​

status requires the following Kubernetes permissions:

  • pods get/list
  • pods/log get
  • secrets list. Required only when the --release-name flag isn't specified. This is required to detect the Helm release.
  • (Optional) metrics.k8s.io/pods get. This is required only for resource usage information.

Usage​

atscalectl status [flags]

Flags​

status supports all global flags. The following may be especially useful:

  • --context
  • --namespace
  • --release-name
  • --output

In addition to the global flags, status supports the following command-specific flags.

FlagDefaultDescription
--no-resourcesfalseSkips CPU and memory information.
--no-logsfalseSkips unhealthy pod log analysis.

Output​

By default, status outputs a table that contains up to three sections:

  • Health
  • Resources
  • Unhealthy pod logs
Note

When using structured output (atscalectl status -o json), the JSON data is still written to standard output, while diagnostic messages are written to standard error.

The table sections and their contents are described in detail below.

Health​

The health section contains one row per Kubernetes pod. Each row contains the following columns.

ColumnDescription
COMPONENTThe AtScale component associated with the pod; for example, engine, keycloak, database. Note that database is listed only when PostgreSQL is deployed inside Kubernetes; external PostgreSQL deployments do not show a database pod.
PODThe Kubernetes pod name.
STATUSThe current pod/container status. Container failure states such as CrashLoopBackOff are shown when available.
READYThe number of ready containers compared to total containers.
RESTARTSTotal container restarts.
AGETime since pod creation.
VERSIONThe AtScale version extracted from the container image.
DEPLOYEDPod creation time in UTC.

Resources​

Resource information includes:

  • CPU requests
  • CPU limits
  • Memory requests
  • Memory limits
  • Current CPU and memory usage
Note

Current usage is provided by Kubernetes metrics-server. If metrics-server is unavailable, resource requests and limits are still displayed, but current usage values show -.

Unhealthy pod logs​

When a pod is not fully ready, status displays a small set of matching log lines from that pod. The output is filtered for common error indicators, such as:

  • error
  • critical
  • warn
  • fatal
  • panic
  • exception
Note

This section is intended as a quick diagnostic hint. For complete troubleshooting data, run atscalectl logs collect. For more information, see atscalectl logs collect.

Exit codes​

status returns the following exit codes.

CodeDescription
0All pods are healthy.
1At least one pod is not fully ready, or the command failed.

Usage examples​

Check the default deployment​

atscalectl status

Check another namespace​

atscalectl status --namespace <namespace>

Use JSON output for automation​

atscalectl status -o json

Export status information​

atscalectl status -o csv > status.csv

Skip metrics collection​

atscalectl status --no-resources

Health check​

if atscalectl status --context <context> > /dev/null; then
echo "healthy"
else
echo "not healthy"
fi

Troubleshooting​

All usage columns show -​

This may be caused by metrics-server not being installed or available. However, resource requests and limits should still be available. If you do not require metrics data, run:

atscalectl status --no-resources

No pods found​

If you receive the following error, then AtScale is installed in another namespace, or the Helm release name cannot be detected.

no pods found in namespace "atscale"

Try running the following to determine the AtScale namespace:

atscalectl status --namespace <namespace>

Or run the following to determine the release name:

atscalectl status --release-name <release>

Multiple Helm releases found​

If you receive the following error, it means there are multiple Helm releases in the same namespace.

could not auto-detect release name: multiple helm releases found in namespace "atscale"

If this occurs, you must specify the release explicitly:

atscalectl status --release-name <release>