Platform Verification#
After a successful installation, you can list and check various Kubernetes resources.
The following pods should be visible in the omni-streaming namespace:
Application & Profile Manager
memcached
Resource Management Control Plane
Streaming Session Manager
Streaming AWS NLB Manager (for AWS deployments only)
The examples use omni-streaming; substitute your namespace throughout. Confirm the Streaming Manager is scoped to it: the session_namespace Helm value (rendered as nv.svc.streaming.session.namespace in the streaming ConfigMap) must match the namespace where session pods run. Deployments in a namespace other than omni-streaming require release 1.12.1 or later.
To view the namespace, run the following command:
kubectl get pods -n omni-streaming
This should display the following output:
NAME READY STATUS RESTARTS AGE
applications-7c7bf6d74b-q5hvq 2/2 Running 0 2m38s
memcached-service-r3-0 1/1 Running 0 55m
rmcp-c77f5f65-pw87c 1/1 Running 0 45m
streaming-749986b679-nkrmt 1/1 Running 0 5m2s
nlb-8124745472-abldo 1/1 Running 0 2m25s
The following ingress objects should be visible in the omni-streaming namespace:
$ kubectl get ingress -n omni-streaming
NAME CLASS HOSTS ADDRESS PORTS
applications <none> * k8s-omnistre-applicat-...eu-west-1.elb.amazonaws.com 80
streaming <none> * k8s-omnistre-streamin-1.eu-west-1.elb.amazonaws.com 80
The following API documentation endpoints /docs should be accessible using the ingress URL for both services, for example:
http://<application-endpoint-url>/docs
http://<streaming-endpoint-url>/docs
Verifying Flux#
Streaming sessions are created as Flux HelmRelease resources, so the Flux controllers must be healthy and the Helm repository ready:
kubectl get pods -n flux-operators
kubectl get helmrepositories -n omni-streaming
The HelmRepository (ngc-omniverse) must report READY=True; if it does not, sessions cannot be created.
Verifying a Streaming Session#
Each streaming session is a Flux HelmRelease; list them with:
kubectl get helmrelease -n omni-streaming
The session pod runs two containers (an Envoy signaling proxy and the Kit application), so logs must be requested by container name. The Kit container is named <streamingKit.name>-<session-id> (kit-app-<session-id> with the shipped profiles); list the names with:
kubectl get pod <session-pod> -n omni-streaming -o jsonpath="{.spec.containers[*].name}"
kubectl logs <session-pod> -n omni-streaming -c kit-app-<session-id>
kubectl logs <session-pod> -n omni-streaming -c envoy-sidecar
If a HelmRelease exists but no pod is scheduled, check the Flux helm-controller and source-controller logs in the flux-operators namespace and the HelmRepository status.