20180503_talk_1
20180503_talk_1
Autoscaling with Prometheus
Type of scales
Vertical
* Increase the resource liit when necessary
Horizontal
* Increase the number of instances
History in K8s
k8s 1.1
Used to rely on Heapster
* Heapster collects metrics and write to TSDB
* Heapster was compiled to the kubelet
* Added manifests Kind: HorizontalPodAutoscaler
....
spec:
scaleRef:
...
minReplicas:
maxReplicas:
BUT
* Only based on CPU % resource
* Loosely specified APIs
* Unmaintained vendor implem
* Push only TSDB
New Resource & Custom Metrics APis
Prometheus intro
HorizontalPodAutoscaler (v2Bbta1)
Resource Metrics APis
...
spec:
scaleRef:
...
minReplicas:
maxReplicas:
metrics:
- type: Pods
pods:
metricName: http_requets
targetAverageValue: 200
Prom query
sum(rate(http_requests_total{namespace="..."}[5min]))
Custum Metrics APis
* Need a k8s-prometheus-adapter + Prometheus
=> k8s 1.10
Future
Heapster deprecation
* Planned for 1.13
VerticalPod
* AutoSizing in alpha for Prometheus
CRD AutoScale
* Planned for 1.11
Stable metrics !
Cluster AutoScaler
* Try to not be a separate thing
Standardization of Monitoring
* With OpenMetrics project