I've read some pages about monitoring k8s, and I found kubernetes_sd_config (within prometheus), metrics-server (took the place of heapster) and kube-state-metrics. All of them could provides metrics, but what's the difference?
- Does kubernetes_sd_config (within prometheus) provide all the data those I can get using metrics-server and kube-state-metrics?
- Is kubernetes_sd_config just enough for monitoring?
- Is metrics-server just for providing data (less than kubernetes_sd_config) to the internal components(such as hpa controller)?
- Is kube-state-metrics just for the objects (pod, deployment...) in k8s?
- what is their own target respectively?