How to get kubernetes metrics and node, pod, cluster details via API's

Hi All,

I am running 3 nodes kubernetes cluster in google and below is the version I have used,

Client Version: v1.18.4
Server Version: v1.14.10-gke.36

Now I want to monitor the kubernetes environment and is the below details want to capture from k8s,

  1. Cluster informations.
  2. Nodes info (number of nodes running?)
  3. list of pods/containers
  4. list of deployments
  5. Get all statefulsets
  6. CPU / Memory metrics of pods
  7. Storage metrics
  8. list of cronjob
  9. list of services.
  10. storage class
  11. persistent volume

Please share your thoughts and references how can I capture data from kubernetes using API’s.

Thanks,
Ganeshbabu R