A private cluster’s nodes move between three states as you allocate them to projects and run services on them. One cluster can serve several of your account’s projects at once, each with its own share of the nodes. What you can do with a cluster depends on your role on its project.
Node states: Free, Allocated, and Occupied
Section titled “Node states: Free, Allocated, and Occupied”A node is always in one of three states:
- Free: unassigned and ready to allocate to a project.
- Allocated: assigned to a project and ready for a service.
- Occupied: assigned to a project, with at least one service running on it: an Instance, Inference Endpoint, Training Cluster, or Vector Database.
Diagram as text
stateDiagram-v2
[*] --> Free
Free --> Allocated: Allocate Node
Allocated --> Free: Remove Node
Allocated --> Occupied: Launch a service
Occupied --> Allocated: Stop or delete the service
Allocating a node moves it from Free to Allocated. Launching a service on it moves it to Occupied, and stopping or deleting that service moves it back to Allocated. To remove an Occupied node from its project, stop or delete the service on it first. The same applies to a node running a training-cluster workload. See Allocate nodes to projects for the allocate and remove steps.
How a cluster’s nodes are shared across projects
Section titled “How a cluster’s nodes are shared across projects”You can split a cluster’s nodes across several of your account’s projects at once, and each project gets its own share. Allocating nodes to a project creates its share automatically, so any project can use the cluster right away. Nodes in different projects can run different kinds of service at the same time, since every node can run any service type. Moving a free node to another project changes only the project it belongs to.
Diagram as text
flowchart LR
Cluster["Private cluster: 10 nodes"] --> A["Project A: 4 nodes running Training Clusters"]
Cluster --> B["Project B: 3 nodes running Inference Endpoints"]
Cluster --> F["3 nodes, Free"]
For example, a 10-node cluster can have four nodes allocated to one project running training clusters, three to another project running inference endpoints, and three left free. The Project Allocations tab on the cluster’s detail page lists every project with nodes on it, with its total, occupied, and free node counts. A dropdown filters the list to All Projects or one project.
Access by role
Section titled “Access by role”Your role on the cluster’s project sets your access to it. These are the same roles used across TIR: Owner, Admin, Team Lead, Project Lead, Project Manager, IAM User, Team Member, and Member.
| Role | View the cluster | Allocate, deallocate, or move nodes | Create, update, or delete the cluster |
|---|---|---|---|
| Owner, Admin | Yes | Yes, for any project | Yes |
| Team Lead, Project Manager, Project Lead, IAM User | Yes | Deallocate nodes from a project you can update | No |
| Team Member, Member | No | No | No |
A project member with update access to a project can deallocate nodes from that project’s own allocation. Only an Owner or Admin can add nodes to it or move nodes between projects. See Allocate nodes to projects.