เจเจฒเจพเจเจก เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจฒเจ เจฎเจพเจชเจฏเฉเจเจคเจพ เจเฉฑเจ เจฎเฉเฉฑเจ เจฒเฉเฉ เจนเฉเฅค เจเฉเจฌเจฐเจจเฉเจเจธ เจฆเฉ เจจเจพเจฒ, เจเฉฑเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจธเจเฉเจฒ เจเจฐเจจเจพ เจเจเจฟเจค เจคเฉเจจเจพเจคเฉ เจฒเจ เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉเจเจ เจฆเฉ เจเจฟเจฃเจคเฉ เจตเจงเจพเจเจฃ เจเจฟเฉฐเจจเจพ เจธเฉเจเจพ เจนเฉ เจเจพเจ ReplicaSet
- เจชเจฐ เจเจน เจเฉฑเจ เจฆเจธเจคเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจนเฉเฅค
เจเฉเจฌเจฐเจจเฉเจเจธ เจเจชเจฒเฉเจเฉเจธเจผเจจเจพเจ เจจเฉเฉฐ เจธเจตเฉเจเจฒเจฟเจค เจคเฉเจฐ 'เจคเฉ เจธเจเฉเจฒ เจเฉเจคเฉ เจเจพเจฃ เจฆเฉ เจเจเจพเจเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉ (เจเจฟเจตเฉเจ เจเจฟ เจคเฉเจจเจพเจคเฉ เจตเจฟเฉฑเจ เจชเฉเจก เจเจพเจ ReplicaSet
) เจนเจฐเฉเจเจผเจเจฒ เจชเฉเจก เจเจเฉเจธเจเฉเจฒเจฐ เจจเจฟเจฐเจงเจพเจฐเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจเฉเจธเจผเจฃเจพเจคเจฎเจ เจขเฉฐเจ เจจเจพเจฒเฅค เจเจเฉเจฎเฉเจเจฟเจ เจธเจเฉเจฒเจฟเฉฐเจ เจฒเจ เจกเจฟเจซเฉเจฒเจ เจฎเจพเจชเจฆเฉฐเจก CPU เจตเจฐเจคเฉเจ เจฎเฉเจเฉเจฐเจฟเจเจธ (เจธเจฐเฉเจค เจฎเฉเจเฉเจฐเจฟเจเจธ) เจนเฉ, เจชเจฐ เจคเฉเจธเฉเจ เจเจธเจเจฎ เจ
เจคเฉ เจฌเจพเจนเจฐเฉ เจคเฉเจฐ 'เจคเฉ เจชเฉเจฐเจฆเจพเจจ เจเฉเจคเฉ เจฎเฉเจเฉเจฐเจฟเจเจธ เจจเฉเฉฐ เจเจเฉเจเฉเจฐเจฟเจค เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค
เจฆเฉ เจเฉเจฎ
เจชเฉเจกเจพเจ เจฆเฉ เจนเจฐเฉเจเฉฑเจเจฒ เจเจเฉเจธเจเฉเจฒเจฟเฉฐเจ เจฆเฉ เจฌเจเจพเจ, เจเฉเจฌเจฐเจจเฉเจเจธ เจเจตเฉเจเจ เจกเจฐเจพเจเจต เจเจเฉเจธเจเฉเจฒเจฟเฉฐเจ (เจเฉเจเจกเฉเจ) เจฆเฉ เจตเจฐเจคเฉเจ เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ, เจเฉฑเจ เจเจชเจจ เจธเฉเจฐเจธ เจเฉเจฌเจฐเจจเฉเจเจธ เจเจชเจฐเฉเจเจฐเฅค เจเจน เจเจตเฉเจเจ-เจธเฉฐเจเจพเจฒเจฟเจค เจตเจฐเจเจฒเฉเจกเจพเจ เจฒเจ เจธเจนเจฟเจ เจเจเฉเจธเจเฉเจฒเจฟเฉฐเจ (เจเจผเฉเจฐเฉ เจคเฉเจ/เจเจผเฉเจฐเฉ เจธเจฎเฉเจค) เจชเฉเจฐเจฆเจพเจจ เจเจฐเจจ เจฒเจ เจนเจฐเฉเจเจผเฉเจเจเจฒ เจชเฉเจก เจเจเฉเจธเจเฉเจฒเจฐ เจจเจพเจฒ เจฎเฉเจฒ เจฐเฉเจช เจตเจฟเฉฑเจ เจเจเฉเจเฉเจฐเจฟเจค เจนเฉเฅค เจเฉเจก 'เจคเฉ เจเจชเจฒเจฌเจง เจนเฉ
เจธเจฟเจธเจเจฎ เจฆเฉ เจธเฉฐเจเฉเจช เจเจพเจฃเจเจพเจฐเฉ
เจเจฟเฉฑเจคเจฐ เจเจธ เจเฉฑเจฒ เจฆเจพ เจธเฉฐเจเฉเจช เจตเจฐเจฃเจจ เจฆเจฟเจเจพเจเจเจฆเจพ เจนเฉ เจเจฟ เจธเจญ เจเฉเจ เจเจฟเจตเฉเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ:
- เจเจชเจฒเฉเจเฉเจธเจผเจจ เจชเฉเจฐเฉเจฎเฉเจฅเฉเจ เจธ เจซเจพเจฐเจฎเฉเจ เจตเจฟเฉฑเจ HTTP เจนเจฟเฉฑเจ เจเจพเจเจเจ เจฎเฉเจเฉเจฐเจฟเจเจธ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเฉ เจนเฉเฅค
- เจชเฉเจฐเฉเจฎเฉเจฅเฉเจ เจธ เจจเฉเฉฐ เจเจนเจจเจพเจ เจฎเฉเจเฉเจฐเจฟเจเจธ เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเจฐเจจ เจฒเจ เจธเฉฐเจฐเจเจฟเจค เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค
- เจเฉเจกเจพ เจตเจฟเฉฑเจ เจชเฉเจฐเฉเจฎเฉเจฅเฉเจ เจธ เจธเจเฉเจฒเจฐ เจจเฉเฉฐ HTTP เจนเจฟเฉฑเจเจพเจ เจฆเฉ เจธเฉฐเจเจฟเจ เจฆเฉ เจ เจงเจพเจฐ เจคเฉ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจเจชเจฃเฉ เจเจช เจธเจเฉเจฒ เจเจฐเจจ เจฒเจ เจเฉเจเจซเจฟเจเจฐ เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค
เจนเฉเจฃ เจฎเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจนเจฐเฉเจ เจคเฉฑเจค เจฌเจพเจฐเฉ เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจ เจฆเฉฑเจธเจพเจเจเจพเฅค
เจเฉเจกเจพ เจ เจคเฉ เจชเฉเจฐเฉเจฎเฉเจฅเฉเจ เจธ
เจชเฉเจฐเฉเจฎเฉเจฅเฉเจ
เจธ เจเฉฑเจ เจเจชเจจ เจธเฉเจฐเจธ เจธเจฟเจธเจเจฎ เจจเจฟเจเจฐเจพเจจเฉ เจ
เจคเฉ เจเฉเจคเจพเจตเจจเฉ เจเฉเจฒเจเจฟเฉฑเจ เจนเฉ, เจนเจฟเฉฑเจธเจพ
เจเฉเจกเจพ เจธเจเฉเจฒเจฐ เจฆเฉ เจงเจพเจฐเจจเจพ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจเจฐเจฆเจพ เจนเฉ - เจเจน เจเฉเจกเจพ เจ เจคเฉ เจฌเจพเจนเจฐเฉ เจชเฉเจฐเจฃเจพเจฒเฉ เจฆเฉ เจตเจฟเจเจเจพเจฐ เจเฉฑเจ เจชเฉเจฒ เจฆเจพ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉเฅค เจธเจเฉเจฒเจฐ เจฒเจพเจเฉ เจเจฐเจจเจพ เจนเจฐเฉเจ เจเจพเจฐเจเฉเจ เจธเจฟเจธเจเจฎ เจฒเจ เจตเจฟเจธเจผเฉเจธเจผ เจนเฉ เจ เจคเฉ เจเจธ เจคเฉเจ เจกเฉเจเจพ เจเฉฑเจขเจฆเจพ เจนเฉเฅค เจเฉเจกเจพ เจซเจฟเจฐ เจเจนเจจเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจเฉเจฎเฉเจเจฟเจ เจธเจเฉเจฒเจฟเฉฐเจ เจจเฉเฉฐ เจเฉฐเจเจฐเฉเจฒ เจเจฐเจจ เจฒเจ เจเจฐเจฆเจพ เจนเฉเฅค
เจธเจเฉเจฒเจฐ เจเจ เจกเจพเจเจพ เจธเจฐเฉเจคเจพเจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจเจฐเจฆเฉ เจนเจจ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเจพเจซเจเจพ, เจฐเฉเจกเจฟเจธ, เจชเฉเจฐเฉเจฎเฉเจฅเฉเจ เจธเฅค เจญเจพเจต, KEDA เจจเฉเฉฐ เจฎเจพเจชเจฆเฉฐเจก เจตเจเฉเจ เจชเฉเจฐเฉเจฎเฉเจฅเฉเจ เจธ เจฎเฉเจเฉเจฐเจฟเจเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจเฉเจฌเจฐเจจเฉเจเจธ เจคเฉเจจเจพเจคเฉเจเจ เจจเฉเฉฐ เจเจชเจฃเฉ เจเจช เจธเจเฉเจฒ เจเจฐเจจ เจฒเจ เจตเจฐเจคเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค
เจเฉเจธเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ
เจเฉเจฒเฉฐเจ เจเฉเจธเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ HTTP เจฆเฉเจเจฐเจพ เจชเจนเฉเฉฐเจ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเฉ เจนเฉ เจ เจคเฉ เจฆเฉ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจซเฉฐเจเจธเจผเจจ เจเจฐเจฆเฉ เจนเฉ:
- เจเจชเจฒเฉเจเฉเจธเจผเจจ เจจเฉเฉฐ เจเฉฐเจธเจเจฐเฉเจฎเฉเจเจ เจเจฐเจจ เจ
เจคเฉ http_requests เจฎเฉเจเฉเจฐเจฟเจ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจจ เจฒเจ Prometheus Go เจเจฒเจพเจเฉฐเจ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเจพ เจนเฉ, เจเจฟเจธ เจตเจฟเฉฑเจ เจเฉฑเจ เจนเจฟเฉฑเจ เจเจฟเจฃเจคเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจ
เฉฐเจคเจฎ เจฌเจฟเฉฐเจฆเฉ เจเจฟเฉฑเจฅเฉ เจชเฉเจฐเฉเจฎเฉเจฅเฉเจ
เจธ เจฎเฉเจเฉเจฐเจฟเจเจธ เจเจชเจฒเจฌเจง เจนเจจ URI 'เจคเฉ เจธเจฅเจฟเจค เจนเฉ
/metrics
.var httpRequestsCounter = promauto.NewCounter(prometheus.CounterOpts{ Name: "http_requests", Help: "number of http requests", })
- เจเฉฑเจ เจฌเฉเจจเจคเฉ เจฆเฉ เจเจตเจพเจฌ เจตเจฟเฉฑเจ
GET
เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเฉเฉฐเจเฉ เจฆเฉ เจฎเฉเฉฑเจฒ เจจเฉเฉฐ เจตเจงเจพเจเจเจฆเฉ เจนเฉ (access_count
) Redis เจตเจฟเฉฑเจ. เจเจน เจเฉฑเจ HTTP เจนเฉเจเจกเจฒเจฐ เจฆเฉ เจนเจฟเฉฑเจธเฉ เจตเจเฉเจ เจเฉฐเจฎ เจเจฐเจจ เจฆเจพ เจเฉฑเจ เจเจธเจพเจจ เจคเจฐเฉเจเจพ เจนเฉ เจ เจคเฉ เจชเฉเจฐเฉเจฎเฉเจฅเฉเจ เจธ เจฎเฉเจเฉเจฐเจฟเจเจธ เจฆเฉ เจเจพเจเจ เจตเฉ เจเจฐเจฆเจพ เจนเฉเฅค เจฎเฉเจเฉเจฐเจฟเจ เจฎเฉเฉฑเจฒ เจฎเฉเฉฑเจฒ เจฆเฉ เจธเจฎเจพเจจ เจนเฉเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉaccess_count
Redis เจตเจฟเฉฑเจ.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
- Prometheus เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจคเจฌเจฆเฉเจฒ เจเจฐเจจ เจฒเจ;Deployment
- เจเฉเจฌเจฐเจจเฉเจเจธ เจเจฒเฉฑเจธเจเจฐ เจตเจฟเฉฑเจ เจชเฉเจฐเฉเจฎเฉเจฅเฉเจ เจธ เจจเฉเฉฐ เจคเจพเจเจจเจพเจค เจเจฐเจจ เจฒเจ;ClusterIP
- UI เจชเฉเจฐเฉเจฎเฉเจฅเฉเจ เจธ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจฒเจ เจธเฉเจตเจพ;ClusterRole
,ClusterRoleBinding
ะธServiceAccount
- เจเฉเจฌเจฐเจจเฉเจเจธ (เจเจเฉ-เจกเจฟเจธเจเจตเจฐเฉ) เจตเจฟเฉฑเจ เจธเฉเจตเจพเจตเจพเจ เจฆเฉ เจธเจตเฉ-เจเฉเจ เจฒเจเฅค
เจเฉฑเจฅเฉ
เจเฉเจกเจพ เจชเฉเจฐเฉเจฎเฉเจฅเฉเจ เจธ เจธเจเฉเจฒเจก เจเจฌเจเฉเจเจ
เจธเจเฉเจฒเจฐ เจเฉเจกเจพ เจ
เจคเฉ เจฌเจพเจนเจฐเฉ เจชเฉเจฐเจฃเจพเจฒเฉ เจฆเฉ เจตเจฟเจเจเจพเจฐ เจเฉฑเจ เจชเฉเจฒ เจตเจเฉเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ เจเจฟเจธ เจคเฉเจ เจฎเฉเจเฉเจฐเจฟเจเจธ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค 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
, เจเฉเจกเจพ เจนเจฐ เจชเฉฐเจฆเจฐเจพเจ เจธเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเฉเจฎเฉเจฅเฉเจ เจธ เจคเฉเจ เจเฉฑเจ เจเฉเจเฉ เจฆเฉ เจฌเฉเจจเจคเฉ เจเจฐเจฆเจพ เจนเฉเฅค เจเฉฑเจเฉ-เจเฉฑเจ เจเฉฑเจ เจ เจงเฉเจจ (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
, เจชเจฐ เจคเฉเจธเฉเจ เจเฉเจ เจนเฉเจฐ เจฒเฉ เจธเจเจฆเฉ เจนเฉเฅค เจเฉฑเจฅเฉ เจเฉฑเจ เจเจฒเฉฑเจธเจเจฐ เจจเฉเฉฐ เจเฉฐเจธเจเจพเจฒ เจเจฐเจจ เจฒเจ เจนเฉ
เจฎเฉเจ 'เจคเฉ เจจเจตเฉเจจเจคเจฎ เจธเฉฐเจธเจเจฐเจฃ เจธเจฅเจพเจชเจฟเจค เจเจฐเฉ:
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/
เจธเฉเฉฑเจ เจเจฐเฉ
เจฎเฉเจ 'เจคเฉ เจจเจตเฉเจจเจคเจฎ เจธเฉฐเจธเจเจฐเจฃ เจธเจฅเจพเจชเจฟเจค เจเจฐเฉ:
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
เจเฉเจกเจพ เจธเจฅเจพเจชเจจเจพ
เจคเฉเจธเฉเจ เจเฉเจกเจพ เจจเฉเฉฐ เจเจ เจคเจฐเฉเจเจฟเจเจ เจจเจพเจฒ เจคเฉเจจเจพเจค เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจเจน เจธเฉเจเฉเจฌเฉฑเจง เจนเจจ
kubectl apply -f
https://raw.githubusercontent.com/kedacore/keda/master/deploy/KedaScaleController.yaml
KEDA เจ
เจคเฉ เจเจธเจฆเฉ เจนเจฟเฉฑเจธเฉ เจจเจพเจฎ-เจธเจฅเจพเจจ เจตเจฟเฉฑเจ เจธเจฅเจพเจชเจฟเจค เจเฉเจคเฉ เจเจ เจนเจจ keda
. เจเจพเจเจ เจเจฐเจจ เจฒเจ เจนเฉเจเจฎ:
kubectl get pods -n keda
เจเฉเจกเจพ เจเจชเจฐเฉเจเจฐ เจฆเฉ เจธเจผเฉเจฐเฉ เจนเฉเจฃ เจ
เจคเฉ เจเจพเจฃ เจฆเฉ เจเจกเฉเจ เจเจฐเฉ Running State
. เจ
เจคเฉ เจเจธ เจคเฉเจ เจฌเจพเจ
เจฆ, เจเจพเจฐเฉ เจฐเฉฑเจเฉ.
เจนเฉเจฒเจฎ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจฐเฉเจกเจฟเจธ เจธเจฅเจพเจชเจค เจเจฐเจจเจพ
เจเฉเจเจฐ เจคเฉเจนเจพเจกเฉ เจเฉเจฒ เจนเฉเจฒเจฎ เจเฉฐเจธเจเจพเจฒ เจจเจนเฉเจ เจนเฉ, เจคเจพเจ เจเจธเจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเฉ
brew install kubernetes-helm
helm init --history-max 200
helm init
เจธเจฅเจพเจจเจ เจเจฎเจพเจเจก เจฒเจพเจเจจ เจเฉฐเจเจฐเจซเฉเจธ เจจเฉเฉฐ เจธเจผเฉเจฐเฉ เจเจฐเจฆเจพ เจนเฉ เจ
เจคเฉ เจเฉฐเจธเจเจพเจฒ เจตเฉ เจเจฐเจฆเจพ เจนเฉ Tiller
เจเฉเจฌเจฐเจจเฉเจเจธ เจเจฒเฉฑเจธเจเจฐ เจจเฉเฉฐเฅค
kubectl get pods -n kube-system | grep tiller
เจฐเจจเจฟเฉฐเจ เจธเจเฉเจ เจตเจฟเฉฑเจ เจฆเจพเจเจฒ เจนเฉเจฃ เจฒเจ เจเจฟเจฒเจฐ เจชเฉเจก เจฆเฉ เจเจกเฉเจ เจเจฐเฉเฅค
เจ เจจเฉเจตเจพเจฆเจ เจฆเจพ เจจเฉเจ: เจฒเฉเจเจ เจนเฉเจฒเจฎ@2 เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเจพ เจนเฉ, เจเจฟเจธ เจฒเจ เจเจฟเจฒเจฐ เจธเจฐเจตเจฐ เจเฉฐเจชเฉเจจเฉเจเจ เจจเฉเฉฐ เจเฉฐเจธเจเจพเจฒ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจนเฉเจฃ เจนเฉเจฒเจฎ@3 เจขเฉเจเจตเจพเจ เจนเฉ, เจเจธ เจจเฉเฉฐ เจธเจฐเจตเจฐ เจญเจพเจ เจฆเฉ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉเฅค
เจนเฉเจฒเจฎ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจ เจคเฉเจ เจฌเจพเจ เจฆ, Redis เจธเจผเฉเจฐเฉ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจเจฎเจพเจเจก เจเจพเจซเจผเฉ เจนเฉ:
helm install --name redis-server --set cluster.enabled=false --set
usePassword=false stable/redis
เจชเฉเจธเจผเจเฉ เจเจฐเฉ เจเจฟ Redis เจธเจซเจฒเจคเจพเจชเฉเจฐเจตเจ เจธเจผเฉเจฐเฉ เจนเฉ เจเจฟเจ เจนเฉ:
kubectl get pods/redis-server-master-0
Redis เจฆเฉ เจฐเจพเจ เจตเจฟเฉฑเจ เจเจพเจฃ เจฆเฉ เจเจกเฉเจ เจเจฐเฉ 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
Redis เจฆเฉ เจฐเจพเจ เจตเจฟเฉฑเจ เจฆเจพเจเจฒ เจนเฉเจฃ เจฆเฉ เจเจกเฉเจ เจเจฐเฉ 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
เจเฉเจกเจพ เจเจเฉเจธเจเฉเจฒเจฟเฉฐเจ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจคเฉเจจเจพเจค เจเฉเจคเจพ เจเจพ เจฐเจฟเจนเจพ เจนเฉ
เจฌเจฃเจพเจเจฃ เจฒเจ เจนเฉเจเจฎ ScaledObject
:
kubectl apply -f keda-prometheus-scaledobject.yaml
เจเฉเจกเจพ เจเจชเจฐเฉเจเจฐ เจฒเฉเจเจธ เจฆเฉ เจเจพเจเจ เจเจฐเฉ:
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 เจฌเฉเจจเจคเฉเจเจ เจญเฉเจเจฆเฉ เจนเฉเฅค เจคเฉเจธเฉเจ Prometheus เจฎเฉเจเฉเจฐเจฟเจเจธ เจฆเฉ เจจเจพเจฒ เจจเจพเจฒ Redis เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเจธเจฆเฉ เจชเฉเจธเจผเจเฉ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค
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
เจ เจธเจฒ เจฎเฉเจเฉเจฐเจฟเจ เจฆเฉ เจฎเฉเฉฑเจฒ เจจเฉเฉฐ เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจเจฐเฉ (PromQL เจชเฉเฉฑเจเจเจฟเฉฑเจ เจฆเฉเจเจฐเจพ เจตเจพเจชเจธ เจเฉเจคเจพ เจเจฟเจ):
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
เจธเจฟเฉฑเจเจพ
เจเฉเจกเจพ เจคเฉเจนเจพเจจเฉเฉฐ เจฌเจพเจนเจฐเฉ เจฎเฉเจเฉเจฐเจฟเจเจธ เจฆเฉ เจกเฉเจเจพ เจฆเฉ เจเจงเจพเจฐ 'เจคเฉ เจเจชเจฃเฉ เจเฉเจฌเจฐเจจเฉเจเจธ เจคเฉเจจเจพเจคเฉเจเจ (เจเจผเฉเจฐเฉ เจคเฉเจ/เจธเจฟเจซเจผเจฐ เจคเฉฑเจ) เจจเฉเฉฐ เจธเจตเฉเจเจฒเจฟเจค เจคเฉเจฐ 'เจคเฉ เจธเจเฉเจฒ เจเจฐเจจ เจฆเฉ เจเจเจพเจเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจชเฉเจฐเฉเจฎเฉเจฅเฉเจ เจธ เจฎเฉเจเฉเจฐเจฟเจเจธ เจฆเฉ เจเจงเจพเจฐ 'เจคเฉ, เจฐเฉเจกเจฟเจธ เจตเจฟเฉฑเจ เจเจคเจพเจฐ เจฆเฉ เจฒเฉฐเจฌเจพเจ, เจเจพเจซเจเจพ เจตเจฟเจธเจผเฉ เจตเจฟเฉฑเจ เจเจชเจคเจเจพเจฐ เจฒเฉเจเฉเจเจธเฉเฅค
เจเฉเจกเจพ เจเฉฑเจ เจฌเจพเจนเจฐเฉ เจธเจฐเฉเจค เจจเจพเจฒ เจเจเฉเจเฉเจฐเจฟเจค เจนเฉเฉฐเจฆเจพ เจนเฉ เจ เจคเฉ เจฎเฉเจเฉเจฐเจฟเจเจธ เจธเจฐเจตเจฐ เจฆเฉเจเจฐเจพ เจนเจฐเฉเจเจผเฉเจเจเจฒ เจชเฉเจก เจเจเฉเจธเจเฉเจฒเจฐ เจจเฉเฉฐ เจเจธเจฆเฉ เจฎเฉเจเฉเจฐเจฟเจเจธ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเจพ เจนเฉเฅค
เจเจพเจฎเจฏเจพเจฌเฉเจเจ!
เจนเฉเจฐ เจเฉ เจชเฉเฉเจนเจจเจพ เจนเฉ:
เจเจคเจชเจพเจฆเจจ เจฆเฉ เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจ เจเฉฐเจเฉเจจเจฐเจพเจ เจ เจคเฉ เจเฉเจฌเจฐเจจเฉเจเจธ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฒเจ เจตเจงเฉเจ เจ เจญเจฟเจเจธ เจ เจคเฉ เจตเจงเฉเจ เจ เจญเจฟเจเจธ .เจเฉเจฌเจฐเจจเฉเจเจธ เจฒเจ 90+ เจเจชเจฏเฉเจเฉ เจเฉเจฒ: เจคเฉเจจเจพเจคเฉ, เจชเฉเจฐเจฌเฉฐเจงเจจ, เจจเจฟเจเจฐเจพเจจเฉ, เจธเฉเจฐเฉฑเจเจฟเจ เจ เจคเฉ เจนเฉเจฐ เจฌเจนเฉเจค เจเฉเจ .เจเฉเจฒเฉเจเฉเจฐเจพเจฎ เจตเจฟเฉฑเจ เจเฉเจฌเจฐเจจเฉเจเจธ เจฆเฉ เจเจฒเฉ-เจฆเฉเจเจฒเฉ เจธเจพเจกเจพ เจเฉเจจเจฒ .
เจธเจฐเฉเจค: www.habr.com