How-to guide / Operate a cluster
Check resource status
Use kix status to compare a cluster definition with the resources currently
running in Kubernetes and see their readiness state.
Show the cluster status
Section titled “Show the cluster status”Run the command with the cluster name:
❱ kix status how-to-application
Kubernetes cluster ID: 273d1992-4151-4e27-b64e-d3cab7e00d1f
Kubernetes version: v1.35.0
NAME NAMESPACE KIND READY STATUS AGE
how-to-application-6rhi3wpk9iml _cluster Activation True Active 56s
activations.kix.run _cluster CustomResourceDefinition True Active 57s
packageinstances.kix.run _cluster CustomResourceDefinition True Active 57s
how-to-app _cluster Namespace True Active 57s
kube-system _cluster Namespace True Active 1m
preview how-to-app ConfigMap True Active 57s
production how-to-app ConfigMap True Active 57s
production-health-script how-to-app ConfigMap True Active 57s
preview how-to-app Deployment True 1/1 57s
production how-to-app Deployment True 2/2 57s
production-health how-to-app Job True Complete 21s
preview how-to-app PackageInstance True Active 25s
production how-to-app PackageInstance True Active 1s
preview how-to-app Service True Active 25s
production how-to-app Service True Active 21s
platform-dns kube-system PackageInstance True Active 56s
platform-storage kube-system PackageInstance True Active 56s Kix reads the cluster using the selected kubectl context. The output groups resources by package and reports the state Kix observes for each one.
Use this after a deployment to confirm that workloads remain ready, Jobs have completed, and the active cluster resources are still present.
Select a Kubernetes context
Section titled “Select a Kubernetes context”Pass --context when the desired cluster is not the current kubectl context:
❱ kix status how-to-application --context kind-kix-demo The context controls which Kubernetes API Kix reads. The --flake option
independently controls which cluster definition it evaluates:
❱ kix status how-to-application --flake ./infrastructure --context kind-kix-demo Investigate an unhealthy resource
Section titled “Investigate an unhealthy resource”Status is a summary. When a resource is not ready:
- Note its kind, name, and namespace in the status output.
- Inspect it with
kubectl describe. - Read Pod or Job logs where applicable.
- Run
kix diffto determine whether the live resource differs from the desired manifest.
For example:
❱ kubectl describe deployment production -n how-to-app Show outputHide output · 54 lines
Name: production
Namespace: how-to-app
CreationTimestamp: Wed, 11 Nov 2026 08:44:08 +0000
Labels: app.kubernetes.io/instance=production
app.kubernetes.io/managed-by=kix
app.kubernetes.io/name=production
Annotations: deployment.kubernetes.io/revision: 1
kix.run/activations: 6rhi3wpk9imlx73n8kbcwbmkxmry1744
kix.run/applied-hash: 33eaf440514fdd2ed6853582b8fb62609fe0f2a4ecfc1e351c288fae7fe1b7d7
kix.run/depends-on: 4x75h2z7rsj3dvrdg9vzqc8l789xvm4w,8767b7nzgc1x5bpfa9gv71cpk9z8h0iw
kix.run/identity-hash: kr7i34wz1ja58c0vf9gizx8161ji0idk
kix.run/package: production
kix.run/package-namespace: how-to-app
Selector: app.kubernetes.io/instance=production,app.kubernetes.io/name=production
Replicas: 2 desired | 2 updated | 2 total | 2 available | 0 unavailable
StrategyType: RollingUpdate
MinReadySeconds: 0
RollingUpdateStrategy: 25% max unavailable, 25% max surge
Pod Template:
Labels: app.kubernetes.io/instance=production
app.kubernetes.io/name=production
Containers:
nginx:
Image: docker.io/library/nginx:1.27-alpine
Port: 80/TCP (http)
Host Port: 0/TCP (http)
Limits:
memory: 64Mi
Requests:
cpu: 10m
memory: 16Mi
Readiness: http-get http://:http/ delay=0s timeout=1s period=10s #success=1 #failure=3
Environment:
APP_ENV: production
Mounts:
/usr/share/nginx/html from content (ro)
Volumes:
content:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: production
Optional: false
Node-Selectors: <none>
Tolerations: <none>
Conditions:
Type Status Reason
---- ------ ------
Available True MinimumReplicasAvailable
Progressing True NewReplicaSetAvailable
OldReplicaSets: <none>
NewReplicaSet: production-85577f7474 (2/2 replicas created)
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal ScalingReplicaSet 52s deployment-controller Scaled up replica set production-85577f7474 from 0 to 2 The health-check Job’s logs say whether the post-deploy probe passed:
❱ kubectl logs job/production-health -n how-to-app
ok GET http://production.how-to-app.svc.cluster.local:80 status reports observed health. It does not reapply resources or change the
active activation.