Skip to content

Configuring Scheduling Policies via Web GUI

Gthulhu provides a Web GUI that allows users to conveniently configure scheduling policies.

Note If you have deployed Gthulhu on a Kubernetes cluster, please first use the kubectl port-forward svc/gthulhu-manager 8080:8080 command to forward the local port 8080 to the Gthulhu Manager service, then visit http://localhost:8080 in your browser to access the Web GUI.

If everything goes well, you should see the following Web GUI interface:

alt text

Please log in with the default credentials. The username is admin@example.com and the password is your-password-here. After logging in, you will see the following interface:

alt text

Next, you can add or delete scheduling policies, and view the current list of scheduling policies here. After adding or deleting scheduling policies, the Gthulhu Scheduler will automatically update its configuration and make scheduling decisions based on the new scheduling policies:

alt text

  • Strategy ID: A unique identifier automatically generated by the system.
  • Namespace: Specifies the Namespace for the scheduling policy.
  • Priority: Sets the priority of the scheduling policy, ranging from 0 to 20.
    • Range 0–9 represents high-priority task categories. These tasks can preempt other lower-priority tasks.
    • Range 10–19 represents normal-priority task categories, which do not have preemption capability.
    • Different priorities are assigned different deadlines. A lower value indicates a higher priority, and higher-priority tasks have shorter deadlines.
  • Execution Time: Specifies the execution time for the scheduling policy. Note that this field defines the maximum allowed execution time in a single scheduling cycle.
  • Command Regex: A regular expression used to match commands. For example, .* matches all processes on Pods found by the label selector.
  • K8s Namespaces: Specifies the Kubernetes Namespace(s) to which the scheduling policy applies.

If the scheduling policy takes effect correctly, you will see scheduling intents being generated:

alt text

Scheduling intents are generated based on scheduling policies. Once a scheduling policy takes effect, the Gthulhu API Server (Manager Mode) will generate corresponding scheduling intents based on that policy. These intents are then sent to the Gthulhu Scheduler on the node where the Pod resides, allowing the Scheduler to adjust the Pod's resource allocation based on the intents to achieve optimized scheduling.