Skip to content

Nodes, projects, and access

View as Markdown

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.
Allocate Node Remove Node Launch a service Stop or delete the service Free Allocated Occupied
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.

Private cluster: 10 nodes Project A: 4 nodes running Training Clusters Project B: 3 nodes running Inference Endpoints 3 nodes, Free
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.

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.