Create process to periodically review nodepool instance families in kubernetes

In our current Kubernetes setup, workloads are scheduled onto node pools without regular evaluation of whether the underlying instance families (e.g., N2, N2D, C3, etc.) are optimal for the type of workload being run. Granted we do want to optimize resource consumption by sharing nodepools where possible, there are often times where particular workloads might benefit from a different CPU family for example.

To date I don't believe we have a regular process around reviewing the nodepools in use and whether or not they are the best fit for given workloads.

This can lead to workloads not getting the most optimal performance, but also waste and/or consume excessive resources. Especially when we have rather disparate nodepool sizes that might allow workloads to, for example, be scheduled and consume all the CPU, while wasting large portions of available memory.