helm安裝

#install
helm repo add kedacore https://kedacore.github.io/charts
#最新版
helm install keda kedacore/keda
#本地安裝
helm install ./keda -f ./keda/values.yaml

設定ScaledObject

apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: app-demo
spec:
  scaleTargetRef:
    deploymentName: app-demo
  pollingInterval: 15 # 可選。預設為 15 秒
  cooldownPeriod:    300 # 可選。預設為 300 秒 (5 分鐘)
  maxReplicaCount:   10
  triggers:
  - type: prometheus
    metadata:
      serverAddress: http://prometheus.monitoring:9090
      metricName: http_requests_total
      threshold: "100"

檢查資源

kubectl get ScaledObject
kubectl get deployment | grep keda-operator

promtheus設定

- job_name: 'app-demo'
       kubernetes_sd_configs:
         - role: pod
       relabel_configs:
         - source_labels: [ __meta_kubernetes_pod_name ]
           target_label: instance
         - source_labels: [ __meta_kubernetes_pod_container_port_number ]
           action: "keep"
           regex: "8081"
         - source_labels: [ __meta_kubernetes_namespace ]
           action: "keep"
           regex: "dev"

查詢metrics指標

壓測服務查看是否會Scale

 

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料