クラウドとコンテナの基礎

resources:
  requests:
    cpu: 500m
  limits:
    cpu: 1000m

Podのコンテナに上の設定をしたDeploymentで、Podが4つ動いており、どのPodもCPUを400m(0.4コア)ずつ使っている。HorizontalPodAutoscalerのCPU使用率の目標を60%とし、必要なPodの数は ⌈現在の数 × 現在の使用率 ÷ 目標の使用率⌉ で求めるものとする。必要なPodの数として、正しいものはどれか。

  1. A3個
  2. B5個
  3. C6個
答えと解説を見る

正解:C. 6個

HorizontalPodAutoscalerが使うCPU使用率は、limits ではなく requests に対する割合です。各Podは 400m ÷ 500m = 80% を使っているので、必要な数は 4 × 80 ÷ 60 = 5.33… を切り上げて6個です。6個に増えると、全体の使用量 400m × 4 = 1,600m が分け合われて1つあたり約267m、使用率は約53%になり、目標を下回ります。requests を設定していないと、CPU使用率を基準にした自動スケーリングは働きません。

  • A. limits(1000m)に対する割合の40%で計算した値(4 × 40 ÷ 60 = 2.67… の切り上げ)です。使用率は requests を基準にします。
  • B. 5.33… を切り捨てた値です。5個では1つあたり 1,600m ÷ 5 = 320m、使用率64%で、目標の60%を超えます。
  • C. 正しい。使用率80%から 4 × 80 ÷ 60 = 5.33… を切り上げて6個です。
この分野を解く 分野ページへ

クラウドとコンテナの基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

クラウドとコンテナの基礎のほかの問題

  1. Kubernetesで、コンテナに設定する資源の requests と limits の説明として、正しいものはどれか。
  2. 割り当て可能な資源がCPU 4コア、メモリ 8 GiB のノードがある。各Podのコンテナには、requests としてCPU 500m・メモリ 1.5 GiB、limits としてCPU 1コア・メモリ 2 GiB を設定した。ほかのPodやシステムの予約はないものとする。このノードに置けるPodの最大の数として、正しいものはどれか。
  3. クラウドのマネージドなデータベースサービス(事業者がデータベースのソフトウェアを運用するサービス)を使う。責任共有モデルの考え方で、一般に利用者の責任として残るものはどれか。
  4. クラウドで、同じリージョンの中の複数のアベイラビリティゾーンに、Webサーバとデータベースの複製を分けて置く主な目的として、適切なものはどれか。
  5. サーバーレスの関数(FaaS)で、しばらく呼び出されていなかった関数の最初の呼び出しだけ、応答が数百ミリ秒から数秒遅くなることがある。この現象の説明として、正しいものはどれか。