Fargateのリクエスト量の組み合わせ
期待していたこと
以下のようなdeploymentマニフェストを書いて、0.5vCPU, 4GB
がリクエストされることを期待していた。
〜〜〜
# .spec.template
resources:
limits:
cpu: 500m
memory: 4000Mi
requests:
cpu: 500m
memory: 4000Mi
〜〜〜
実際のリクエスト量
スケジュールされたPodをkubectl describe pod
で見てみると.
以下のように一つ上のvCPUがリクエストされていた。
Annotations: CapacityProvisioned: 1vCPU 5GB
なぜ起こった?
Fargateは上で明示的に指定したリソースリクエストに加え、kubernetesのコンポーネント(kubelet, kube_proxyなど)用に256MBを確保します。
そのため、0.5vCPU, 5GB
を確保しようとしますが、この組み合わせはないため1vCPU, 5GB
を予約します。
なので、256MBを踏まえて以下のように指定することで解決しました。
resources:
limits:
cpu: 500m
memory: 3500Mi