Manage Environment Specifications

The Environment Spec feature allows platform administrators to define specific Kubernetes scheduling constraints, specifically Node Selectors. By creating an Environment Spec, you can control precisely where the system components (Pods) are deployed within the Kubernetes cluster.

Usage scenarios

This feature is essential for operations and maintenance scenarios where direct access to the Kubernetes cluster is restricted or inefficient. Common use cases include:

  • Fault isolation: When a physical node fails, you can use Node Selectors to prevent new Pods from being scheduled onto that faulty node.

  • Dedicated Deployment: Deploy specific services (for example, high-performance Warehouses) to designated nodes with specialized hardware (for example, SSDs or high-frequency CPUs).

  • Resource Scheduling: Implement K8s node affinity and anti-affinity rules to optimize resource usage and availability.

Access the environment spec page

  1. Log into the DBaaS Admin Console.

  2. In the left navigation menu, click Environment Spec.

View environment specs

The Environment Spec page displays a list of all configured specifications. You can use the filters at the top of the page to search by ID (supports fuzzy search), Name (supports fuzzy search), or Created date.

The list provides the following details:

  • ID: The unique identifier of the spec.

  • Name: The descriptive name of the spec.

  • Created: The timestamp when the spec was created.

  • Operation: Actions you can perform, such as deleting the spec.

Create an environment spec (node selector)

You can create a new specification to define Node Selectors. These selectors are Key-Value pairs that must match the labels on your Kubernetes nodes for Pods to be scheduled there.

  1. On the Environment Spec page, click the + Create Environment Spec button in the upper-right corner.

  2. In the Create Environment Spec dialog box, configure the following:

    • Name: Enter a unique name for this specification (for example, isolate-node-01 or ssd-nodes-only).

    • Node selectors: Define the scheduling rules.

      • Enter key: Input the Kubernetes node label key (for example, kubernetes.io/hostname or disktype).

      • Enter value: Input the corresponding label value (for example, k8s-node-01 or ssd).

      • Click the + icon to add the key-value pair to the list. You can add multiple selectors to narrow down the scheduling scope.

      • To remove a selector, click the trash bin icon next to the entry.

  3. Click OK to save the configuration.

Apply environment specs to resources

Once an Environment Spec is created, it acts as a template. You must apply it to specific resources for the scheduling rules to take effect.

You can select an Environment Spec when creating or configuring resources, including but not limited to:

  • Account

  • Warehouse

  • ML Cluster

  • TP Server

  • UnionStore

  • FoundationDB