เดเตเดฒเตเดกเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพเดเตเดเตเดณเตเดณ เดชเตเดฐเดงเดพเดจ เดเดตเดถเตเดฏเดเดคเดฏเดพเดฃเต เดธเตเดเตเดฒเดฌเดฟเดณเดฟเดฑเตเดฑเดฟ. เดเตเดฌเตเตผเดจเตเดฑเตเดฑเดธเต เดเดชเดฏเตเดเดฟเดเตเดเต, เดเดฐเต เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดธเตเดเตเดฏเดฟเตฝ เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เดเดเดฟเดคเดฎเดพเดฏ เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดจเต เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ ReplicaSet
- เดเดจเตเดจเดพเตฝ เดเดคเต เดเดฐเต เดฎเดพเดจเตเดตเตฝ เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเดพเดฃเต.
เดเตเดฌเตเตผเดจเตเดฑเตเดฑเดธเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดธเตเดตเดฏเดฎเตเดต เดธเตเดเตเดฏเดฟเตฝ เดเตเดฏเตเดฏเดพเตป เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต (เด
เดคเดพเดฏเดคเต เดเดฐเต เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดฒเต เดชเตเดกเตเดเตพ เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ ReplicaSet
) เดนเตเดฑเดฟเดธเตเดฃเตเดเตฝ เดชเตเดกเต เดเดเตเดเตเดธเตเดเตเดฏเดฟเดฒเตผ เดธเตเดชเตเดธเดฟเดซเดฟเดเตเดเตเดทเตป เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฐเต เดกเดฟเดเตเดฒเดฑเตเดฑเตเดฑเตเดตเต เดฐเตเดคเดฟเดฏเดฟเตฝ. เดเดเตเดเตเดฎเดพเดฑเตเดฑเดฟเดเต เดธเตเดเตเดฏเดฟเดฒเดฟเดเดเดฟเดจเตเดฑเต เดกเดฟเดซเตเตพเดเตเดเต เดฎเดพเดจเดฆเดฃเตเดกเด CPU เดเดชเดฏเตเด เดฎเตเดเตเดฐเดฟเดเตโเดธเต เดเดฃเต (เดฑเดฟเดธเตเดดเตโเดธเต เดฎเตเดเตเดฐเดฟเดเตโเดธเต), เดเดจเตเดจเดพเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เดเดทเตเดเดพเดจเตเดธเตเดคเดตเตเด เดฌเดพเดนเตเดฏเดฎเดพเดฏเดฟ เดจเตฝเดเดฟเดฏเดคเตเดฎเดพเดฏ เดฎเตเดเตเดฐเดฟเดเตโเดธเต เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด.
เดเตเด
เดชเตเดกเตเดเดณเตเดเต เดคเดฟเดฐเดถเตเดเตเดจ เดเดเตเดเตเดธเตโเดเตเดฒเดฟเดเดเดฟเดจเต เดชเดเดฐเด, เดเดชเตเดชเตบ เดธเตเดดเตโเดธเต เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดเดชเตเดชเดฑเตเดฑเตเดฑเดฑเดพเดฏ เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดเดตเดจเตเดฑเต เดกเตเดฐเตเดตเตบ เดเดเตเดเตเดธเตโเดเตเดฒเดฟเดเดเต (เดเตเดเดกเดฟเด) เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต. เดเดตเดจเตเดฑเต-เดกเตเดฐเตเดตเต เดตเตผเดเตเดเต เดฒเตเดกเตเดเตพเดเตเดเต เดคเดเดธเตเดธเดฎเดฟเดฒเตเดฒเดพเดคเตเดค เดเดเตเดเตเดธเตโเดเตเดฒเดฟเดเดเต (เดชเตเดเตเดฏเด เดเตพเดชเตเดชเตเดเต/เดฎเตเดคเตฝ) เดจเตฝเดเตเดจเตเดจเดคเดฟเดจเต เดเดคเต เดนเตเดฑเดฟเดธเตเดฃเตเดเตฝ เดชเตเดกเต เดเดเตเดเตเดธเตโเดเตเดฏเดฟเดฒเดฑเตเดฎเดพเดฏเดฟ เดจเตเดฑเตเดฑเตเดตเต เดเดฏเดฟ เดธเดเดฏเตเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต. เดเตเดกเต เดเดตเดฟเดเต เดฒเดญเตเดฏเดฎเดพเดฃเต
เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต เดนเตเดฐเดธเตเดต เด เดตเดฒเตเดเดจเด
เดเดฒเตเดฒเดพเด เดเดเตเดเดจเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต เดเดจเตเดจเดคเดฟเดจเตเดฑเต เดเดฐเต เดนเตเดฐเดธเตเดต เดตเดฟเดตเดฐเดฃเด เดกเดฏเดเตเดฐเด เดเดพเดฃเดฟเดเตเดเตเดจเตเดจเต:
- เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดซเตเตผเดฎเดพเดฑเตเดฑเดฟเตฝ HTTP เดนเดฟเดฑเตเดฑเต เดเตเดฃเตเดเต เดฎเตเดเตเดฐเดฟเดเตเดธเต เดจเตฝเดเตเดจเตเดจเต.
- เด เด เดณเดตเตเดเตพ เดถเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตโเดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต.
- HTTP เดนเดฟเดฑเตเดฑเตเดเดณเตเดเต เดเดฃเตเดฃเดคเตเดคเต เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดธเตเดตเดฏเดฎเตเดต เดธเตเดเตเดฏเดฟเตฝ เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ KEDA-เดฏเดฟเดฒเต เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดธเตเดเตเดฏเดฟเดฒเตผ เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต.
เดเดชเตเดชเตเตพ เดเดพเตป เดเดฐเต เดเดเดเดคเตเดคเตเดเตเดเตเดฑเดฟเดเตเดเตเด เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เดชเดฑเดฏเดพเด.
เดเตเดเดกเดฟเดเดฏเตเด เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเตเด
เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดเดฐเต เดเดชเตเดชเตบ เดธเตเดดเตเดธเต เดธเดฟเดธเตเดฑเตเดฑเด เดฎเตเดฃเดฟเดฑเตเดฑเดฑเดฟเดเดเต เดเตปเดกเต เด
เดฒเตเตผเดเตเดเดฟเดเดเต เดเตเตพเดเดฟเดฑเตเดฑเต เดเดฃเต, เดญเดพเดเด
KEDA เดเดฐเต เดธเตเดเตเดฏเดฟเดฒเตผ เดเดจเตเดจ เดเดถเดฏเดคเตเดคเต เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเตเดจเตเดจเต - เดเดคเต KEDA เดฏเตเดเตเดเตเด เดฌเดพเดนเตเดฏ เดธเดเดตเดฟเดงเดพเดจเดคเตเดคเดฟเดจเตเด เดเดเดฏเดฟเดฒเตเดณเตเดณ เดเดฐเต เดชเดพเดฒเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต. เดธเตเดเตเดฏเดฟเดฒเตผ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตฝ เดเดฐเต เดเดพเตผเดเตเดฑเตเดฑเต เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเด เดชเตเดฐเดคเตเดฏเตเดเดฎเดพเดฃเต, เด เดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑ เดเดเตโเดธเตโเดเตเดฐเดพเดเตโเดฑเตเดฑเตเดเตเดฏเตเดฏเตเดจเตเดจเต. เดเดเตเดเตเดฎเดพเดฑเตเดฑเดฟเดเต เดธเตเดเตเดฏเดฟเดฒเดฟเดเดเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดเตเดเดพเตป KEDA เดชเดฟเดจเตเดจเตเดเต เด เดต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต.
เดธเตเดเตเดฏเดฟเดฒเดฑเตเดเตพ เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดกเดพเดฑเตเดฑ เดเดฑเดตเดฟเดเดเตเดเดณเต เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเตเดจเตเดจเต, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเดพเดซเตเด, เดฑเตเดกเดฟเดธเต, เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต. เด เดคเดพเดฏเดคเต, เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดฎเตเดเตเดฐเดฟเดเตโเดธเต เดฎเดพเดจเดฆเดฃเตเดกเดฎเดพเดฏเดฟ เดเดชเดฏเตเดเดฟเดเตเดเต เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดตเดฟเดจเตเดฏเดพเดธเดเตเดเตพ เดธเตเดตเดฏเดฎเตเดต เดธเตเดเตเดฏเดฟเตฝ เดเตเดฏเตเดฏเดพเตป KEDA เดเดชเดฏเตเดเดฟเดเตเดเดพเด.
เดเตเดธเตเดฑเตเดฑเต เดเดชเตเดฒเดฟเดเตเดเตเดทเตป
Golang เดเตเดธเตเดฑเตเดฑเต เดเดชเตเดฒเดฟเดเตเดเตเดทเตป HTTP เดตเดดเดฟ เดเดเตเดธเดธเต เดจเตฝเดเตเดเดฏเตเด เดฐเดฃเตเดเต เดชเตเดฐเดงเดพเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดจเดฟเตผเดตเดนเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต:
- เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดเตปเดธเตเดเตเดฐเตเดฎเตเดจเตเดฑเต เดเตเดฏเตเดฏเดพเดจเตเด เดนเดฟเดฑเตเดฑเต เดเตเดฃเตเดเต เด
เดเดเตเดเตเดจเตเดจ http_requests เดฎเตเดเตเดฐเดฟเดเต เดจเตฝเดเดพเดจเตเด Prometheus Go เดเตเดฒเดฏเดจเตเดฑเต เดฒเตเดฌเตเดฐเดฑเดฟ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต. เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดฎเตเดเตเดฐเดฟเดเตโเดธเต เดฒเดญเตเดฏเดฎเดพเดฏ เดเตปเดกเตโเดชเตเดฏเดฟเดจเตเดฑเต เดฏเตเดเตผเดเดฏเดฟเดฒเดพเดฃเต
/metrics
.var httpRequestsCounter = promauto.NewCounter(prometheus.CounterOpts{ Name: "http_requests", Help: "number of http requests", })
- เดเดฐเต เด
เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดเตเดเต เดฎเดฑเตเดชเดเดฟเดฏเดพเดฏเดฟ
GET
เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดเตเดฏเตเดเต เดฎเตเดฒเตเดฏเด เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต (access_count
) เดฑเตเดกเดฟเดธเดฟเตฝ. เดเดฐเต เดเดเตเดเตเดเดฟเดเดฟเดชเดฟ เดนเดพเตปเดกเตโเดฒเดฑเดฟเดจเตเดฑเต เดญเดพเดเดฎเดพเดฏเดฟ เดเตเดฒเดฟ เดเตเดฏเตเดฏเดพเดจเตเดณเตเดณ เดเดณเตเดชเตเดชเดตเดดเดฟเดฏเดพเดฃเดฟเดคเต, เดเตเดเดพเดคเต เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดฎเตเดเตเดฐเดฟเดเตโเดธเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด. เดฎเตเดเตเดฐเดฟเดเต เดฎเตเดฒเตเดฏเด เดฎเตเดฒเตเดฏเดคเตเดคเดฟเดจเต เดคเตเดฒเตเดฏเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเดฃเดaccess_count
เดฑเตเดกเดฟเดธเดฟเตฝ.func main() { http.Handle("/metrics", promhttp.Handler()) http.HandleFunc("/test", func(w http.ResponseWriter, r *http.Request) { defer httpRequestsCounter.Inc() count, err := client.Incr(redisCounterName).Result() if err != nil { fmt.Println("Unable to increment redis counter", err) os.Exit(1) } resp := "Accessed on " + time.Now().String() + "nAccess count " + strconv.Itoa(int(count)) w.Write([]byte(resp)) }) http.ListenAndServe(":8080", nil) }
เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดตเดดเดฟ เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต Deployment
. เดเดฐเต เดธเตเดตเดจเดตเตเด เดธเตเดทเตเดเดฟเดเตเดเดชเตเดชเตเดเตเดจเตเดจเต ClusterIP
, เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดฎเตเดเตเดฐเดฟเดเตโเดธเต เดฒเดญเดฟเดเตเดเดพเตป เดเดคเต เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดธเตเตผเดตเดฑเดฟเดจเต เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต.
เดเดตเดฟเดเต
เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดธเตเตผเดตเตผ
เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดตเดฟเดจเตเดฏเดพเดธ เดฎเดพเดจเดฟเดซเตเดธเตโเดฑเตเดฑเดฟเตฝ เดเดต เดเตพเดชเตเดชเตเดเตเดจเตเดจเต:
ConfigMap
- เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดเตเดฎเดพเดฑเดพเตป;Deployment
- เดเดฐเต เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดเตเดฒเดธเตเดฑเตเดฑเดฑเดฟเตฝ เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเดฟเดจเต เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเดพเตป;ClusterIP
- เดฏเตเด เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเดฟเดฒเตเดเตเดเตเดณเตเดณ เดชเตเดฐเดตเตเดถเดจเดคเตเดคเดฟเดจเตเดณเตเดณ เดธเตเดตเดจเด;ClusterRole
,ClusterRoleBinding
ะธServiceAccount
- เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเดฟเดฒเต เดธเตเดตเดจเดเตเดเตพ เดธเตเดตเดฏเดฎเตเดต เดเดฃเตเดเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเต (เดเดเตเดเต-เดเดฃเตเดเตเดคเตเดคเตฝ).
KEDA เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดธเตเดเตเดฒเตเดกเต เดเดฌเตเดเดเตเดฑเตเดฑเต
เดเตเดโเดกเดฟโเดเดฏเตเดเตเดเตเด เดฎเตเดเตเดฐเดฟเดเตโเดธเต เดฒเดญเดฟเดเตเดเตเดฃเตเด เดฌเดพเดนเตเดฏ เดธเดเดตเดฟเดงเดพเดจเดคเตเดคเดฟเดจเตเด เดเดเดฏเดฟเดฒเตเดณเตเดณ เดเดฐเต เดชเดพเดฒเดฎเดพเดฏเดฟ เดธเตเดเตเดฏเดฟเดฒเตผ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต. ScaledObject
เดเดตเดจเตเดฑเต เดเดฑเดตเดฟเดเดตเตเดฎเดพเดฏเดฟ เดตเดฟเดจเตเดฏเดพเดธเด เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเตเดฃเตเด เดเดฐเต เดเดทเตโเดเดพเดจเตเดธเตเดค เดเดฑเดตเดฟเดเดฎเดพเดฃเต, เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต.
ScaledObject
เดตเดฟเดจเตเดฏเดพเดธ เดธเตเดเตเดฏเดฟเดฒเดฟเดเดเต เดตเดฟเดตเดฐเดเตเดเตพ, เดเดตเดจเตเดฑเต เดเดฑเดตเดฟเด เดฎเตเดฑเตเดฑเดพเดกเดพเดฑเตเดฑ (เดเดฃเดเตเดทเตป เดฐเดนเดธเตเดฏเดเตเดเตพ, เดเตเดฏเต เดจเดพเดฎเด เดชเตเดฒเตเดณเตเดณเดต), เดชเตเดณเดฟเดเดเต เดเดเดตเตเดณ, เดตเตเดฃเตเดเตเดเตเดเตเดเตฝ เดเดพเดฒเดฏเดณเดตเต, เดฎเดฑเตเดฑเต เดกเดพเดฑเตเดฑ เดเดจเตเดจเดฟเดต เด
เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต. เดเดคเต เดตเดฟเดจเตเดฏเดพเดธเด เดธเตเดเตเดฏเดฟเตฝ เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เด
เดจเตเดฌเดจเตเดง เดเดเตเดเตเดธเตโเดเตเดฒเดฟเดเดเต เดฑเดฟเดธเตเดดเตโเดธเดฟเตฝ (HPA เดจเดฟเตผเดตเดเดจเด) เดเดพเดฐเดฃเดฎเดพเดเตเดจเตเดจเต.
เดเดฐเต เดตเดธเตเดคเต เดเดชเตเดชเตเตพ ScaledObject
เดเดฒเตเดฒเดพเดคเดพเดเตเดเดฟ, เด
เดจเตเดฌเดจเตเดง HPA เดจเดฟเตผเดตเดเดจเด เดฎเดพเดฏเตโเดเตเดเต.
เดจเดฟเตผเดตเดเดจเด เดเดคเดพ ScaledObject
เดเดเตเดเดณเตเดเต เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ, เดเดคเต เดเดฐเต เดธเตเดเตเดฏเดฟเดฒเตผ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต Prometheus
:
apiVersion: keda.k8s.io/v1alpha1
kind: ScaledObject
metadata:
name: prometheus-scaledobject
namespace: default
labels:
deploymentName: go-prom-app
spec:
scaleTargetRef:
deploymentName: go-prom-app
pollingInterval: 15
cooldownPeriod: 30
minReplicaCount: 1
maxReplicaCount: 10
triggers:
- type: prometheus
metadata:
serverAddress:
http://prometheus-service.default.svc.cluster.local:9090
metricName: access_frequency
threshold: '3'
query: sum(rate(http_requests[2m]))
เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดชเตเดฏเดฟเดจเตเดฑเตเดเตพ เดชเดฐเดฟเดเดฃเดฟเดเตเดเตเด:
- เด
เดฆเตเดฆเตเดนเด เดเตเดฃเตเดเดฟเดเตเดเดพเดเตเดเตเดจเตเดจเต
Deployment
เดชเตเดฐเดฟเดจเตเดชเตเดชเดgo-prom-app
. - เดเตเดฐเดฟเดเตผ เดคเดฐเด -
Prometheus
. เดฎเตเดเตเดฐเดฟเดเต เดจเดพเดฎเด, เดชเดฐเดฟเดงเดฟ เดเดจเตเดจเดฟเดตเดฏเตโเดเตเดเตเดชเตเดชเด เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดธเตเตผเดตเตผ เดตเดฟเดฒเดพเดธเด เดธเตเดเดฟเดชเตเดชเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเตPromQL เด เดจเตเดตเตเดทเดฃเด , เดเดคเต เดเดชเดฏเตเดเดฟเดเตเดเตเด. PromQL เดเตเดฆเตเดฏเด -sum(rate(http_requests[2m]))
. - เดชเดฑเดฏเตเดจเตเดจเต
pollingInterval
, KEDA เดเดฐเต เดชเดคเดฟเดจเดเตเดเต เดธเตเดเตเดเตปเดกเดฟเดฒเตเด เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฐเต เดเดพเตผเดเตเดฑเตเดฑเต เด เดญเตเดฏเตผเดคเตเดฅเดฟเดเตเดเตเดจเตเดจเต. เดเตเดฑเดเตเดเดคเต เดเดฐเตเดฃเตเดฃเดฎเตเดเตเดเดฟเดฒเตเด (minReplicaCount
), เดเตเดเดพเดคเต เดชเดฐเดฎเดพเดตเดงเดฟ เดเดฃเตเดฃเด เดเดพเดฏเตเดเตพ เดเดตเดฟเดฏเดฐเตเดคเตmaxReplicaCount
(เด เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ - เดชเดคเตเดคเต).
เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเดพเด minReplicaCount
เดชเตเดเตเดฏเดคเตเดคเดฟเดจเต เดคเตเดฒเตเดฏเด. เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดเตโเดโเดกเดฟโเด เดธเตเดฑเต-เดเต-เดตเตบ เดตเดฟเดจเตเดฏเดพเดธเด เดธเดเตเดตเดฎเดพเดเตเดเตเดเดฏเตเด เดคเตเดเตผเดจเตเดจเต เดเตเดเตเดคเตฝ เดเดเตเดเตเดฎเดพเดฑเตเดฑเดฟเดเต เดธเตโเดเตเดฏเดฟเดฒเดฟเดเดเดฟเดจเดพเดฏเดฟ เดเดเตเดเตโเดชเดฟโเด เดตเตเดณเดฟเดชเตเดชเตเดเตเดคเตเดคเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต. เดตเดฟเดชเดฐเตเดค เดเตเดฐเดฎเดตเตเด เดธเดพเดงเตเดฏเดฎเดพเดฃเต, เด
เดคเดพเดฏเดคเต เดเดจเตเดจเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเตเดเตเดฏเดคเตเดคเดฟเดฒเตเดเตเดเต เดธเตเดเตเดฏเดฟเดฒเดฟเดเดเต. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ, เดเดเตเดเตพ เดชเตเดเตเดฏเด เดคเดฟเดฐเดเตเดเตเดเตเดคเตเดคเดฟเดฒเตเดฒ, เดเดพเดฐเดฃเด เดเดคเตเดฐเต HTTP เดธเตเดตเดจเดฎเดพเดฃเต, เดเดฐเต เดเตบ-เดกเดฟเดฎเดพเตปเดกเต เดธเดฟเดธเตเดฑเตเดฑเด เด
เดฒเตเดฒ.
เดเดเตเดเตเดธเตโเดเตเดฒเดฟเดเดเดฟเดจเตเดณเตเดณเดฟเดฒเต เดฎเดพเดจเตเดคเตเดฐเดฟเดเดค
เดตเดฟเดจเตเดฏเดพเดธเด เด
เดณเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดเตเดฐเดฟเดเดฑเดพเดฏเดฟ เดคเตเดฐเตเดทเตเตพเดกเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต. เดเดเตเดเดณเตเดเต เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ, PromQL เดเตเดฆเตเดฏเด sum(rate (http_requests [2m]))
เดเดดเดฟเดเตเด เดฐเดฃเตเดเต เดฎเดฟเดจเดฟเดฑเตเดฑเดฟเตฝ เดเดฃเดเตเดเดพเดเตเดเดฟเดฏ เดฎเตเดคเตเดคเด HTTP เด
เดญเตเดฏเตผเดคเตเดฅเดจ เดจเดฟเดฐเดเตเดเต (เดธเตเดเตเดเตปเดกเดฟเดฒเต เด
เดญเตเดฏเตผเดคเตเดฅเดจเดเตพ) เดจเตฝเดเตเดจเตเดจเต.
เดคเตเดฐเตเดทเตเตพเดกเต เดฎเตเดฒเตเดฏเด เดฎเตเดจเตเดจเต เดเดฏเดคเดฟเดจเดพเตฝ, เดฎเตเดฒเตเดฏเดคเตเดคเดฟเดจเต เดเตเดดเดฟเตฝ เดเดจเตเดจเต เดเดฃเตเดเดพเดฏเดฟเดฐเดฟเดเตเดเตเด เดเดจเตเดจเดพเดฃเต เดเดคเดฟเดจเตผเดคเตเดฅเด sum(rate (http_requests [2m]))
เดฎเตเดจเตเดจเดฟเตฝ เดคเดพเดดเต. เดฎเตเดฒเตเดฏเด เดตเตผเดฆเตเดงเดฟเดเตเดเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เดเดฐเต เดคเดตเดฃเดฏเตเด เดเดฐเต เด
เดงเดฟเด เดธเดฌเต เดเตเตผเดเตเดเตเดจเตเดจเต sum(rate (http_requests [2m]))
เดฎเตเดจเตเดจเดพเดฏเดฟ เดตเตผเดฆเตเดงเดฟเดเตเดเตเดจเตเดจเต. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดฎเตเดฒเตเดฏเด 12 เดฎเตเดคเตฝ 14 เดตเดฐเตเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เดชเตเดกเตเดเดณเตเดเต เดเดฃเตเดฃเด เดจเดพเดฒเดพเดฃเต.
เดเดชเตเดชเตเตพ เดจเดฎเตเดเตเดเต เด เดคเต เดธเดเตเดเตเดเดฐเดฟเดเตเดเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเดพเด!
เดฎเตเตปเดเตเดเตเดเดฟ เดเตเดฐเดฎเตเดเดฐเดฃเด
เดจเดฟเดเตเดเตพเดเตเดเต เดตเตเดฃเตเดเดคเต เดเดฐเต เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดเตเดฒเดธเตเดฑเตเดฑเดฑเตเด เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตเดค เดฏเตเดเตเดเดฟเดฒเดฟเดฑเตเดฑเดฟเดฏเตเดฎเดพเดฃเต kubectl
. เด เดเดฆเดพเดนเดฐเดฃเด เดเดฐเต เดเตเดฒเดธเตเดฑเตเดฑเตผ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต minikube
, เดเดจเตเดจเดพเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เดฎเดฑเตเดฑเตเดคเตเดเตเดเดฟเดฒเตเด เดเดเตเดเตเดเดพเด. เดเดฐเต เดเตเดฒเดธเตเดฑเตเดฑเตผ เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเดพเตป เดเดฃเตเดเต
Mac-เตฝ เดเดฑเตเดฑเดตเตเด เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเต เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเตเด:
curl -Lo minikube
https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
&& chmod +x minikube
sudo mkdir -p /usr/local/bin/
sudo install minikube /usr/local/bin/
เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเตเด
Mac-เตฝ เดเดฑเตเดฑเดตเตเด เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเต เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเตเด:
curl -LO
"https://storage.googleapis.com/kubernetes-release/release/$(curl -s
https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl"
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
kubectl version
KEDA เดเตปเดธเตเดฑเตเดฑเดพเดณเตเดทเตป
เดจเดฟเดเตเดเตพเดเตเดเต เดชเดฒ เดคเดฐเดคเตเดคเดฟเตฝ KEDA เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเดพเด, เด
เดต เดชเดเตเดเดฟเดเดชเตเดชเตเดเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต
kubectl apply -f
https://raw.githubusercontent.com/kedacore/keda/master/deploy/KedaScaleController.yaml
เดเตเดโเดกเดฟโเดเดฏเตเด เด
เดคเดฟเดจเตเดฑเต เดเดเดเดเตเดเดณเตเด เดจเตเดฏเดฟเดเดธเตโเดชเตเดฏเตโเดธเดฟเตฝ เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดคเดฟเดเตเดเตเดฃเตเดเต keda
. เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเดพเดจเตเดณเตเดณ เดเดฎเดพเตปเดกเต:
kubectl get pods -n keda
KEDA เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ เดเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดเดพเดคเตเดคเดฟเดฐเดฟเดเตเดเตเด, เด
เดคเดฟเดฒเตเดเตเดเต เดชเตเดเตเด Running State
. เด
เดคเดฟเดจเตเดถเตเดทเด, เดคเตเดเดฐเตเด.
เดนเตเตฝเด เดเดชเดฏเตเดเดฟเดเตเดเต เดฑเตเดกเดฟเดธเต เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเตเดจเตเดจเต
เดจเดฟเดเตเดเตพ เดนเตเตฝเด เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดคเดฟเดเตเดเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดเดคเต เดเดชเดฏเตเดเดฟเดเตเดเตเด
brew install kubernetes-helm
helm init --history-max 200
helm init
เดฒเตเดเตเดเตฝ เดเดฎเดพเตปเดกเต เดฒเตเตป เดเดจเตเดฑเตผเดซเตเดธเต เดเดฐเดเดญเดฟเดเตเดเตเดเดฏเตเด เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต Tiller
เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดเตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดฒเตเดเตเดเต.
kubectl get pods -n kube-system | grep tiller
เดเดฟเดฒเตเดฒเตผ เดชเตเดกเต เดฑเดฃเตเดฃเดฟเดเดเต เด เดตเดธเตเดฅเดฏเดฟเดฒเตเดเตเดเต เดชเตเดฐเดตเตเดถเดฟเดเตเดเตเดจเตเดจเดคเต เดตเดฐเต เดเดพเดคเตเดคเดฟเดฐเดฟเดเตเดเตเด.
เดตเดฟเดตเตผเดคเตเดคเดเดจเตเดฑเต เดเตเดฑเดฟเดชเตเดชเต: เดฐเดเดฏเดฟเดคเดพเดตเต Helm@2 เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต, เดเดคเดฟเดจเต เดเดฟเดฒเตเดฒเตผ เดธเตเตผเดตเตผ เดเดเดเด เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเตเดฃเตเดเดคเตเดฃเตเดเต. เดเดชเตเดชเตเตพ Helm@3 เดชเตเดฐเดธเดเตเดคเดฎเดพเดฃเต, เด เดคเดฟเดจเต เดเดฐเต เดธเตเตผเดตเตผ เดญเดพเดเด เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ.
Helm เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดค เดถเตเดทเด, Redis เดเดฐเดเดญเดฟเดเตเดเดพเตป เดเดฐเต เดเดฎเดพเตปเดกเต เดฎเดคเดฟ:
helm install --name redis-server --set cluster.enabled=false --set
usePassword=false stable/redis
Redis เดตเดฟเดเดฏเดเดฐเดฎเดพเดฏเดฟ เดเดฐเดเดญเดฟเดเตเดเตเดตเตเดจเตเดจเต เดธเตเดฅเดฟเดฐเตเดเดฐเดฟเดเตเดเตเด:
kubectl get pods/redis-server-master-0
เดฑเตเดกเดฟเดธเต เดธเดเดธเตเดฅเดพเดจเดคเตเดคเตเดเตเดเต เดชเตเดเตเดจเตเดจเดคเตเดตเดฐเต เดเดพเดคเตเดคเดฟเดฐเดฟเดเตเดเตเด Running
.
เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดตเดฟเดจเตเดฏเดพเดธเด
เดตเดฟเดจเตเดฏเดพเดธ เดเดฎเดพเตปเดกเต:
kubectl apply -f go-app.yaml
//output
deployment.apps/go-prom-app created
service/go-prom-app-service created
เดเดฒเตเดฒเดพเด เดเดฐเดเดญเดฟเดเตเดเดฟเดเตเดเตเดฃเตเดเตเดฏเตเดจเตเดจเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด:
kubectl get pods -l=app=go-prom-app
เดฑเตเดกเดฟเดธเต เดธเดเดธเตเดฅเดพเดจเดคเตเดคเต เดชเตเดฐเดตเตเดถเดฟเดเตเดเตเดจเตเดจเดคเต เดตเดฐเต เดเดพเดคเตเดคเดฟเดฐเดฟเดเตเดเตเด Running
.
เดเดฐเต เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดธเตเตผเดตเตผ เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเตเดจเตเดจเต
เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดฎเดพเดจเดฟเดซเตเดธเตเดฑเตเดฑเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต
kubernetes_sd_configs:
- role: service
relabel_configs:
- source_labels: [__meta_kubernetes_service_label_run]
regex: go-prom-app-service
action: keep
เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเดพเตป:
kubectl apply -f prometheus.yaml
//output
clusterrole.rbac.authorization.k8s.io/prometheus created
serviceaccount/default configured
clusterrolebinding.rbac.authorization.k8s.io/prometheus created
configmap/prom-conf created
deployment.extensions/prometheus-deployment created
service/prometheus-service created
เดเดฒเตเดฒเดพเด เดเดฐเดเดญเดฟเดเตเดเดฟเดเตเดเตเดฃเตเดเตเดฏเตเดจเตเดจเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด:
kubectl get pods -l=app=prometheus-server
เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดธเดเดธเตเดฅเดพเดจเดคเตเดคเดฟเดฒเตเดเตเดเต เดชเตเดเตเดจเตเดจเดคเต เดตเดฐเต เดเดพเดคเตเดคเดฟเดฐเดฟเดเตเดเตเด Running
.
เดเดชเดฏเตเดเดฟเดเตเดเตเด kubectl port-forward
เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดเดชเดฏเตเดเตเดคเต เดเดจเตเดฑเตผเดซเตเดธเต (เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ API เดธเตเตผเดตเตผ) เดเดเตเดธเดธเต เดเตเดฏเตเดฏเดพเตป
kubectl port-forward service/prometheus-service 9090
KEDA เดเดเตเดเตเดธเตโเดเตเดฒเดฟเดเดเต เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดตเดฟเดจเตเดฏเดธเดฟเดเตเดเตเดจเตเดจเต
เดธเตเดทเตเดเดฟเดเตเดเดพเดจเตเดณเตเดณ เดเดฎเดพเตปเดกเต ScaledObject
:
kubectl apply -f keda-prometheus-scaledobject.yaml
KEDA เดเดชเตเดชเดฑเตเดฑเตเดฑเตผ เดฒเตเดเตเดเตพ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด:
KEDA_POD_NAME=$(kubectl get pods -n keda
-o=jsonpath='{.items[0].metadata.name}')
kubectl logs $KEDA_POD_NAME -n keda
เดซเดฒเด เดเดคเตเดชเตเดฒเต เดเดพเดฃเดชเตเดชเตเดเตเดจเตเดจเต:
time="2019-10-15T09:38:28Z" level=info msg="Watching ScaledObject:
default/prometheus-scaledobject"
time="2019-10-15T09:38:28Z" level=info msg="Created HPA with
namespace default and name keda-hpa-go-prom-app"
เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพเดเตเดเต เดเตเดดเดฟเตฝ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด. เดเดพเดฐเดฃเด เดเดฐเต เดเดฆเดพเดนเดฐเดฃเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดฃเด minReplicaCount
เดคเตเดฒเตเดฏเด 1:
kubectl get pods -l=app=go-prom-app
HPA เดฑเดฟเดธเตเดดเตโเดธเต เดตเดฟเดเดฏเดเดฐเดฎเดพเดฏเดฟ เดธเตเดทเตโเดเดฟเดเตเดเดฟเดเตเดเตเดฃเตเดเตเดฏเตเดจเตเดจเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด:
kubectl get hpa
เดจเดฟเดเตเดเตพ เดเดคเตเดชเตเดฒเตเดณเตเดณ เดเดจเตเดจเต เดเดพเดฃเดฃเด:
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
keda-hpa-go-prom-app Deployment/go-prom-app 0/3 (avg) 1 10 1 45s
เดเดฐเตเดเตเดฏ เดชเดฐเดฟเดถเตเดงเดจ: เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดเดเตเดธเดธเต
เดเดเตเดเดณเตเดเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดฑเต REST เดเตปเดกเตโเดชเตเดฏเดฟเดจเตเดฑเต เดเดเตโเดธเดธเต เดเตเดฏเตเดฏเดพเตป, เดฑเตบ เดเตเดฏเตเดฏเตเด:
kubectl port-forward service/go-prom-app-service 8080
เดตเดฟเดฒเดพเดธเด เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดชเตเดชเตเตพ Go เดเดชเตเดชเต เดเดเตโเดธเดธเต เดเตเดฏเตเดฏเดพเด
curl http://localhost:8080/test
เดซเดฒเด เดเดคเตเดชเตเดฒเต เดเดพเดฃเดชเตเดชเตเดเตเดจเตเดจเต:
Accessed on 2019-10-21 11:29:10.560385986 +0000 UTC
m=+406004.817901246
Access count 1
เด เด
เดตเดธเดฐเดคเตเดคเดฟเตฝ เดฑเตเดกเดฟเดธเตเด เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด. เดคเดพเดเตเดเตเตฝ เดจเดฟเดเตเดเตพ เดเดพเดฃเตเด access_count
1 เดเดฏเดฟ เดตเตผเดฆเตเดงเดฟเดเตเดเต:
kubectl exec -it redis-server-master-0 -- redis-cli get access_count
//output
"1"
เดฎเตเดเตเดฐเดฟเดเต เดฎเตเดฒเตเดฏเด เดเดฑเดชเตเดชเดพเดเตเดเตเด http_requests
เด
เดคเตเดคเดจเตเดจเต:
curl http://localhost:8080/metrics | grep http_requests
//output
# HELP http_requests number of http requests
# TYPE http_requests counter
http_requests 1
เดฒเตเดกเต เดธเตเดทเตเดเดฟเดเตเดเตฝ
เดเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเด
curl -o hey https://storage.googleapis.com/hey-release/hey_darwin_amd64
&& chmod a+x hey
เดเดจเตเดจเดคเดฟเดจเดพเดฏเตเดณเตเดณ เดฏเตเดเตเดเดฟเดฒเดฟเดฑเตเดฑเดฟ เดจเดฟเดเตเดเตพเดเตเดเต เดกเตเตบเดฒเตเดกเต เดเตเดฏเตเดฏเดพเดจเตเด เดเดดเดฟเดฏเตเด
เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเต:
./hey http://localhost:8080/test
เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ, เดฏเตเดเตเดเดฟเดฒเดฟเดฑเตเดฑเดฟ 200 เด เดญเตเดฏเตผเดคเตเดฅเดจเดเตพ เด เดฏเดฏเตเดเตเดเตเดจเตเดจเต. เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดฎเตเดเตเดฐเดฟเดเตโเดธเตเด เดฑเตเดกเดฟเดธเตเด เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเดเตเดเตพเดเตเดเต เดเดคเต เดธเตเดฅเดฟเดฐเตเดเดฐเดฟเดเตเดเดพเดจเดพเดเตเด.
curl http://localhost:8080/metrics | grep http_requests
//output
# HELP http_requests number of http requests
# TYPE http_requests counter
http_requests 201
kubectl exec -it redis-server-master-0 -- redis-cli get access_count
//output
201
เดฏเดฅเดพเตผเดคเตเดฅ เดฎเตเดเตเดฐเดฟเดเตเดเดฟเดจเตเดฑเต เดฎเตเดฒเตเดฏเด เดธเดพเดงเตเดเดฐเดฟเดเตเดเตเด (เดชเตเดฐเตเดเดเตเดฏเตเดเตฝ เดเตเดฆเตเดฏเด เดคเดฟเดฐเดฟเดเตเดเดฏเดเตเดเดคเต):
curl -g
'http://localhost:9090/api/v1/query?query=sum(rate(http_requests[2m]))'
//output
{"status":"success","data":{"resultType":"vector","result":[{"metric":{},"value":[1571734214.228,"1.686057971014493"]}]}}
เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดฏเดฅเดพเตผเดคเตเดฅ เดซเดฒเด 1,686057971014493
เดซเตเตฝเดกเดฟเตฝ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต value
. เดธเตเดเตเดฏเดฟเดฒเดฟเดเดเดฟเดจเต เดเดคเต เดชเดฐเตเดฏเดพเดชเตเดคเดฎเดฒเตเดฒ, เดเดพเดฐเดฃเด เดเดเตเดเตพ เดธเดเตเดเดฎเดพเดเตเดเดฟเดฏ เดชเดฐเดฟเดงเดฟ 3 เดเดฃเต.
เดเตเดเตเดคเตฝ เดฒเตเดกเต!
เดชเตเดคเดฟเดฏ เดเตเตผเดฎเดฟเดจเดฒเดฟเตฝ, เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดชเตเดกเตเดเดณเตเดเต เดเดฃเตเดฃเด เดจเดฟเดฐเตเดเตเดทเดฟเดเตเดเตเด:
kubectl get pods -l=app=go-prom-app -w
เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฎเตเดเตเดเต เดฒเตเดกเต เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเดเตเดเดพเด:
./hey -n 2000 http://localhost:8080/test
เดเตเดฑเดเตเดเต เดธเดฎเดฏเดคเตเดคเดฟเดจเต เดถเตเดทเด, HPA เดตเดฟเดจเตเดฏเดพเดธเด เดธเตเดเตเดฏเดฟเตฝ เดเตเดฏเตเดฏเตเดจเตเดจเดคเตเด เดชเตเดคเดฟเดฏ เดชเตเดกเตเดเตพ เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเดคเตเด เดจเดฟเดเตเดเตพ เดเดพเดฃเตเด. เดเดฑเดชเตเดชเดพเดเตเดเดพเตป เดจเดฟเดเตเดเดณเตเดเต HPA เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด:
kubectl get hpa
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
keda-hpa-go-prom-app Deployment/go-prom-app 1830m/3 (avg) 1 10 6 4m22s
เดฒเตเดกเต เดธเตเดฅเดฟเดฐเดคเดฏเดฟเดฒเตเดฒเดพเดคเตเดคเดคเดพเดฃเตเดเตเดเดฟเตฝ, เดเดฐเต เดชเตเดกเต เดฎเดพเดคเตเดฐเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดฟเดเดคเตเดคเตเดเตเดเต เดตเดฟเดจเตเดฏเดพเดธเด เดเตเดฑเดฏเตเด. เดจเดฟเดเตเดเตพเดเตเดเต เดฏเดฅเดพเตผเดคเตเดฅ เดฎเตเดเตเดฐเดฟเดเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเดฃเดฎเตเดเตเดเดฟเตฝ (เดชเตเดฐเตเดเดเตเดฏเตเดเตฝ เด เดจเตเดตเตเดทเดฃเด เดคเดฟเดฐเดฟเดเต เดจเตฝเดเดฟ), เดคเตเดเตผเดจเตเดจเต เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเตเด:
curl -g
'http://localhost:9090/api/v1/query?query=sum(rate(http_requests[2m]))'
เดตเตเดคเตเดคเดฟเดฏเดพเดเตเดเตฝ
//Delete KEDA
kubectl delete namespace keda
//Delete the app, Prometheus server and KEDA scaled object
kubectl delete -f .
//Delete Redis
helm del --purge redis-server
เดคเตเดฐเตเดฎเดพเดจเด
เดฌเดพเดนเตเดฏ เดฎเตเดเตเดฐเดฟเดเตเดเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดกเดพเดฑเตเดฑเดฏเต เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ เดจเดฟเดเตเดเดณเตเดเต เดเตเดฌเตผเดจเตเดฑเตเดฑเดธเต เดตเดฟเดจเตเดฏเดพเดธเดเตเดเตพ (เดชเตเดเตเดฏเด เดตเดฐเต/เดจเดฟเดจเตเดจเต) เดธเตเดตเดฏเดฎเตเดต เดธเตเดเตเดฏเดฟเตฝ เดเตเดฏเตเดฏเดพเตป KEDA เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดชเตเดฐเตเดฎเดฟเดคเตเดฏเตเดธเต เดฎเตเดเตเดฐเดฟเดเตโเดธเต, เดฑเตเดกเดฟเดธเดฟเดฒเต เดเตเดฏเต เดฆเตเตผเดเตเดฏเด, เดเดพเดซเตเด เดตเดฟเดทเดฏเดคเตเดคเดฟเดฒเต เดเดชเดญเตเดเตเดคเต เดฒเตเดฑเตเดฑเตปเดธเดฟ เดเดจเตเดจเดฟเดตเดฏเต เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ.
เดเตโเดโเดกเดฟโเด เดเดฐเต เดฌเดพเดนเตเดฏ เดเดฑเดตเดฟเดเดตเตเดฎเดพเดฏเดฟ เดธเดเดฏเตเดเดฟเดชเตเดชเดฟเดเตเดเตเดเดฏเตเด เด เดคเดฟเดจเตเดฑเต เดฎเตเดเตเดฐเดฟเดเตโเดธเต เดฎเตเดเตเดฐเดฟเดเตโเดธเต เดธเตเตผเดตเตผ เดตเดดเดฟ เดนเตเดฑเดฟเดธเตเดฃเตเดเตฝ เดชเตเดกเต เดเดเตเดเตเดธเตโเดเตเดฒเดฑเดฟเดฒเตเดเตเดเต เดจเตฝเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
เดเตเดกเต เดฒเดเตเดเต!
เดฎเดฑเตเดฑเตเดจเตเดคเดพเดฃเต เดตเดพเดฏเดฟเดเตเดเตเดฃเตเดเดคเต:
เดเตฝเดชเตเดชเดพเดฆเดจ เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเดฟเตฝ เดเดฃเตเดเตเดฏเตโเดจเดฑเตเดเดณเตเด เดเตเดฌเตผเดจเตเดฑเตเดฑเตเดเดณเตเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฎเดฟเดเดเตเด เดฐเตเดคเดฟเดเดณเตเด เดฎเดฟเดเดเตเด เดฐเตเดคเดฟเดเดณเตเด .90+ เดเตเดฌเตผเดจเตเดฑเตเดฑเตเดเตพเดเตเดเตเดณเตเดณ เดเดชเดฏเตเดเดชเตเดฐเดฆเดฎเดพเดฏ เดเดชเดเดฐเดฃเดเตเดเตพ: เดตเดฟเดจเตเดฏเดพเดธเด, เดฎเดพเดจเตเดเตเดฎเตเดจเตเดฑเต, เดจเดฟเดฐเตเดเตเดทเดฃเด, เดธเตเดฐเดเตเดท เดเดจเตเดจเดฟเดตเดฏเตเด เด เดคเดฟเดฒเตเดฑเตเดฏเตเด .เดเตเดฒเดฟเดเตเดฐเดพเดฎเดฟเดฒเต เดเดเตเดเดณเตเดเต เดเดพเดจเตฝ เดเตเดฌเตเตผเดจเตเดฑเตเดฑเดธเดฟเดจเต เดเตเดฑเตเดฑเตเด .
เด เดตเดฒเดเดฌเด: www.habr.com