Replies: 2 comments
-
@or-he-MA I had similar questions. In my organization, we deploy a single scale set controller, and then multiple runner sets within that same cluster. We are currently deploying the helm charts with terraform, which I am not certain is the best route, but that's a different topic. Below are some terraform snippets that may help illustrate how we are doing it. resource "helm_release" "arc" {
name = "arc"
repository = "oci://ghcr.io/actions/actions-runner-controller-charts"
chart = "gha-runner-scale-set-controller"
version = local.helm_release_version
namespace = kubernetes_namespace.arc_systems.metadata[0].name
...
# set values here
...
}
# note the `for_each` in the resource block below
resource "helm_release" "arc-runner-set" {
for_each = tomap(local.runner_sets)
name = each.key
repository = "oci://ghcr.io/actions/actions-runner-controller-charts"
chart = "gha-runner-scale-set"
version = local.helm_release_version
namespace = kubernetes_namespace.arc_runner_set[each.key].metadata[0].name
...
# set values here
... We do also specify nodeSelectors to limit certain runners to certain nodepools, this is what we set on the scale set controller(s): ...
# limit pods to running on the runners node pool where the `runnerset` label matches the value provided
set {
name = "listenerTemplate.spec.nodeSelector.runnerset"
value = each.value.runnerset
... |
Beta Was this translation helpful? Give feedback.
-
Thanks, that might help :) So, I must use my own image for the self hosted runner? With Docker installed? |
Beta Was this translation helpful? Give feedback.
-
I've installed The new ARC-controller and the ARC-Scale-set.
Is there anyway to configure multiple Scale Sets within the same configuration?
For example I have a Scale Set that is configured to org "A", with the label ( Scale Set Name ) set to: "local-runner-a".
Now i have another use case, which I need to run "local-runner-b", where all of the other config is the same. Same GH org, same GH app, everything is the same.
Is there a way to configure within the same deployment multiple scale sets? Or I must create another instance of this resource?
Because as mentioned here:
It's quite confusing...
Also, is there any possibility to specify tolerations/node selector for the Scale Set? I haven't saw anything similar to this, and I have a use case for arm local-runners, and this is how I make sure it will schedule it on an arm machine.
Beta Was this translation helpful? Give feedback.
All reactions