Verify the Deployment#
After you publish the component tree, Argo CD syncs the components in sync-wave order. Confirm the rollout from the top down: first that every Argo CD Application is healthy, then each component, then end-to-end access.
Run every command on this page on the active BCM head node, where kubectl
reaches k8s-admin.
Confirm Argo CD Application health#
kubectl -n argocd get applications
All twelve Applications report Synced and Healthy: root, argocd,
and k8s-admin-{openbao, external-secrets, cert-manager, cnpg-operator,
trust-manager, nmc-gateway, keycloak, keycloak-cnpg, keycloak-config-cli,
launchpad}. keycloak-config-cli runs only when the realm import is enabled,
which the standard install does. Without the import, eleven Applications appear.
Argo CD prefixes each component’s Application with the cluster name, so openbao
is k8s-admin-openbao. Sync waves are health-gated, so a wave does not start until the
previous one is Healthy. Investigate any Application stuck in Progressing
(refer to Troubleshooting).
Verify each component#
Argo CD reporting every Application Healthy is the first signal the stack is
up. For component-level checks, refer to the Verify section on each component’s page:
Reach the UIs#
The gateway serves the Argo CD, Keycloak, and Launchpad UIs over HTTPS. Reach them through the BCM head node or directly at the gateway IP.
Through the BCM head node#
This is the standard path, the same way you reach the other NVIDIA Mission Control services. Resolve the Argo CD, Keycloak, and Launchpad host names to the BCM head-node external or floating IP, the address you use to SSH to the head node. In a high-availability setup, use the floating IP, not a physical node IP. The head node forwards HTTPS to the gateway by host name.
The head node needs a forwarding rule for each gateway host name. NVIDIA Mission Control does not add
it during cluster setup, because Argo CD creates the gateway afterward, so its host
names are not yet known. Once the gateway is programmed, generate the rules as
root on the active head node:
cm-kubernetes-setup --cluster k8s-admin --configure-gateway-proxy
The command reads the gateway’s listener host names and writes the matching head-node
forwarding rules. It needs the Kubernetes ingress proxy, which you enable when you
create the k8s-admin cluster. The rules match the gateway’s host names and IP, so
run the command again if you change either.
Launchpad sends its sign-in redirect to the Keycloak host name, which resolves through this same path, so generate the rules before you test single sign-on.
Directly to the gateway#
Resolve the host names to the loadBalancerIP you set, from a host that can route
to that address. This path needs no head-node forwarding. Use site DNS, or a local
/etc/hosts entry on a test cluster.
Trust the served certificate#
How you trust the served certificate depends on the gateway’s TLS source. On the default OpenBao issuer, the certificates are NVIDIA Mission Control-issued, so import the root CA or accept the browser warning. A certificate from a publicly trusted CA is already trusted. Trust a certificate from a private CA by importing that CA into your client’s trust store. Retrieve the NVIDIA Mission Control root CA with:
kubectl -n cert-manager get secret nmc-ca-anchor-tls \
-o jsonpath='{.data.ca\.crt}' | base64 -d > nmc-root.crt
Confirm end-to-end sign-in#
The nmc realm has no users after install. Create one to verify single
sign-on.
Open the Keycloak admin console as user admin. If you set
k8s_bootstrap_secrets_keycloak_admin_password, sign in with that value. If you
left it empty to auto-generate, read the generated password from its seed Secret,
which stays in the cluster until you clean up. The seed Secret holds a JSON
payload, so use jq to read the password field:
kubectl -n openbao get secret openbao-bootstrap-seeds-keycloak-admin \
-o jsonpath='{.data.payload}' | base64 -d | jq -r .password
Switch to the nmc realm, add a user with an email address, set a password
under Credentials, then sign in to Launchpad as that user. The same user signs
in to Argo CD with read-only access (Verify).
Next step#
Continue to Clean Up the Bootstrap Secrets to back up and remove the bootstrap secrets.