NCP-CN 6.10 Study Guide · Section 4 of 4

Conduct NKP Fleet Management

Kommander's whole reason to exist: many clusters, many teams, one control plane. Workspaces and projects are the two nouns this section turns on; get their boundary crisp and half the questions answer themselves.

🎯 Objectives 4.1 – 4.6 📅 War plan: Week 2, days 5-7 Versions NKP 2.12 · AOS 6.10 · pc2024.2

§0The mental model first

Workspace = the big isolation box. Holds CLUSTERS (deployed or attached), workspace level platform applications, and workspace RBAC. Think business unit, environment tier, or tenant.

Project = a slice INSIDE a workspace. Selects some/all of the workspace's clusters and projects a shared set of NAMESPACES onto them, with project RBAC, quotas/limit ranges, project apps, and GitOps continuous deployment. Think team or application.

Hierarchy: Global → Workspace → Project → (namespaces on clusters). Apps and RBAC can be set at each level and flow downward. Multi tenancy = workspaces per tenant, dedicated login URLs per tenant.

4.1Configure workspaces

Create/delete workspaces; assign each workload cluster to exactly one workspace; configure the infrastructure provider at workspace level (the credentials/endpoint Kommander uses to deploy clusters there, e.g. a Nutanix/Prism Central provider); set workspace level access control (roles federate to member clusters); deploy workspace applications (enabled per workspace, optionally per cluster). Insights (Ultimate) gives anomaly/health intelligence across the fleet; it has its own license install.

Exam shape
"Given a use case, determine workload cluster workspace assignment": separate by tenant/team/environment when isolation, RBAC, or app set differ; same workspace when they share governance. Production vs dev with different admins = different workspaces.

4.2Deploy workload clusters to a workspace

From Kommander (UI or nkp CLI) you deploy managed clusters into a workspace, on whatever infrastructure provider the workspace has configured (Nutanix, vSphere, AWS, even VCD via the UI). The target provider determines the deployment parameters (Guide 01 §1.6) and what is possible. Lifecycle of a managed cluster (upgrade, scale, delete) is fully Kommander's.

Troubleshooting deployment of a workload cluster = Guide 02's CAPI chain walk, but initiated from the management cluster; plus workspace level causes: wrong/expired infrastructure provider credentials, exhausted IP pools, image missing on that provider.

4.3Attach clusters to a workspace

Attach brings an EXISTING cluster (built elsewhere: EKS, AKS, GKE, or any conformant Kubernetes) under Kommander management. Attached ≠ managed:

CapabilityManaged (NKP deployed)Attached (existing)
Platform apps, monitoring, RBAC federationYesYes
Lifecycle (upgrade/scale nodes) via KommanderYesNo, its own platform owns lifecycle

Attachment requirements: network reachability from the management cluster (or a tunneled attachment when the cluster is behind NAT/firewall and cannot be reached directly), a kubeconfig with sufficient privilege, cloud specifics for EKS (prepare the cluster, IAM/auth wiring), and a default StorageClass so platform apps that need persistence can provision volumes.

Exam shape
Attach scenarios test the requirements list: "attached EKS cluster, monitoring apps stuck Pending" → no default StorageClass. "Cluster cannot be reached from the management cluster but must be attached" → tunneled attachment. Attaching external clusters at all = Ultimate license.

4.4Detach or delete clusters

Decommissioning logic: detach an attached cluster (it keeps running, Kommander just stops managing it; platform apps Kommander federated may be left behind/cleaned), delete a managed cluster (the cluster and its provider resources are destroyed; "Delete an NKP Cluster with One Command" or via the Kommander dashboard GUI, including deleting EKS clusters from the UI when they were NKP deployed).

Troubleshooting stuck detach/delete: finalizers holding resources, provider credentials no longer valid (cannot destroy what it cannot reach), or order of operations (delete workload clusters before the management cluster that owns them).

4.5Configure projects

Inside a workspace, a project targets selected clusters, creating the project namespace(s) on each. Project level features the blueprint names:

FeatureWhat it gives you
Project access controlRoles/bindings scoped to the project's namespaces across its clusters
Project applicationsApps deployed to the project's clusters/namespaces
Quotas + limit rangesResource ceilings per project (CPU/mem/object counts), federated to all member clusters
Continuous Deployment (GitOps)Flux based: point the project at a Git repo and manifests sync to project clusters automatically
Federated resourcesConfigMaps/Secrets/etc. stamped identically across the project's clusters
Exam shape
Workspace vs project disambiguation: quotas, GitOps CD, namespace level team isolation = PROJECT. Cluster membership, infrastructure providers, attach/deploy = WORKSPACE. "Add clusters to a project" selects from the workspace's clusters only.

4.6Configure platform applications

The curated catalog (monitoring, logging, security, ingress, backup...) Kommander deploys and manages. The blueprint's five knowledge bullets in plain words:

BulletMeans
DependenciesApps require other apps (Grafana needs Prometheus; logging dashboards need Loki). Enabling an app pulls or requires its dependencies; disabling one can break dependents.
Customize from the dashboardPer app configuration overrides (values YAML) edited in the Kommander UI at workspace/cluster level
Global vs cluster scopeConfiguration set once for everywhere vs overridden for a single cluster; cluster scope wins for that cluster
Troubleshoot configurationsHelmRelease/Flux status for the app, values syntax errors, dependency not enabled, resources insufficient
CLI controlEnable/disable/modify apps via CLI, not just UI ("Deploy Platform Applications Using CLI")

§Section 4 in one breath

Workspaces hold clusters (deployed via the workspace's infrastructure provider, or attached with reachability + kubeconfig + default StorageClass, tunneled when unreachable, Ultimate when external). Projects slice workspaces into namespace level team spaces with RBAC, quotas, apps, federation, and GitOps CD. Platform applications deploy at global/workspace/cluster scope with dependencies, customized via overrides in UI or CLI. Detach releases attached clusters; delete destroys managed ones.

§Self check

1. Two Customers (tenants) on one NKP estate, each with prod + dev clusters and their own admins. Sketch the workspace/project layout.

2. An attached GKE cluster's logging apps will not start; volumes Pending. First thing you check?

3. What can Kommander do to a managed cluster that it cannot do to an attached one?

4. A team needs a CPU ceiling and Git driven deployments across three clusters in a workspace. Which construct and which two features?

5. Monitoring config must apply fleet wide except one cluster that needs different alert endpoints. How?