setup production autoscaler

This commit is contained in:
Victor Barba Martin 2021-08-31 20:49:51 +02:00
parent c096951028
commit 29e095803f
5 changed files with 121 additions and 7 deletions

View File

@ -117,14 +117,14 @@ pipelines:
script: script:
- AUTOSCALER_IMAGE="gcr.io/$GCLOUD_PROJECT/autoscaler:prod-0.1.$BITBUCKET_BUILD_NUMBER" - AUTOSCALER_IMAGE="gcr.io/$GCLOUD_PROJECT/autoscaler:prod-0.1.$BITBUCKET_BUILD_NUMBER"
- COTURN_DNS_IMAGE="gcr.io/$GCLOUD_PROJECT/coturn-dns:prod-0.1.$BITBUCKET_BUILD_NUMBER" - COTURN_DNS_IMAGE="gcr.io/$GCLOUD_PROJECT/coturn-dns:prod-0.1.$BITBUCKET_BUILD_NUMBER"
- sed -i "s|{{linode_autoscaler_image}}|$AUTOSCALER_IMAGE|g" k8s/linode-autoscaler/webrtc-be-autoscaler.yaml - sed -i "s|{{linode_autoscaler_image}}|$AUTOSCALER_IMAGE|g" k8s/linode-autoscaler/production-webrtc-be-autoscaler.yaml
- sed -i "s|{{linode_autoscaler_image}}|$AUTOSCALER_IMAGE|g" k8s/linode-autoscaler/coturn-autoscaler.yaml - sed -i "s|{{linode_autoscaler_image}}|$AUTOSCALER_IMAGE|g" k8s/linode-autoscaler/production-coturn-autoscaler.yaml
- sed -i "s|{{coturn_dns_image}}|$COTURN_DNS_IMAGE|g" k8s/coturn-dns/production-coturn-dns.yaml - sed -i "s|{{coturn_dns_image}}|$COTURN_DNS_IMAGE|g" k8s/coturn-dns/production-coturn-dns.yaml
# - pipe: atlassian/kubectl-run:1.1.2 - pipe: atlassian/kubectl-run:1.1.2
# variables: variables:
# KUBE_CONFIG: $KUBE_CONFIG KUBE_CONFIG: $KUBE_CONFIG
# KUBECTL_COMMAND: 'apply' KUBECTL_COMMAND: 'apply'
# RESOURCE_PATH: 'k8s/linode-autoscaler/' RESOURCE_PATH: 'k8s/linode-autoscaler/production-coturn-autoscaler.yaml'
- pipe: atlassian/kubectl-run:1.1.2 - pipe: atlassian/kubectl-run:1.1.2
variables: variables:
KUBE_CONFIG: $KUBE_CONFIG_PRD KUBE_CONFIG: $KUBE_CONFIG_PRD

View File

@ -0,0 +1,57 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: coturn-autoscale
spec:
replicas: 1
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
selector:
matchLabels:
app: coturn-autoscale
template:
metadata:
labels:
app: coturn-autoscale
spec:
containers:
- name: coturn-autoscale
image: {{linode_autoscaler_image}} ####### CHANGE THIS TO YOUR ACTUAL DOCKER IMAGE
env:
- name: LINODE_PERSONAL_ACCCESS_TOKEN
value: "a821bb97039cbd8b259e19ef9f7ea7a4e295a7399e00709fc27cad2b1f3742f4"
# valueFrom:
# secretKeyRef:
# name: linode-personal-access-token-k8s-autoscaler ####### LINODE PERSONAL ACCESS TOKEN SECRET
# key: token
- name: LINODE_LKE_CLUSTER_ID
value: "35025"
- name: LINODE_LKE_CLUSTER_POOL_ID
value: "53760"
- name: AUTOSCALE_TRIGGER
value: "cpu"
- name: AUTOSCALE_TRIGGER_TYPE
value: "used"
- name: AUTOSCALE_UP_PERCENTAGE
value: "60"
- name: AUTOSCALE_DOWN_PERCENTAGE
value: "30"
- name: AUTOSCALE_QUERY_INTERVAL
value: "10"
- name: AUTOSCALE_THRESHOLD_COUNT
value: "3"
- name: AUTOSCALE_NUMBER_OF_NODES
value: "1"
- name: AUTOSCALE_WAIT_TIME_AFTER_SCALING
value: "180"
- name: LINODE_LKE_CLUSTER_POOL_MINIMUM_NODES
value: "3"
resources:
requests:
memory: 32Mi
limits:
memory: 32Mi

View File

@ -0,0 +1,57 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: webrtc-be-autoscale
spec:
replicas: 1
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
selector:
matchLabels:
app: webrtc-be-autoscale
template:
metadata:
labels:
app: webrtc-be-autoscale
spec:
containers:
- name: webrtc-be-autoscale
image: {{linode_autoscaler_image}} ####### CHANGE THIS TO YOUR ACTUAL DOCKER IMAGE
env:
- name: LINODE_PERSONAL_ACCCESS_TOKEN
value: "a821bb97039cbd8b259e19ef9f7ea7a4e295a7399e00709fc27cad2b1f3742f4"
# valueFrom:
# secretKeyRef:
# name: linode-personal-access-token-k8s-autoscaler ####### LINODE PERSONAL ACCESS TOKEN SECRET
# key: token
- name: LINODE_LKE_CLUSTER_ID
value: "29062"
- name: LINODE_LKE_CLUSTER_POOL_ID
value: "53759"
- name: AUTOSCALE_TRIGGER
value: "cpu"
- name: AUTOSCALE_TRIGGER_TYPE
value: "used"
- name: AUTOSCALE_UP_PERCENTAGE
value: "60"
- name: AUTOSCALE_DOWN_PERCENTAGE
value: "30"
- name: AUTOSCALE_QUERY_INTERVAL
value: "10"
- name: AUTOSCALE_THRESHOLD_COUNT
value: "3"
- name: AUTOSCALE_NUMBER_OF_NODES
value: "1"
- name: AUTOSCALE_WAIT_TIME_AFTER_SCALING
value: "180"
- name: LINODE_LKE_CLUSTER_POOL_MINIMUM_NODES
value: "3"
resources:
requests:
memory: 32Mi
limits:
memory: 32Mi