diff --git a/scripts/create-runners-cluster-gke.sh b/scripts/create-runners-cluster-gke.sh index d414f897..b760ddc0 100755 --- a/scripts/create-runners-cluster-gke.sh +++ b/scripts/create-runners-cluster-gke.sh @@ -7,7 +7,7 @@ if [ "$REGION" == "" ]; then export REGION="us-central1" fi -# MACHINE_TYPE="e2-standard-4" +# MACHINE_TYPE="e2-standard-8" export K8S="1.23" export MACHINE_TYPE=$($SCDIR/determine-default.sh $CLUSTER_NAME "machine_type") export DISK_SIZE=$($SCDIR/determine-default.sh $CLUSTER_NAME "disk_size") diff --git a/scripts/deploy-gh-runners.sh b/scripts/deploy-gh-runners.sh index 4257208d..55a4dfb3 100755 --- a/scripts/deploy-gh-runners.sh +++ b/scripts/deploy-gh-runners.sh @@ -91,9 +91,9 @@ else fi set -e echo "Creating runners" +kubectl apply -f "$SCDIR/k8s/runners-stream-ci-large.yaml" SCALING=$(jq '.stream-apps-gh-runners.runner_scaling' $PARENT/config/defaults.json | sed 's/\"//g') kubectl apply -f "$SCDIR/k8s/runners-stream-ci-${SCALING}.yaml" -kubectl apply -f "$SCDIR/k8s/runners-generic.yaml" if [ "$SCALING" != "auto" ]; then $SCDIR/wait-k8s.sh 1 --for=condition=ready --timeout=1m pod -l runner-deployment-name=runners-stream-ci fi diff --git a/scripts/k8s/runners-stream-ci-large.yaml b/scripts/k8s/runners-stream-ci-large.yaml new file mode 100644 index 00000000..0d60e78c --- /dev/null +++ b/scripts/k8s/runners-stream-ci-large.yaml @@ -0,0 +1,41 @@ +apiVersion: actions.summerwind.dev/v1alpha1 +kind: RunnerDeployment +metadata: + name: runners-stream-ci-large +spec: + template: + spec: + priorityClassName: high-priority + image: 'summerwind/actions-runner:latest' + dockerdWithinRunnerContainer: true + imagePullPolicy: IfNotPresent + imagePullSecrets: + - name: stream-metadata-default + repository: spring-cloud/stream-applications + githubAPICredentialsFrom: + secretRef: + name: controller-manager-secret + resources: + requests: + cpu: "3000m" + memory: "12Gi" + labels: + - stream-ci-large +--- +apiVersion: actions.summerwind.dev/v1alpha1 +kind: HorizontalRunnerAutoscaler +metadata: + name: runners-stream-ci-large-scaling +spec: + githubAPICredentialsFrom: + secretRef: + name: controller-manager-secret + minReplicas: 0 + maxReplicas: 2 + scaleTargetRef: + kind: RunnerDeployment + name: runners-stream-ci-large + scaleUpTriggers: + - githubEvent: + workflowJob: {} + duration: "30m" diff --git a/scripts/scale-cluster-nodes.sh b/scripts/scale-cluster-nodes.sh index 737629b7..cfcf514c 100755 --- a/scripts/scale-cluster-nodes.sh +++ b/scripts/scale-cluster-nodes.sh @@ -146,8 +146,9 @@ NODES=$(jq '.nodes' nodes.json) SHRINK=$(jq '.shrink' nodes.json) echo "NODES=$NODES, ZONES=$ZONES, SHRINK=$SHRINK" TARGET=$(div_round_up $NODES $ZONES) -if ((TARGET < 0)); then - TARGET=$($SCDIR/determine-default.sh $CLUSTER_NAME "scale_down") +SCALE_DOWN=$($SCDIR/determine-default.sh $CLUSTER_NAME "scale_down") +if ((TARGET < SCALE_DOWN)); then + TARGET=$SCALE_DOWN fi if ((TARGET < INITIAL_NODE_COUNT)); then if [ "$SHRINK" == "true" ]; then