I have an azure Kubernetes cluster which include 2 types of nodepools inside it. Let's assume vm1 has 2vcpu & 8GB ram and vm2 has 8vcpu & 32GB ram. Also, I have fully functional set of applications which runs on those two nodepools by using nodeSelector/agentpool (some are defined to run on nodepool 1 and other on nodepool 2). Both the nodepools are set up for vm level autoscale as minimun nodepool as 1 and it can extend upto 3. My applications are working perfectly with horizontal pod autoscaling and vm (nodepool) level scalling with current setup. Now I want to set up new cluster include two namespaces with ResourceQuota defined. My problem is let's say we defined 2 namespaces as QA and Dev and assign some ResourceQuota as below for example,
kind: ResourceQuota
metadata:
name: namespace-quota-allocation
namespace: myNamespace
spec:
hard:
requests.cpu: "1"
requests.memory: 2Gi
limits.cpu: "2"
limits.memory: 2.5Gi
Then how the VM level scale going to happen and how can i test that? can someone explain please.
My current architecture is like this,
And I want something like this with vm level scaling enabled,