How-to guide Operate a cluster
Check resource status
Read the live health of the resources associated with a Kix cluster.
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
NAME NAMESPACE KIND READY STATUS AGE
how-to-application-gb5d6ry45b5l _cluster Activation True Active 41s
activations.kix.run _cluster CustomResourceDefinition True Active 42s
packageinstances.kix.run _cluster CustomResourceDefinition True Active 42s
how-to-app _cluster Namespace True Active 42s
kube-system _cluster Namespace True Active 48s
preview how-to-app ConfigMap True Active 42s
production how-to-app ConfigMap True Active 42s
production-health-script how-to-app ConfigMap True Active 42s
preview how-to-app Deployment True 1/1 42s
production how-to-app Deployment True 2/2 42s
production-health how-to-app Job True Complete 8s
preview how-to-app PackageInstance True Active 9s
production how-to-app PackageInstance True Active 1s
preview how-to-app Service True Active 9s
production how-to-app Service True Active 8s
platform-dns kube-system PackageInstance True Active 41s 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: Mon, 28 Sep 2026 08:00:35 +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: gb5d6ry45b5ll664ahagxldh9na9z3y5
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 38s 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.