Multiple runner deployments with multiple horizontal autoscalars #1616
Unanswered
pankaj-verma-by
asked this question in
Questions
Replies: 1 comment 3 replies
-
Please provide some help in fixing this issue. Thanks |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello
I am using ARC (App version - 0.24.0) and have deployed ARC in an AKS cluster. My organization has a restriction to create "org" level private runners so I am using repository level runners to create private runners in multiple github repositories. I am using RunnerDeployment(s) backed with HorizontalRunnerAutoscaler(s). Following is my RunnerDeployment and its corresponding HPA definition for 1 repo. The same set (RD + HPA) is created for other repos also:
apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
name: abc-runner
namespace: actions-runner-system
spec:
template:
spec:
nodeSelector:
decisioning: "true"
repository: org1/abc
env: []
labels:
resources:
requests:
cpu: "11"
memory: "40Gi"
apiVersion: actions.summerwind.dev/v1alpha1
kind: HorizontalRunnerAutoscaler
metadata:
name: abc-runner-deployment-autoscaler
spec:
scaleDownDelaySecondsAfterScaleOut: 120
scaleTargetRef:
name: abc-runner
metrics:
repositoryNames:
minReplicas: 1
maxReplicas: 3
The above kind of k8s resource definition goes for other repositories like this:
apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
name: xyz-runner
namespace: actions-runner-system
spec:
template:
spec:
nodeSelector:
decisioning: "true"
repository: org1/xyz
env: []
labels:
resources:
requests:
cpu: "11"
memory: "40Gi"
apiVersion: actions.summerwind.dev/v1alpha1
kind: HorizontalRunnerAutoscaler
metadata:
name: xyz-runner-deployment-autoscaler
spec:
scaleDownDelaySecondsAfterScaleOut: 120
scaleTargetRef:
name: xyz-runner
metrics:
repositoryNames:
minReplicas: 1
maxReplicas: 3
I am only using pull based autoscaling and not webhook server one due to some DNS restrictions at org level.
Issue:
The issue is that autoscaling works fine only for 1 repo which means when I run multiple workflow jobs for "abc" repo then I can see three runner pods being deployed and get scaled out after 10 mins (not in 2 minutes - another issue) but when I execute multiple workflow jobs from "xyz" repo then I can see only the default 1 runner pod for "xyz" repo. The other 2 pods do not spin up and remain in the queue until first job gets completed. Once first job gets completed then also no additional pod comes up. The job gets executed on default runner pod only (Due to "minReplicas: 1")
Please do help to figure out the issue here. Thanks
Beta Was this translation helpful? Give feedback.
All reactions