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
