<p>Is there any way to scale Kubernetes nodes based on network utilization and not based on memory or CPU? </p>

<p>Let's say for example you are sending thousands of requests to a couple of nodes behind a load balancer. The CPU is not struggling or the memory, but because there are thousands of requests per second you would need additional nodes to serve this. How can you do this in Google Cloud Kubernetes? </p>

<p>I have been researching around but I can't seem to find any references to this type of scaling, and I am guessing I am not the only one to come across this problem. So I am wondering if any of you knows of any best practice solutions. </p>

<p>I guess the ideal solution would be to have one pod per node receiving requests and creating more nodes based on more requests and scale up or down based on this. </p>

<p>This is possible and you have to use <strong>Prometheus Adaptor</strong> to configure custom rules to generate <strong>Custom Metrics</strong>.</p>
<p>This <a href="https://github.com/DirectXMan12/k8s-prometheus-adapter/blob/master/docs/walkthrough.md" rel="nofollow noreferrer">link</a> has more details on how to setup prometheus, install adaptor and apply configuration with custom metrics..</p>
