
各アプリケーションのデプロイメントに割り当てる最小および最大リソース量を把握するにはどうすればよいでしょうか? クラスターをセットアップしていますが、リソースをセットアップしておらず、自由に実行させています。
ピーク時の負荷を把握してそれに対処するためにを使用できると思いますが、それでも上部には 6% や 10% などと表示されますが、や のtop command
ようなものを生成するためにそれらをどのように計算すればよいかわかりません。使用状況に基づいて最大値と最小値を決定する方法/式はありますか?0.5 cpu
100 MB
top command
2 つの t3.medium ノードを実行しており、次のポッドがあります。httpd and tomcat in namespace1
必要な最小リソースに関するガイドはありますか? または、top または他の方法に基づいて計算する必要がありますか?mysql in namepsace2
jenkins and gitlab in namespace3
答え1
ポッドに割り当てられるリソースは、アプリケーションの使用状況によって異なります。たとえば、jenkins
helmを使用してインストールする場合は、次のように指定します。リソース要求と制限:
resources:
requests:
cpu: "50m"
memory: "256Mi"
limits:
cpu: "2000m"
memory: "4096Mi"
しかし、リソース不足によるポッドの終了を回避するには、Horizontal Pod Autoscaler
リソースメトリックを使用して、資源消費(または他のカスタムメトリック(リクエストなど)。HPAではmetrics-server
クラスター内で実行されます。
簡単に作成できますkubectl autoscale
、 例えば:
kubectl autoscale deployment <deployment-name> --cpu-percent=50 --min=1 --max=10
--min
は実行されるレプリカの最小数であり、は負荷--max
が増加した場合作成されるポッドのレプリカの最大数です。