<p>I have EKS cluster on AWS with istio installed, the first time i installed istio, i used one m3.large EC2 instance and i got some istio services pending, ingress-gateway pods status was showing pending .</p>

<p>I described the pod and i saw error of insufficient CPU.... I increased the EC2 instance to m5.large and every pods started running..</p>

<p>We are actually on staging and this is not live yet, we are spending almost  times 3 of our initial cost.</p>

<p>Can someone please recommend an EC2 instance that can conveniently get istio up and running, lets take a look at the bookinfo sample application.</p>

<pre><code>Type     Reason            Age                   From               Message
  ----     ------            ----                  ----               -------
  Warning  FailedScheduling  2m33s (x60 over 12m)  default-scheduler  0/1 nodes are available: 1 Insufficient cpu.
</code></pre>

<p>It seems provisioning 2 m5.large instances worked perfectly, but this is incurring more cost.. Each m5.large cost 0.107 USD / hours and that is 77 USD / month .</p>

<p>Having two m5.large instance will encure more cost just to run 15 pods (5 custom pods)</p>

<pre><code>Non-terminated Pods:         (15 in total)
</code></pre>

Adedapo Ajuwon
<blockquote>
  <p>The deployment is made up of a different number of components. Some of
  them, as pilot, have a large impact in terms of memory and CPU, so it
  is recommended to have around 8GB of memory and 4 CPUs free in your
  cluster. Obviously, all components have requested resources defined,
  so if you don’t have enough capacity you will see pods not starting.</p>
</blockquote>

<p>Where you are using <strong>M5-large</strong> which spec is</p>

<pre><code>m5.large    2 CPU   8 Memory    EBS-Only    

</code></pre>

<p>so in the base of above requirement, you need</p>

<pre><code>m5.xlarge   4 CPU   16 Memory   EBS-Only

</code></pre>

<p>If your application is need high computing then you may try with compute optmized instance.</p>

<blockquote>
  <p><strong>Compute optimized instances</strong> are ideal for compute-bound applications
  that benefit from high-performance processors. They are well suited
  for the following applications:</p>
  
  <p>Batch processing workloads</p>
  
  <p>Media transcoding</p>
  
  <p>High-performance web servers</p>
  
  <p>High-performance computing (HPC)</p>
  
  <p>Scientific modeling</p>
  
  <p>Dedicated gaming servers and ad serving engines</p>
  
  <p>Machine learning inference and other compute-intensive applications</p>
</blockquote>

<p><a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/compute-optimized-instances.html" rel="nofollow noreferrer">compute-optimized-instances</a></p>

<p><a href="https://docs.giantswarm.io/guides/deploying-istio/" rel="nofollow noreferrer">deploying-istio on AWS and azure recommendation</a></p>

<p>might help you</p>

<p><a href="https://aws.amazon.com/blogs/opensource/getting-started-istio-eks/" rel="nofollow noreferrer">https://aws.amazon.com/blogs/opensource/getting-started-istio-eks/</a></p>
